Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10070 HBase read high-availability using timeline-consistent region replicas
  3. HBASE-10704

BaseLoadBalancer#roundRobinAssignment() may add same region to assignment plan multiple times

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.99.0, hbase-10070
    • None
    • None
    • Reviewed

    Description

      I noticed the following exception in some unit tests:

      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)
      

      Here is related code:

                Lock lock = locks.remove(encodedName);
                lock.unlock();
      

      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.

      Attachments

        1. hbase-10704_v3.patch
          1 kB
          Enis Soztutar
        2. 10704-v2.txt
          1 kB
          Ted Yu
        3. 10704-v1.txt
          2 kB
          Ted Yu
        4. 0018-HBASE-10704-BaseLoadBalancer-roundRobinAssignment-ma.patch
          2 kB
          Enis Soztutar

        Activity

          People

            yuzhihong@gmail.com Ted Yu
            yuzhihong@gmail.com Ted Yu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: