Sergey Soldatov created HBASE-20927:
---------------------------------------

             Summary: RSGroupAdminEndpoint doesn't handle clearing dead servers 
if they are not processed yet.
                 Key: HBASE-20927
                 URL: https://issues.apache.org/jira/browse/HBASE-20927
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.1.0
            Reporter: Sergey Soldatov
            Assignee: Sergey Soldatov
             Fix For: 2.1.1


Admin.clearDeadServers is supposed to return the list of servers that were not 
cleared. But if RSGroupAdminEndpoint is set, the ConstraintException is thrown:
{noformat}
Caused by: 
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.constraint.ConstraintException):
 org.apache.hadoop.hbase.constraint.ConstraintException: The set of servers to 
remove cannot be null or empty.
        at 
org.apache.hadoop.hbase.rsgroup.RSGroupAdminServer.removeServers(RSGroupAdminServer.java:573)
        at 
org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint.postClearDeadServers(RSGroupAdminEndpoint.java:519)
        at 
org.apache.hadoop.hbase.master.MasterCoprocessorHost$133.call(MasterCoprocessorHost.java:1607)
        at 
org.apache.hadoop.hbase.master.MasterCoprocessorHost$133.call(MasterCoprocessorHost.java:1604)
        at 
org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:540)
        at 
org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:614)
        at 
org.apache.hadoop.hbase.master.MasterCoprocessorHost.postClearDeadServers(MasterCoprocessorHost.java:1604)
        at 
org.apache.hadoop.hbase.master.MasterRpcServices.clearDeadServers(MasterRpcServices.java:2231)
        at 
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:131)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
        at 
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

{noformat}

That happens because in postClearDeadServers it calls 
groupAdminServer.removeServers(clearedServer) even if the clearedServer is 
empty.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to