[ https://issues.apache.org/jira/browse/HBASE-20927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16558051#comment-16558051 ]
Sergey Soldatov commented on HBASE-20927: ----------------------------------------- [~yuzhih...@gmail.com] added a test case. > 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 > Priority: Major > Fix For: 3.0.0, 2.1.1 > > Attachments: HBASE-20927-master.patch, HBASE-20927.master.002.patch > > > 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)