[ 
https://issues.apache.org/jira/browse/HBASE-16520?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15449595#comment-15449595
 ] 

Matteo Bertozzi commented on HBASE-16520:
-----------------------------------------

having an owner at least from non-testing procedure is a "must" for 
debuggability. every procedure should set it.

what is your suggestion to avoid the NPE? just returning false if there is no 
user or throwing another exception like "the procedure has no owner"? not sure 
which one I like more. at the end aside from testing where we can skip the 
owner we will like to always have it.. so having an assert or an exception here 
does not make much difference in term of result. 

> TableBackupProcedure ctor should set procedure owner
> ----------------------------------------------------
>
>                 Key: HBASE-16520
>                 URL: https://issues.apache.org/jira/browse/HBASE-16520
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>              Labels: backup
>         Attachments: 16520.HBASE-7912.v2.txt, 16520.HBASE-7912.v3.txt, 
> 16520.v1.txt
>
>
> I was trying to abort a procedure which led to master shutdown.
> Toward tail of the master log, I saw:
> {code}
> 2016-08-29 20:25:26,180 ERROR 
> [B.fifo.QRpcServer.handler=16,queue=1,port=20000] 
> coprocessor.CoprocessorHost: The coprocessor 
> org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor threw    
> java.lang.NullPointerException
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.isProcedureOwner(ProcedureExecutor.java:653)
>         at 
> org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.preAbortProcedure(RangerAuthorizationCoprocessor.java:835)
>         at 
> org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.preAbortProcedure(RangerAuthorizationCoprocessor.java:3107)
>         at 
> org.apache.hadoop.hbase.master.MasterCoprocessorHost$47.call(MasterCoprocessorHost.java:601)
>         at 
> org.apache.hadoop.hbase.master.MasterCoprocessorHost.execOperation(MasterCoprocessorHost.java:1146)
>         at 
> org.apache.hadoop.hbase.master.MasterCoprocessorHost.preAbortProcedure(MasterCoprocessorHost.java:597)
>         at 
> org.apache.hadoop.hbase.master.HMaster.abortProcedure(HMaster.java:2654)
>         at 
> org.apache.hadoop.hbase.master.MasterRpcServices.abortProcedure(MasterRpcServices.java:1070)
>         at 
> org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:57274)
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127)
> {code}
> Under /procedures.jsp (after restart), the procedure I tried to abort had 
> null as Owner.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to