-
Enhancement
-
Resolution: Done
-
Major
-
5.2.0.Final
-
None
We currently increment the topology id only when we "rebalance" the consistent hash (i.e. we add new owners). This allows us to to do some optimizations after a leave, like not forwarding commands (because there are no new owners).
Unfortunately, it is not very intuitive, because it doesn't match how JGroups works, so it can cause bugs like ISPN-2417.
Additionally, it turns out there are many places where we care that a node left, so the code is more complex to handle this (e.g. TransactionTable.useStrictTopologyIdComparison()), or it is more slow for the common case when there is no leaver (e.g. LocalTransaction.getCommitNodes()).
- relates to
-
ISPN-2417 Topology check in LocalTransaction.getCommitNodes() is wrong
-
- Closed
-
The pull request doesn't address the possible optimizations/clarifications that can be made now that all ConsistentHash updates increment the topology id. Perhaps we should keep this issue open.