[
https://issues.apache.org/jira/browse/HBASE-17758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15903348#comment-15903348
]
Ted Yu commented on HBASE-17758:
--------------------------------
{code}
+ void moveServersAndTables(Set<Address> servers, Set<TableName> tables,
String targetGroup) throws IOException;
{code}
Wrap long line. Add javadoc for parameters.
{code}
+ private boolean checkRegionInServers(HRegionInfo region, Set<Address>
servers) throws ConstraintException {
{code}
Wrap long line.
{code}
+ if (servers.contains(sn.getAddress())) {
+ return true;
+ }
+ return false;
{code}
Just return servers.contains()
{code}
+ if (servers == null || servers.isEmpty() || tables == null ||
tables.isEmpty()) {
+ throw new ConstraintException("The list of servers and tables to move
cannot be null or empty.");
{code}
Separate servers and tables checks into their own would give better error
message.
{code}
+ //remove servers to original group
+ moveServers(servers, srcGrp.getName());
{code}
remove means dropping / deleting. "remove servers" -> "move servers"
What if the moveServers() call in the catch block fails ?
> [RSGROUP] Add shell command to move servers and tables at the same time
> -----------------------------------------------------------------------
>
> Key: HBASE-17758
> URL: https://issues.apache.org/jira/browse/HBASE-17758
> Project: HBase
> Issue Type: New Feature
> Components: rsgroup
> Affects Versions: 2.0.0
> Reporter: Guangxu Cheng
> Assignee: Guangxu Cheng
> Attachments: HBASE-17758-v1.patch
>
>
> Currently add a new group perform the following steps:
> {code:javascript}
> hbase(main):001:0> add_rsgroup 'mygroup'
> Took 0.3840 seconds
> hbase(main):002:0> move_servers_rsgroup
> 'mygroup',['hbase-rs-01:16030','hbase-rs-02:16030']
> Took 3.5040 seconds
> hbase(main):003:0> move_tables_rsgroup 'mygroup',['example']
> Took 0.2710 seconds
> {code}
> 1. move_servers_rsgroup will unassign all regions on hbase-rs-01 and
> hbase-rs-02
> 2. move_tables_rsgroup will also reassign all the regions of the table
> example.
> This will lead to a large number of regions to migrate and affect the data
> locality.
> However, some regions of the table that are distributed on hbase-rs-01 and
> hbase-rs-02, do not need to be moved.
> So,we need a new shell command *move_servers_tables_rsgroup* which minimizes
> the number of regions needed to move.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)