Apache9 commented on a change in pull request #613: HBASE-22932 Add rs group management methods in Admin and AsyncAdmin URL: https://github.com/apache/hbase/pull/613#discussion_r325714982
########## File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncAdmin.java ########## @@ -1506,5 +1508,63 @@ * The return value will be wrapped by a {@link CompletableFuture}. */ CompletableFuture<Boolean> isSnapshotCleanupEnabled(); + + /** + * Gets group info for the given group name + * @param groupName the group name + * @return group info + */ + CompletableFuture<? extends RSGroupInfo> getRSGroupInfo(String groupName); + + /** + * Move given set of servers to the specified target RegionServer group + * @param servers set of servers to move + * @param targetGroup the group to move servers to + */ + CompletableFuture<Void> moveServers(Set<Address> servers, String targetGroup); + + /** + * Creates a new RegionServer group with the given name + * @param groupName the name of the group + */ + CompletableFuture<Void> addRSGroup(String groupName); + + /** + * Removes RegionServer group associated with the given name + * @param groupName the group name + */ + CompletableFuture<Void> removeRSGroup(String groupName); + + /** + * Balance regions in the given RegionServer group + * @param groupName the group name + * @return boolean Whether balance ran or not + */ + CompletableFuture<Boolean> balanceRSGroup(String groupName); + + /** + * Lists current set of RegionServer groups + */ + CompletableFuture<List<RSGroupInfo>> listRSGroups(); + + /** + * Retrieve the RSGroupInfo a server is affiliated to + * @param hostPort HostPort to get RSGroupInfo for + */ + CompletableFuture<? extends RSGroupInfo> getRSGroupOfServer(Address hostPort); + + /** + * Remove decommissioned servers from group + * 1. Sometimes we may find the server aborted due to some hardware failure and we must offline + * the server for repairing. Or we need to move some servers to join other clusters. + * So we need to remove these servers from the group. + * 2. Dead/recovering/live servers will be disallowed. + * @param servers set of servers to remove + */ + CompletableFuture<Void> removeServers(Set<Address> servers); + + CompletableFuture<RSGroupInfo> getRSGroupInfoOfTable(TableName tableName); Review comment: Can just make a default implementation here? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services