saintstack commented on a change in pull request #657: Hbase 22932 Add rs group management methods in Admin and AsyncAdmin URL: https://github.com/apache/hbase/pull/657#discussion_r328711590
########## File path: hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java ########## @@ -2254,4 +2256,70 @@ boolean snapshotCleanupSwitch(final boolean on, final boolean synchronous) */ boolean isSnapshotCleanupEnabled() throws IOException; + /** + * Gets group info for the given group name + * @param groupName the group name + * @return group info + * @throws IOException if a remote or network exception occurs + */ + RSGroupInfo getRSGroupInfo(String groupName) throws IOException; + + /** + * 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 + * @throws IOException if a remote or network exception occurs + */ + void moveServers(Set<Address> servers, String targetGroup) throws IOException; + + /** + * Creates a new RegionServer group with the given name + * @param groupName the name of the group + * @throws IOException if a remote or network exception occurs + */ + void addRSGroup(String groupName) throws IOException; + + /** + * Removes RegionServer group associated with the given name + * @param groupName the group name + * @throws IOException if a remote or network exception occurs + */ + void removeRSGroup(String groupName) throws IOException; + + /** + * Balance regions in the given RegionServer group + * @param groupName the group name + * @return boolean Whether balance ran or not + * @throws IOException if a remote or network exception occurs + */ + boolean balanceRSGroup(String groupName) throws IOException; + + /** + * Lists current set of RegionServer groups + * @throws IOException if a remote or network exception occurs + */ + List<RSGroupInfo> listRSGroups() throws IOException; + + /** + * Retrieve the RSGroupInfo a server is affiliated to + * @param hostPort HostPort to get RSGroupInfo for + * @throws IOException if a remote or network exception occurs + */ + RSGroupInfo getRSGroupOfServer(Address hostPort) throws IOException; + + /** + * 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 + * @throws IOException if a remote or network exception occurs + */ + void removeServers(Set<Address> servers) throws IOException; Review comment: No connetion to RSGroup. Needs it added in method name? ---------------------------------------------------------------- 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