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)