[
https://issues.apache.org/jira/browse/HBASE-14291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Elliott Clark updated HBASE-14291:
----------------------------------
Fix Version/s: 1.2.0
> NPE On StochasticLoadBalancer Balance Involving RS With No Regions
> ------------------------------------------------------------------
>
> Key: HBASE-14291
> URL: https://issues.apache.org/jira/browse/HBASE-14291
> Project: HBase
> Issue Type: Bug
> Components: Balancer
> Affects Versions: 2.0.0
> Environment: Pseudo-distributed (2 local RegionServers), Hadoop
> 2.5.1, Java 1.7.0_71
> Reporter: Matt Warhaftig
> Assignee: Ted Yu
> Priority: Minor
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: 14291-v1.txt, hbase-mwarhaftig-master-Matts-MBP.log
>
>
> 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:
> {noformat}
> 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
> {noformat}
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)