[infinispan-issues] [JBoss JIRA] (ISPN-4154) Cancelled segment transfer causes future entry transfer to be ignored
Radim Vansa (JIRA)
issues at jboss.org
Tue Mar 25 09:25:13 EDT 2014
[ https://issues.jboss.org/browse/ISPN-4154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12956011#comment-12956011 ]
Radim Vansa commented on ISPN-4154:
-----------------------------------
>From IRC with [~dan.berindei]:
(02:17:26 PM) dberindei: rvansa: I think there may be a problem with StateConsumerImpl.onTopologyUpdate(), it sets waitingForState to false too soon to avoid sending an unnecessary REBALANCE_CONFIRM to the coordinator, but it also prevents the call to stopApplyingState()
(02:18:08 PM) dberindei: rvansa: normally that's not a problem because the state transfer tasks have already finished, and the last task to finish called stopApplyingState()
(02:18:20 PM) dberindei: rvansa: but when the coordinator leaves it's a bit different
> 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
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list