hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4590) Master may assign META region twice to two regionservers when regionserver is closed and started repeatedly in short time
Date Fri, 14 Oct 2011 14:32:12 GMT

    [ https://issues.apache.org/jira/browse/HBASE-4590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13127576#comment-13127576
] 

Ted Yu commented on HBASE-4590:
-------------------------------

@Chunhui:
Patch makes sense.

HBASE-3446 was checked in yesterday. Now ServerShutdownHandler.isCarryingMeta() returns false.
It would be nice if you can verify the scenario for 0.92 snapshot build.

Also, have you run your patch through 0.90 unit test suite ?

Thanks
                
> Master may assign META region twice to two regionservers when regionserver is closed
and started repeatedly in short time
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4590
>                 URL: https://issues.apache.org/jira/browse/HBASE-4590
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.90.2
>            Reporter: shenchunhui
>         Attachments: assign meta twice.patch
>
>
> In the following case:
> 1.first,kill all the regionservers
> 2.then, start all the regionservers immediately
> 3.then, kill all the regionservers immediately
> 4.then, start all the regionservers immediately
> Master may assign META region twice , and make two regionserver carrying META region.
> Through logs, we find that:
> Before 1, Regionserver A carrys the META region,
> Between 2 and 3 , master receives Regionserver A startup message and is ready to assign
meta region to Regionserver B
> But, it fails because of 3, and then reassign meta region to Regionserver C,Then ,it
is successful after 4,
> when 4 , Regionserver C is started earlier than Regionserver A , and Regionserver A is
started earlier than Regionserver C successfully online the META region. Therefore, when master
receives Regionserver A startup message in 4, it consider Regionserver A carryed META region
through  CatalogTracker and create a MetaServerShutdownHandler
> In MetaServerShutdownHandler's process(), after completing split hlog, Regionserver C
has already onlined META region,
> however it will execute the following code all the same where isCarryingMeta() return
true :
> if (isCarryingMeta())this.services.getAssignmentManager().assignMeta();
> After that, META region will online on two regionservers
> In order to prevent it , we should verify meta region location before assign Meta region
.

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

        

Mime
View raw message