]
Galder Zamarreño updated ISPN-9173:
-----------------------------------
Fix Version/s: 9.4.0.Final
(was: 9.3.0.Final)
Availability mode should be updated atomically with the actual
members
----------------------------------------------------------------------
Key: ISPN-9173
URL:
https://issues.jboss.org/browse/ISPN-9173
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.3.0.Beta1
Reporter: Dan Berindei
Assignee: Dan Berindei
Labels: testsuite_stability
Fix For: 9.4.0.Final
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()}}.