[
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)