[ 
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)

Reply via email to