public class RSGroupInfoManagerImpl extends Object implements RSGroupInfoManager, ServerListener
RSGroupInfoManager. Which makes
 use of an HBase table as the persistence store for the group information.
 It also makes use of zookeeper to store group information needed
 for bootstrapping during offline mode.META_FAMILY_BYTES, META_QUALIFIER_BYTES, ROW_KEY, RSGROUP_TABLE_NAME, RSGROUP_TABLE_NAME_BYTES, rsGroupZNode| Constructor and Description | 
|---|
RSGroupInfoManagerImpl(MasterServices master)  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addRSGroup(RSGroupInfo rsGroupInfo)
Adds the group. 
 | 
RSGroupInfo | 
getRSGroup(String groupName)
Gets the group information. 
 | 
RSGroupInfo | 
getRSGroupOfServer(HostAndPort hostPort)
Gets the group info of server. 
 | 
String | 
getRSGroupOfTable(TableName tableName)
Get the group membership of a table 
 | 
boolean | 
isOnline()
Whether the manager is able to fully
 return group metadata 
 | 
List<RSGroupInfo> | 
listRSGroups()
List the groups 
 | 
boolean | 
moveServers(Set<HostAndPort> hostPorts,
           String srcGroup,
           String dstGroup)
move servers to a new group. 
 | 
void | 
moveTables(Set<TableName> tableNames,
          String groupName)
Set the group membership of a set of tables 
 | 
void | 
refresh()
Refresh/reload the group information from
 the persistent store 
 | 
void | 
removeRSGroup(String groupName)
Delete a region server group. 
 | 
void | 
serverAdded(ServerName serverName)
The server has joined the cluster. 
 | 
void | 
serverRemoved(ServerName serverName)
The server was removed from the cluster. 
 | 
public RSGroupInfoManagerImpl(MasterServices master) throws IOException
IOExceptionpublic void addRSGroup(RSGroupInfo rsGroupInfo) throws IOException
addRSGroup in interface RSGroupInfoManagerrsGroupInfo - the group nameIOException - Signals that an I/O exception has occurred.public boolean moveServers(Set<HostAndPort> hostPorts, String srcGroup, String dstGroup) throws IOException
RSGroupInfoManagermoveServers in interface RSGroupInfoManagerhostPorts - list of servers, must be part of the same groupsrcGroup - groupName being moved fromdstGroup - groupName being moved toIOException - on move failurepublic RSGroupInfo getRSGroupOfServer(HostAndPort hostPort) throws IOException
getRSGroupOfServer in interface RSGroupInfoManagerhostPort - the serverIOExceptionpublic RSGroupInfo getRSGroup(String groupName) throws IOException
getRSGroup in interface RSGroupInfoManagergroupName - the group nameIOExceptionpublic String getRSGroupOfTable(TableName tableName) throws IOException
RSGroupInfoManagergetRSGroupOfTable in interface RSGroupInfoManagertableName - name of table to get group membershipIOException - on failure to retrive informationpublic void moveTables(Set<TableName> tableNames, String groupName) throws IOException
RSGroupInfoManagermoveTables in interface RSGroupInfoManagertableNames - set of tables to movegroupName - name of group of tables to move toIOException - on failure to movepublic void removeRSGroup(String groupName) throws IOException
removeRSGroup in interface RSGroupInfoManagergroupName - the group nameIOException - Signals that an I/O exception has occurred.public List<RSGroupInfo> listRSGroups() throws IOException
RSGroupInfoManagerlistRSGroups in interface RSGroupInfoManagerIOException - on failurepublic boolean isOnline()
RSGroupInfoManagerisOnline in interface RSGroupInfoManagerpublic void refresh()
             throws IOException
RSGroupInfoManagerrefresh in interface RSGroupInfoManagerIOException - on failure to refreshpublic void serverAdded(ServerName serverName)
ServerListenerserverAdded in interface ServerListenerserverName - The remote servers name.public void serverRemoved(ServerName serverName)
ServerListenerserverRemoved in interface ServerListenerserverName - The remote servers name.