[
https://issues.apache.org/jira/browse/HBASE-10704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13926001#comment-13926001
]
Ted Yu commented on HBASE-10704:
--------------------------------
I discovered the NullPointerException when I was debugging a unit test where
table is created with:
{code}
hdt.setRegionReplication(3);
{code}
I traced the duplicate regions to BaseLoadBalancer#roundRobinAssignment()
> BaseLoadBalancer#roundRobinAssignment() may add same region to assignment
> plan multiple times
> ---------------------------------------------------------------------------------------------
>
> Key: HBASE-10704
> URL: https://issues.apache.org/jira/browse/HBASE-10704
> Project: HBase
> Issue Type: Sub-task
> Reporter: Ted Yu
> Assignee: Ted Yu
> Attachments: 10704-v1.txt
>
>
> I noticed the following exception in some unit tests:
> {code}
> 2014-03-09 03:38:13,523 WARN
> [s111-s2.cs1cloud.internal,57347,1394350359795-GeneralBulkAssigner-2]
> master.GeneralBulkAssigner$SingleServerBulkAssigner(232): Failed bulking
> assigning 18 region(s) to s111.internal,46094,1394350360588, and continue to
> bulk assign others
> java.lang.NullPointerException
> at
> org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:1505)
> at
> org.apache.hadoop.hbase.master.GeneralBulkAssigner$SingleServerBulkAssigner.run(GeneralBulkAssigner.java:228)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
> {code}
> Here is related code:
> {code}
> Lock lock = locks.remove(encodedName);
> lock.unlock();
> {code}
> lock was null due to BaseLoadBalancer#roundRobinAssignment() adding same
> region to assignment plan multiple times.
> This happens in computing lastFewRegions where
> cluster.wouldLowerAvailability() returns true.
--
This message was sent by Atlassian JIRA
(v6.2#6252)