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

Reply via email to