diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java index c90ffe592a0..398e56bafeb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java @@ -1263,7 +1263,8 @@ public interface MasterObserver { /** * Called after clear dead region servers. */ - default void postClearDeadServers(ObserverContext ctx) + default void postClearDeadServers(ObserverContext ctx, + List servers, List notClearedServers) throws IOException {} /** diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java index ddc6c3d8e6f..43373474c03 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java @@ -1596,11 +1596,12 @@ public class MasterCoprocessorHost }); } - public void postClearDeadServers() throws IOException { + public void postClearDeadServers(List servers, + List notClearedServers) throws IOException { execOperation(coprocEnvironments.isEmpty() ? null : new MasterObserverOperation() { @Override public void call(MasterObserver observer) throws IOException { - observer.postClearDeadServers(this); + observer.postClearDeadServers(this, servers, notClearedServers); } }); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 2fd60aff3ec..1a8fd064997 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -2163,7 +2163,9 @@ public class MasterRpcServices extends RSRpcServices } if (master.cpHost != null) { - master.cpHost.postClearDeadServers(); + master.cpHost.postClearDeadServers( + ProtobufUtil.toServerNameList(request.getServerNameList()), + ProtobufUtil.toServerNameList(response.getServerNameList())); } } catch (IOException io) { throw new ServiceException(io);