You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2015/01/06 17:50:35 UTC

[jira] [Resolved] (HBASE-5214) synchronization issue during region assignment

     [ https://issues.apache.org/jira/browse/HBASE-5214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell resolved HBASE-5214.
-----------------------------------
    Resolution: Cannot Reproduce

Resolving old stale report as CR. Reopen if reproducible with recent release versions.

Thanks for the nudge [~clehene]

> synchronization issue during region assignment
> ----------------------------------------------
>
>                 Key: HBASE-5214
>                 URL: https://issues.apache.org/jira/browse/HBASE-5214
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Ming Ma
>              Labels: delete
>
> In master, both the shutdown threads and balancer thread could change the region state. It could create some race condition. HBase-4899 fixes the issue under normal situation. Still it seems like there is a really small time window HBase-4899 won't cover.
> T1. ServerShutdownHandler. the check for "if (rit != null && !rit.isClosing() && !rit.isPendingClose()" return false as the region is still in closing state. It is actually closed by the RS; Master's state is "closing" due to the delay in ZK notification.
> T2. Right after the above check, ZK notification happens and Master starts the opening of the region as requested by load balancer.
> T3. "else { this.services.getAssignmentManager().assign(e.getKey(), true); }" is called for another assignment.
> Also HBase-5094 has fixes and discussion about this.
> Could we make it such that only one thread can transition a region at a time?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)