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/08/19 18:10:37 UTC

[jira] [Created] (HBASE-6611) Forcing region state offline cause double assignment

Jimmy Xiang created HBASE-6611:
----------------------------------

             Summary: Forcing region state offline cause double assignment
                 Key: HBASE-6611
                 URL: https://issues.apache.org/jira/browse/HBASE-6611
             Project: HBase
          Issue Type: Bug
          Components: master
            Reporter: Jimmy Xiang
            Assignee: Jimmy Xiang
             Fix For: 0.96.0


In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.

I think this could be the root cause for all double assignments IF the region state is reliable.

After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

stack commented on HBASE-6611:
------------------------------

Which did you not address?
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Those still open (not fixed or drop) are not addressed.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Status: Open  (was: Patch Available)
    
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Patch version 4.1 is uploaded to RB: https://reviews.apache.org/r/7305/
I have addressed most of the review comments.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

I think another executor pool is helpful, especially, it can be used to assign those failed regions in parallel too.
However, for now, probably I will just create another zookeeper watcher instead.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Hadoop QA commented on HBASE-6611:
----------------------------------

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

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

    +1 tests included.  The patch appears to include 6 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 7 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/2955//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop1-compat.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/2955//console

This message is automatically generated.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

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

Over the week end i will surely check this.  Thanks for your awesome work Jimmy :)
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Cool, thanks.

There is one problem with the patch I am still thinking about.

In the bulk assignment, I keep the async ZK node offline for the performance reason.  However, it depends on the zk event thread's callback to know if all nodes are created or not.  If the single event thread is blocked due to any locker which is held by the bulk assigner, there will be a deadlock.

What should we do about this?

Instead of async ZK node offline, I am thinking to have an executor service to sync ZK node offline so that we don't have too much performance degrade.


                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Hadoop Flags: Reviewed
          Status: Patch Available  (was: Open)

This is latest patch in RB rebased to trunk latest.

Will commit to trunk during the weekend if no objection.

Thanks all for the review.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Status: Patch Available  (was: Open)

Try hadoop qa again.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Uploaded patch 2 to RB:  https://reviews.apache.org/r/7305/
It addressed the deadlock issue I mentioned above.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Hadoop QA commented on HBASE-6611:
----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12550009/trunk-6611_v5.patch
  against trunk revision .

    {color:green}+1 @author{color}.  The patch does not contain any @author tags.

    {color:green}+1 tests included{color}.  The patch appears to include 9 new or modified tests.

    {color:green}+1 hadoop2.0{color}.  The patch compiles against the hadoop 2.0 profile.

    {color:red}-1 javadoc{color}.  The javadoc tool appears to have generated 82 warning messages.

    {color:green}+1 javac{color}.  The applied patch does not increase the total number of javac compiler warnings.

    {color:red}-1 findbugs{color}.  The patch appears to introduce 5 new Findbugs (version 1.3.9) warnings.

    {color:green}+1 release audit{color}.  The applied patch does not increase the total number of release audit warnings.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.util.TestHBaseFsck

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

This message is automatically generated.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

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

@Jimmy
Comments on review board.  Mainly wrt to some scenarios that are likely to happen. 
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Attachment: trunk-6611_v5.patch
    
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Thanks for the review.  I posted the fourth patch on RB: https://reviews.apache.org/r/7305/
I am very confident at it now. AM's getting stable and reliable.  It has several enhancements mentioned on RB.

I also filed two followup issues: HBASE-6976 and HBASE-6977.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Posted a patch on RB: https://reviews.apache.org/r/7305/.  Please review.

I did some performance testing and found the async zookeeper node offline is big performance +, so it is kept.  Without this patch,
it took around 290 seconds to bulk assign 10,339 regions to 4 region servers.  With this patch, it took around 300 seconds.
However, without async zookeeper node offline, it took around 400 seconds.

As to force close regions, it is not touched and still working as expected.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Status: Patch Available  (was: Open)
    
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

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

Some comments on RB Jimmy.  Thanks
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Hudson commented on HBASE-6611:
-------------------------------

Integrated in HBase-TRUNK-on-Hadoop-2.0.0 #229 (See [https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/229/])
    HBASE-6611 Forcing region state offline cause double assignment (Revision 1400358)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/RegionTransition.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
* /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/OfflineCallback.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionState.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/EnableTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.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/regionserver/handler/OpenRegionHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/KeyLocker.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java
* /hbase/trunk/hbase-server/src/main/protobuf/Admin.proto
* /hbase/trunk/hbase-server/src/main/protobuf/ZooKeeper.proto
* /hbase/trunk/hbase-server/src/main/ruby/shell/commands/assign.rb
* /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/regionserver/handler/TestCloseRegionHandler.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/handler/TestOpenRegionHandler.java

                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

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

Now i am also getting in sync with AM code in trunk..Thanks to Jimmy for making it more reliable.  
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

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

Integrated into trunk.  TestHBaseFsck is fine locally.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

stack commented on HBASE-6611:
------------------------------

Yah!!!
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Hudson commented on HBASE-6611:
-------------------------------

Integrated in HBase-TRUNK #3466 (See [https://builds.apache.org/job/HBase-TRUNK/3466/])
    HBASE-6611 Forcing region state offline cause double assignment (Revision 1400358)

     Result = FAILURE
jxiang : 
Files : 
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/RegionTransition.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
* /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/OfflineCallback.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionState.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/EnableTableHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/RequestConverter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.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/regionserver/handler/OpenRegionHandler.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/KeyLocker.java
* /hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java
* /hbase/trunk/hbase-server/src/main/protobuf/Admin.proto
* /hbase/trunk/hbase-server/src/main/protobuf/ZooKeeper.proto
* /hbase/trunk/hbase-server/src/main/ruby/shell/commands/assign.rb
* /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/regionserver/handler/TestCloseRegionHandler.java
* /hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/handler/TestOpenRegionHandler.java

                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch, trunk-6611_v5.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Status: Open  (was: Patch Available)

I cannot use the separate ZK watcher to watch znode change.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jacques commented on HBASE-6611:
--------------------------------

Reminders from the PowWow yesterday... 

JD requested that you verify that force close continues to function despite changes.

JD & Andrew both requested that you run some performance tests to ensure that region assignment doesn't take substantially longer than 0.94.  Something along the lines of bulk assignment of 10,000 regions and also checking to ensure that region failover isn't substantially longer.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

@Stack, @Ram, are we ok with the latest patch?
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang updated HBASE-6611:
-------------------------------

    Attachment: trunk-6611_v2.patch
    
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>         Attachments: trunk-6611_v2.patch
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

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

@Jimmy
Will review this tomorrow or over the weekend.  Nice work Jimmy.  
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

--
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-6611) Forcing region state offline cause double assignment

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

Jimmy Xiang commented on HBASE-6611:
------------------------------------

Sure, I will do that to make sure existing function is not broken, and there is no substantial performance drop.

Another thing I'd like to address in this jira is that bulk assigning currently doesn't pass the offlined ZK node version to region server as regular assignment does. I think it is needed to avoid competing assigning the same region at the same time.
                
> Forcing region state offline cause double assignment
> ----------------------------------------------------
>
>                 Key: HBASE-6611
>                 URL: https://issues.apache.org/jira/browse/HBASE-6611
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>             Fix For: 0.96.0
>
>
> In assigning a region, assignment manager forces the region state offline if it is not. This could cause double assignment, for example, if the region is already assigned and in the Open state, you should not just change it's state to Offline, and assign it again.
> I think this could be the root cause for all double assignments IF the region state is reliable.
> After this loophole is closed, TestHBaseFsck should come up a different way to create some assignment inconsistencies, for example, calling region server to open a region directly. 

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