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 19:01:00 UTC

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

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

stack updated HBASE-20498:
--------------------------
    Priority: Critical  (was: Major)

> [AMv2] Stuck in UnexpectedStateException
> ----------------------------------------
>
>                 Key: HBASE-20498
>                 URL: https://issues.apache.org/jira/browse/HBASE-20498
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: stack
>            Priority: Critical
>             Fix For: 2.0.1
>
>
> 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)