[
https://issues.apache.org/jira/browse/HBASE-21969?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nick Dimiduk updated HBASE-21969:
---------------------------------
Fix Version/s: (was: 2.3.1)
2.3.0
> 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
> Fix For: 3.0.0, 1.5.0, 2.3.0
>
> Attachments: HBASE-21969.branch-1.000.patch,
> HBASE-21969.branch-2.000.patch, HBASE-21969.master.000.patch,
> HBASE-21969.master.001.patch
>
>
> 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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)