]
Dan Berindei updated ISPN-4154:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
Cancelled segment transfer causes future entry transfer to be
ignored
---------------------------------------------------------------------
Key: ISPN-4154
URL:
https://issues.jboss.org/browse/ISPN-4154
Project: Infinispan
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: State Transfer
Affects Versions: 7.0.0.Alpha1
Reporter: Radim Vansa
Assignee: Dan Berindei
Priority: Critical
Distributed transactional cache.
1) Coordinator is gracefully leaving the cluster, sends a REBALANCE_START with topologyId
14, ST begins.
2) Node receives chunk from segment X, writes entry K=V to the container.
3) New coordinator jumps in with CH_UPDATE topology 16
4) Node receives CANCEL_STATE_TRANSFER and cancels transfer of segment X, invalidating K.
In CommitManager, this operation is tracked and DiscardPolicy is set to
DISCARD_STATE_TRANSFER for key K.
5) New coordinator starts rebalance with topology 17
6) Node starts new ST for segment X
7) Node receives the X: K=V, but in CommitManager it finds out that the policy is set to
DISCARD_STATE_TRANSFER and ignores this update.
Result: entry value is lost on some node.