Presently, when an instance is disabled from the CLB, we generate new expat
lists. This is necessary because sessions will migrate, and the find vs. create
needs to know about the sessions (plus replication is dependent on the expat list).
If the disabled instance is later stopped, we don't re-generate the expat list;
we don't consider that to be a shape change since the instance wasn't involved
in the current traffic anyway.
That leads to the following error:
Session A is started on instance 1
Instance 1 is disabled
Expat lists are generated; since instance 1 is alive, it will tell everyone it
has the active copy of session A
Instance 1 is stopped
Instance 2 needs session A, and will try to load it from instance 1 (from the
There are two potential ways to solve this: either the expat list in the
scenario above should not include the clb-disabled instance, or a second expat
list must be generated when the instance is stopped.
We will pursue the first fix.