You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jimmy Xiang (JIRA)" <ji...@apache.org> on 2012/07/12 19:27:34 UTC

[jira] [Created] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Jimmy Xiang created HBASE-6381:
----------------------------------

             Summary: AssignmentManager should use the same logic for clean startup and failover
                 Key: HBASE-6381
                 URL: https://issues.apache.org/jira/browse/HBASE-6381
             Project: HBase
          Issue Type: Bug
          Components: master
            Reporter: Jimmy Xiang


Currently AssignmentManager handles clean startup and failover very differently.
Different logic is mingled together so it is hard to find out which is for which.

We should clean it up and share the same logic so that AssignmentManager handles
both cases the same way.  This way, the code will much easier to understand and
maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13416763#comment-13416763 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Looked AM.rebuildUserRegions(), it thinks a region is online if the region server is online.  This is not reliable.  For example, a master dies, then a region server dies.  At this time SSH is not running.  Now, master fails over. Now all the regions in the dead server won't be assigned.  Is that right?
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462176#comment-13462176 ] 

Hudson commented on HBASE-6381:
-------------------------------

Integrated in HBase-TRUNK #3375 (See [https://builds.apache.org/job/HBase-TRUNK/3375/])
    HBASE-6381 AssignmentManager should use the same logic for clean startup and failover (Revision 1389561)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKTable.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplication.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java

                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Patch Available  (was: Open)
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: hbase-6381-notes.pdf

Attached some notes about this patch.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417168#comment-13417168 ] 

stack commented on HBASE-6381:
------------------------------

bq. Now during rebuildUserRegions, the rs is online but gets no region assigned.

Is this so?  The restarted RS will have a different startcode/ServerName?

bq. I think we should check if a rs is online, and the regions are opened on the rs too.

Probably no harm.  What if a 1k cluster w/ each server carrying hundreds of regions.  What you think?  It might take a little while doing this step.  Would that be a prob?
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Fix Version/s: 0.96.0
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13445137#comment-13445137 ] 

Hadoop QA commented on HBASE-6381:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12543121/trunk-6381_v5.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 15 new or modified tests.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    -1 javadoc.  The javadoc tool appears to have generated 111 warning messages.

    -1 javac.  The applied patch generated 5 javac compiler warnings (more than the trunk's current 4 warnings).

    -1 findbugs.  The patch appears to introduce 10 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
     

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2739//console

This message is automatically generated.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458034#comment-13458034 ] 

Hadoop QA commented on HBASE-6381:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12545590/trunk-6381_v7.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 21 new or modified tests.

    -1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2890//console

This message is automatically generated.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13419799#comment-13419799 ] 

ramkrishna.s.vasudevan commented on HBASE-6381:
-----------------------------------------------

@Jimmy
Just curious to know.. Can you tel what idea you have to solve this? 
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417160#comment-13417160 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

If RS that was online dies during rebuildUserRegions, SSH will take care of it.  In the scenario I described, it is like this: master dies, then rs dies,
then rs starts up, then master fails over/starts up.  Now during rebuildUserRegions, the rs is online but gets no region assigned.  I think we should check if a rs is online, and the regions are opened on the rs too.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421536#comment-13421536 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Another change I'd like to do is to share the same bulk assign code.  AM has several bulk assign functions: for startup bulk assign, for SSH bulk assign, etc.  They can be shared.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459013#comment-13459013 ] 

stack commented on HBASE-6381:
------------------------------

You OK w/ this last patch [~ram_krish]?
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Patch Available  (was: Open)

Attached is the diff 3 on RB https://reviews.apache.org/r/6535/, rebased to the latest of trunk as today.

Will work on some doc later.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459737#comment-13459737 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

@Rajesh, good catch! I changed the corresponding code as below:

{noformat}
    if (deadServers != null) {
      for (Map.Entry<ServerName, List<HRegionInfo>> server: deadServers.entrySet()) {
        ServerName serverName = server.getKey();
        if (!serverManager.isServerDead(serverName)) {
          serverManager.expireServer(serverName); // Let SSH do region re-assign
        }
      }
    }
    nodes = ZKUtil.listChildrenAndWatchForNewChildren(
      this.watcher, this.watcher.assignmentZNode);
    if (!nodes.isEmpty()) {
      for (String encodedRegionName : nodes) {
        processRegionInTransition(encodedRegionName, null, deadServers);
      }
    }
....
    failoverCleanupDone();
{noformat}

Any other issues? Any place we can enhance more? We can use RB if you prefer.

Thanks.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461520#comment-13461520 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

The latest patch addressed Rajesh's comments. Thanks Ram for reviewing the fix for that.

Will commit it tomorrow if no objection.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "rajeshbabu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459440#comment-13459440 ] 

rajeshbabu commented on HBASE-6381:
-----------------------------------

@Jimmy, 
In the following scenario region assignment may not happen with the latest patch:

1)lets suppose a region R1 is moving from RS1 to RS2
2)if the master and RS1 restarted before update server info for R1 with RS2 in META.(during region open in RS)
3)in rebuild user regions we will select R1 as dead region on dead server RS1.
4)Now server info updated in META with RS2.
5)In processDeadServersAndRecoverLostRegions we will expiry server and delete znode of the region.
{code}
        if (!serverManager.isServerDead(serverName)) {
          serverManager.expireServer(serverName); // Let SSH do region re-assign
        }
        if (!nodes.isEmpty()) {
          for (HRegionInfo deadRegion : server.getValue()) {
            String encodedName = deadRegion.getEncodedName();
            if (nodes.remove(encodedName)) {
              ZKAssign.deleteNodeFailSilent(watcher, deadRegion);
            }
          }
        }
{code}
6)if the znode deletion happened before transitioning to opened,then the region wont be online.
{code}
      if (!transitionToOpened(region)) {
        // If we fail to transition to opened, it's because of one of two cases:
        //    (a) we lost our ZK lease
        // OR (b) someone else opened the region before us
        // In either case, we don't need to transition to FAILED_OPEN state.
        // In case (a), the Master will process us as a dead server. In case
        // (b) the region is already being handled elsewhere anyway.
        cleanupFailedOpen(region);
        return;
      }
{code}
Even while processing SSH of RS1 also we wont assign it because in META server info got changed to RS2.

Please correct me if wrong.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Open  (was: Patch Available)
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13416861#comment-13416861 ] 

ramkrishna.s.vasudevan commented on HBASE-6381:
-----------------------------------------------

@Jimmy
Correct me if am wrong.  While doing rebuildUserRegions if the RS that was online dies, any way the SSH will be able to assign it again by going thro the META.
If the RS went down before starting with rebuildUserRegions it will not consider the RS as an alive RS.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: trunk-6381_v5.patch
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: trunk-6381_v7.patch
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13446390#comment-13446390 ] 

Hadoop QA commented on HBASE-6381:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12543340/hbase-6381.pdf
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    -1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2757//console

This message is automatically generated.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460315#comment-13460315 ] 

ramkrishna.s.vasudevan commented on HBASE-6381:
-----------------------------------------------

@Jimmy
The fix for Rajesh's comment seems valid.  I only have 2 questions
->Will these changes solve HBASE-6228 or do we still need to add some synchronization while fixupdaughters?
->In GeneralBulkAssigner
{code}
      while (regionInfoIterator.hasNext()) {
        HRegionInfo hri = regionInfoIterator.next();
        RegionState state = regionStates.getRegionState(hri);
        if ((!regionStates.isRegionInTransition(hri) && regionStates.isRegionAssigned(hri))
            || state.isSplit() || state.isSplitting()) {
          regionInfoIterator.remove();
{code}
This removal from regionInfoIterator may not be needed.  Anyway SSH is handling this case.  And also as part of HBASE-6317 EnableTableHandler will handle RIT regions and already assigned region.
In CreateTable this problem should not happen.  So we can remove this piece of code from GeneralBulkAssigner? what you feel?


Other than that I am +1.  The ZKTable change can be done in a new JIRA as you said. 
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Hadoop Flags: Reviewed
          Status: Patch Available  (was: Open)
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413240#comment-13413240 ] 

stack commented on HBASE-6381:
------------------------------

Agree.  Talking to Prakash recently of our fb breathern, he talked of how in 89-fb, they've done work so there is little diff between the two cases.... on failover master, they just start up and do fixup on assign side (IIUC).  Need to talk to the lads again to get a better picture.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438945#comment-13438945 ] 

ramkrishna.s.vasudevan commented on HBASE-6381:
-----------------------------------------------

Reviewed little remaining tomorrow will check this.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438897#comment-13438897 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

@Ram, please review it too. It's better to catch issues before committing.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437039#comment-13437039 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Patch v3 was uploaded to RB (diff 2).
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: trunk-6381_v9.patch
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Open  (was: Patch Available)

Need to rebase.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: hbase-6381.pdf
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Open  (was: Patch Available)

Uploaded the new rebased patch + minor changes to RB: https://reviews.apache.org/r/6535/
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461527#comment-13461527 ] 

Hadoop QA commented on HBASE-6381:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12546226/trunk-6381_v9.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 21 new or modified tests.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    -1 javadoc.  The javadoc tool appears to have generated 140 warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 6 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    +1 core tests.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2924//console

This message is automatically generated.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13435389#comment-13435389 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Here is the review request: https://reviews.apache.org/r/6535/
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458901#comment-13458901 ] 

stack commented on HBASE-6381:
------------------------------

Whats different Jimmy?  You putting this up on RB?
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Status: Patch Available  (was: Open)
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437058#comment-13437058 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Mostly, it is just addressing your comments :)

                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang reassigned HBASE-6381:
----------------------------------

    Assignee: Jimmy Xiang
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13417177#comment-13417177 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Good catch. I see. That's right. Thanks!
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460618#comment-13460618 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

@Ram, thanks a lot for the review.  As to the removal from regionInfoIterator, it is used locally to track unassigned regions so that we know if the bulk assign is completed so I think it is needed.

As to HBASE-6228, I added the following to the fixupDaughters in HMaster before actually fixing anything in order to avoid duplicated processing:

{noformat}
      if (!serverManager.isServerDead(sn)) { // Otherwise, let SSH take care of it
{noformat}

Here sn is the parent server name. So the chance of duplicated processing should be very minimal, right?


                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Integrated into trunk. Thanks all for the review.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458954#comment-13458954 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

Thanks for the review.  I will fix the comment before I commit.
I will wait for hadoopqa and give other people couple days to review as well.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13438440#comment-13438440 ] 

ramkrishna.s.vasudevan commented on HBASE-6381:
-----------------------------------------------

@Jimmy
Last 3 days i was not in town.  If Stack has completed its review then no prob, pls go ahead and commit.  If not i will check this today.  Thanks Jimmy and Stack.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413281#comment-13413281 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

I checked the 0.89-fb branch, but not sure which patch is related.  It may be very helpful to know how they did it. It is bad to see 0.89-fb diverge from trunk more and more.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13419951#comment-13419951 ] 

Jimmy Xiang commented on HBASE-6381:
------------------------------------

@Ram, currently, I was thinking about three changes.  I need to make sure they are good.
1. for the failover case, let SSH take case of those dead region servers so that we can share some code instead of doing some similar things in AM and SSH.
2. SSH is enabled so that we can handle meta/root region server failure before joinCluster is completed.  However, we can hold SSH a little bit
for the user region assignments.  So in AM, we can avoid failoverProcessedRegions which is a little bit confusing.
3. those enablingTables and disablingTables, they should be some local variables. We can load them from ZKTable at the beginning instead of
handling them per table.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Jimmy Xiang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jimmy Xiang updated HBASE-6381:
-------------------------------

    Attachment: trunk-6381_v8.patch
    
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13433010#comment-13433010 ] 

stack commented on HBASE-6381:
------------------------------

@Jimmy Any chance of a page of 'design' outlining what your patch does and how you think it all should run?  Will help reviewing these big patches.  It will also help going forward in that we can refer to your intent when unsure about how to proceed.  Does that make sense?  Thanks.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13437047#comment-13437047 ] 

stack commented on HBASE-6381:
------------------------------

Whats in v3 that is not in v2?  Does it address comments?
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462263#comment-13462263 ] 

Hudson commented on HBASE-6381:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #191 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/191/])
    HBASE-6381 AssignmentManager should use the same logic for clean startup and failover (Revision 1389561)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/CreateTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/ServerShutdownHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKTable.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/TestZooKeeper.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentManager.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplication.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java

                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch, trunk-6381_v9.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] [Commented] (HBASE-6381) AssignmentManager should use the same logic for clean startup and failover

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13458985#comment-13458985 ] 

Hadoop QA commented on HBASE-6381:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12545766/trunk-6381_v8.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 21 new or modified tests.

    +1 hadoop2.0.  The patch compiles against the hadoop 2.0 profile.

    -1 javadoc.  The javadoc tool appears to have generated 140 warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 13 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.client.TestFromClientSide

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2899//console

This message is automatically generated.
                
> AssignmentManager should use the same logic for clean startup and failover
> --------------------------------------------------------------------------
>
>                 Key: HBASE-6381
>                 URL: https://issues.apache.org/jira/browse/HBASE-6381
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>         Attachments: hbase-6381-notes.pdf, hbase-6381.pdf, trunk-6381_v5.patch, trunk-6381_v7.patch, trunk-6381_v8.patch
>
>
> Currently AssignmentManager handles clean startup and failover very differently.
> Different logic is mingled together so it is hard to find out which is for which.
> We should clean it up and share the same logic so that AssignmentManager handles
> both cases the same way.  This way, the code will much easier to understand and
> maintain.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira