You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2018/04/27 05:29:00 UTC

[jira] [Created] (HBASE-20498) [AMv2] Stuck in UnexpectedStateException

stack created HBASE-20498:
-----------------------------

             Summary: [AMv2] Stuck in UnexpectedStateException
                 Key: HBASE-20498
                 URL: https://issues.apache.org/jira/browse/HBASE-20498
             Project: HBase
          Issue Type: Sub-task
            Reporter: stack


Here is how we get into a stuck scenario in hbase-2.0.0RC2.

 * Assign a region. It is moved to OPENING state then RPCs the RS.
 * RS opens region. Tells Master.
 * Master tries to complete the assign by updating hbase:meta.
 * hbase:meta is hosed because I'd deployed a bad patch that blocked hbase:meta updates
 * Master is stuck retrying RPCs to RS hosting hbase:meta; we want to update our new OPEN state in hbase:meta.
 * I kill Master because I want to fix the broke patch.
 * On restart, a script sets table to be DISABLED.
 * As part of startup, we go to assign regions.
 * We skip assigning regions because the table is DISABLED; i.e. we skip the  replay of the unfinished assign.
 * The region is now a free-agent; no lock held, so, the queued unassign that is part of the disable table can run
 * It fails because region is in OPENING state, an UnexpectedStateException is thrown.

We loop complaining the above.

Resolution requires finishing previous assign first, then we can disable.

Let me try and write a test to manufacture this state.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)