[infinispan-issues] [JBoss JIRA] Resolved: (ISPN-925) race condition in DistributionManagerImpl
Mircea Markus (JIRA)
jira-events at lists.jboss.org
Tue Feb 15 12:41:13 EST 2011
[ https://issues.jboss.org/browse/ISPN-925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mircea Markus resolved ISPN-925.
--------------------------------
Resolution: Done
> race condition in DistributionManagerImpl
> -----------------------------------------
>
> Key: ISPN-925
> URL: https://issues.jboss.org/browse/ISPN-925
> Project: Infinispan
> Issue Type: Bug
> Components: Core API, State transfer
> Affects Versions: 4.2.0.Final
> Reporter: Mircea Markus
> Assignee: Mircea Markus
> Priority: Critical
> Fix For: 4.2.1.CR2, 4.2.1.Final, 5.0.0.ALPHA3, 5.0.0.Final
>
>
> This is causing StateTransferLargeObjectTest to fail intermittently (about 1/500 runs).
> Nasty race condition in DistributionManagerImpl
> 1. if a node leaves then the new consistent hash is first set ( consistentHash = ConsistentHashHelper.removeAddress(consistentHash, leaver, configuration, topologyInfo);)
> 2. then an InvertedLeaveTask is triggered if needed
> 3 this would add the leaver to DMI.levers and set the rehashInProgress flag of DMImpl to true (RehashTask.call)
> Now if a get call happens between 1 and 3 then then the the system would not go remotley. The "go remotly if there's a rehash going on" condition happens in DistInterceptor.visitGetKeyValueCommand:
> boolean isRehashInProgress = !dm.isJoinComplete() || dm.isRehashInProgress();
> if the isRehashInProgress is set to true then we go remotly even if the key is mapped to the local node. Nasty!
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list