Details
-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
9.3.0.Beta1
Description
This is a follow-up on ISPN-7682, which asks for the topology itself to be updated atomically.
LocalTopologyManagerImpl has additional logic to update the availability mode first when the cache becomes degraded and to update it last when the cache becomes available, which means any delay between the updates cannot cause data inconsistencies.
But that logic doesn't really belong in LocalTopologyManagerImpl, and it's easy to forget it's there (and in fact we had a bug there related to the new rebalance phases).
In addition, tests that want to check the cache behaviour in degraded mode and wait only for the availability mode change will fail if there's a big delay between the availability mode change. I actually hit this while testing my ISPN-8731/ISPN-7682 changes, and I had added a random delay in StateConsumerImpl before distributionManager.setCacheTopology().