You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2013/01/14 05:56:12 UTC

[jira] [Created] (HBASE-7550) Synchronization problem in AssignmentManager

Lars Hofhansl created HBASE-7550:
------------------------------------

             Summary: Synchronization problem in AssignmentManager
                 Key: HBASE-7550
                 URL: https://issues.apache.org/jira/browse/HBASE-7550
             Project: HBase
          Issue Type: Bug
            Reporter: Lars Hofhansl
            Assignee: Lars Hofhansl
             Fix For: 0.94.5


While running TestSplitTransactionOnCluster#testShouldClearRITWhenNodeFoundInSplittingState in a loop I encountered this error condition:
{code}
java.util.NoSuchElementException
        at java.util.concurrent.ConcurrentSkipListMap$Iter.advance(ConcurrentSkipListMap.java:2224)
        at java.util.concurrent.ConcurrentSkipListMap$EntryIterator.next(ConcurrentSkipListMap.java:2270)
        at java.util.concurrent.ConcurrentSkipListMap$EntryIterator.next(ConcurrentSkipListMap.java:2266)
        at java.util.TreeMap.buildFromSorted(TreeMap.java:2394)
        at java.util.TreeMap.buildFromSorted(TreeMap.java:2344)
        at java.util.TreeMap.&lt;init&gt;(TreeMap.java:195)
        at org.apache.hadoop.hbase.master.AssignmentManager.getRegionsInTransition(AssignmentManager.java:2843)
        at org.apache.hadoop.hbase.regionserver.TestSplitTransactionOnCluster.testShouldClearRITWhenNodeFoundInSplittingState(TestSplitTransactionOnCluster.java:637)
{code}

This can only occur when the map being copied into the TreeMap is modified concurrently.
While looking at the (0.94) code I noticed that synchronization is indeed missing from the nodeDeleted hook.


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