[ 
https://issues.apache.org/jira/browse/HBASE-21969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16779458#comment-16779458
 ] 

Xiang Li edited comment on HBASE-21969 at 2/27/19 4:12 PM:
-----------------------------------------------------------

RSGroupInfoManagerImpl#moveTables() has the following code:
{code}
for (TableName tableName : tableNames) {
  ....
  if (groupName != null) {
    RSGroupInfo dst = new RSGroupInfo(newGroupMap.get(groupName));
    dst.addTable(tableName);
    newGroupMap.put(dst.getName(), dst);
  }
}
{code}
It is to add the tables to "dst" (the destination rsgroup) and put it back to 
newGroupMap to replace the old RSGroupInfo instance in the map.
The current logic allocates a new RSGroupInfo instance and calls put operation 
of map for each table to move, which is not needed and causes a lot of objects 
to be allocated (the constructor of RSGroupInfo allocates 2 TreeSets).
The logic could be improved as: allocate a new RSGroupInfo only once, add all 
tables, and put it into the map.


was (Author: water):
RSGroupInfoManagerImpl#moveTables() has the following code:
{code}
for (TableName tableName : tableNames) {
  ....
  if (groupName != null) {
    RSGroupInfo dst = new RSGroupInfo(newGroupMap.get(groupName));
    dst.addTable(tableName);
    newGroupMap.put(dst.getName(), dst);
  }
}
{code}

> Improve the update of destination rsgroup of 
> RSGroupInfoManagerImpl#moveTables() 
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-21969
>                 URL: https://issues.apache.org/jira/browse/HBASE-21969
>             Project: HBase
>          Issue Type: Improvement
>          Components: rsgroup
>            Reporter: Xiang Li
>            Assignee: Xiang Li
>            Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to