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

NPE On StochasticLoadBalancer Balance Involving RS With No Regions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.0
    • 1.2.0, 1.3.0, 2.0.0
    • Balancer
    • None
    • Pseudo-distributed (2 local RegionServers), Hadoop 2.5.1, Java 1.7.0_71

    • Reviewed

    Description

      When StochasticLoadBalancer attempts to balance a local RS with multiple regions with another local RS that had no regions the HBase shell call of 'balancer' gets the following NPE:

      ERROR: java.io.IOException
      	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175)
      	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
      	at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.NullPointerException
      	at org.apache.hadoop.hbase.master.balancer.BaseLoadBalancer$Cluster.getLeastLoadedTopServerForRegion(BaseLoadBalancer.java:863)
      	at org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer$LocalityBasedCandidateGenerator.generate(StochasticLoadBalancer.java:724)
      	at org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.balanceCluster(StochasticLoadBalancer.java:325)
      	at org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer.balanceCluster(StochasticLoadBalancer.java:263)
      	at org.apache.hadoop.hbase.master.HMaster.balance(HMaster.java:1264)
      	at org.apache.hadoop.hbase.master.MasterRpcServices.balance(MasterRpcServices.java:413)
      	at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:52450)
      	at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133)
      	... 4 more
      

      Issue only occurs when one of the RSs has no regions before balancing. Also, unsure if distributed RSs would also have same issue. Attached 'hbase-mwarhaftig-master-Matts-MBP.log' is master's log of the error occurring.

      SimpleLoadBalancer rebalances correctly when used in the same situation.

      Attachments

        1. 14291-v1.txt
          1 kB
          Ted Yu
        2. hbase-mwarhaftig-master-Matts-MBP.log
          143 kB
          Matt Warhaftig

        Issue Links

          Activity

            People

              yuzhihong@gmail.com Ted Yu
              mwarhaftig Matt Warhaftig
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: