[ https://issues.apache.org/jira/browse/HBASE-15911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16370660#comment-16370660 ]
Ben Lau commented on HBASE-15911: --------------------------------- Attached a patch for master. Let me know what you think guys. The master patch will be different for the patch I will submit for 1.X later because in master, splits/merges are now procedure transactions, which means we probably should use ProcedureSyncWait to block until the quota manager is available before splitting/merging. In contrast in 1.X, split/merge are still second-class actions within the AssignmentManager. So I think what makes sense is in master branch, for splits against an uninitialized hmaster to wait until the hmaster is ready, before being processed. Whereas in 1.X, splits against an uninitialized hmaster that has quota support enabled should instead throw a PleaseHoldException to the regionserver that reported the split. Let me know if that sounds reasonable. > NPE in AssignmentManager.onRegionTransition after Master restart > ---------------------------------------------------------------- > > Key: HBASE-15911 > URL: https://issues.apache.org/jira/browse/HBASE-15911 > Project: HBase > Issue Type: Bug > Components: master, Region Assignment > Affects Versions: 1.3.0 > Reporter: Mikhail Antonov > Assignee: Mikhail Antonov > Priority: Major > Attachments: HBASE-15911-master.patch > > > 16/05/27 17:49:18 ERROR ipc.RpcServer: Unexpected throwable object > java.lang.NullPointerException > at > org.apache.hadoop.hbase.master.AssignmentManager.onRegionTransition(AssignmentManager.java:4364) > at > org.apache.hadoop.hbase.master.MasterRpcServices.reportRegionStateTransition(MasterRpcServices.java:1421) > at > org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:8623) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2239) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:116) > at > org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:137) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:112) > at java.lang.Thread.run(Thread.java:745) > I'm pretty sure I've seen it before and more than once, but never got to dig > in. -- This message was sent by Atlassian JIRA (v7.6.3#76005)