Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-2872

CH_UPDATE from new coord may crash rebalance from old coord

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      This happened probably the first time, but the issue is here:

      When old coordinator leaves the cluster, it sends a REBALANCE_START as a goodbye. This will trigger rebalance process on some of the nodes. As we do sync GET_TRANSACTIONS, processing this command may take a while.

      However, new coordinator will send CH_UPDATE, which will change the current topologyId to a higher id. This command is processed in LocalTopologyManagerImpl synchronized on cacheStatus, but rebalance command has already left its synchronized block when it executes handler.rebalance.

      Then, as the old REBALANCE_START tries to call notifyTransactionDataReceived in its finally block, it finds out that the topologyId has increased and throws an exception. But the rebalance is left in inconsistent state (activeTopologyUpdates are non-zero, potentionally waitForState true, DataRehash listener notification not called...).

              dberinde@redhat.com Dan Berindei (Inactive)
              rvansa1@redhat.com Radim Vansa (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: