You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ming Ma (Created) (JIRA)" <ji...@apache.org> on 2012/01/17 04:20:40 UTC

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

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


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