Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-15933

NullPointerException may be thrown from SimpleRegionNormalizer#getRegionSize()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.4.0, 2.0.0
    • None
    • None
    • Reviewed

    Description

      The following was observed in master log:

      2016-05-26 00:09:54,716 INFO  [AM.ZK.Worker-pool2-t6917] master.RegionStates: Transition {7669ce6bec40dd44bb2388ff4d610b7b state=CLOSED, ts=1464221394716, server=x.net,60020,1463615066136} to {7669ce6bec40dd44bb2388ff4d610b7b state=OFFLINE, ts=1464221394716, server=x.net,60020,1463615066136}
      2016-05-26 00:09:54,717 ERROR [y.net,60000,1463614725717_ChoreService_1] normalizer.RegionNormalizerChore: Caught error
      java.lang.NullPointerException
        at org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizer.getRegionSize(SimpleRegionNormalizer.java:174)
        at org.apache.hadoop.hbase.master.normalizer.SimpleRegionNormalizer.computePlanForTable(SimpleRegionNormalizer.java:99)
        at org.apache.hadoop.hbase.master.HMaster.normalizeRegions(HMaster.java:1406)
        at org.apache.hadoop.hbase.master.normalizer.RegionNormalizerChore.chore(RegionNormalizerChore.java:49)
        at org.apache.hadoop.hbase.ScheduledChore.run(ScheduledChore.java:185)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      

      DEBUG was not turned on.
      Looks like race condition where the Map returned by getRegionsLoad() no longer contained certain region.

      Attachments

        1. 15933.v1.txt
          1 kB
          Ted Yu
        2. 15933.addendum
          1 kB
          Ted Yu

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: