[
https://issues.apache.org/jira/browse/HBASE-4590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
shenchunhui updated HBASE-4590:
-------------------------------
Attachment: assign meta twice.patch
> 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