[infinispan-issues] [JBoss JIRA] Created: (ISPN-925) race condition in DistributionManagerImpl

Mircea Markus (JIRA) jira-events at lists.jboss.org
Thu Feb 10 05:49:46 EST 2011


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.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