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