You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2019/01/22 09:23:01 UTC

[jira] [Updated] (HBASE-21754) ReportRegionStateTransitionRequest should be executed in priority executor

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

Allan Yang updated HBASE-21754:
-------------------------------
    Status: Patch Available  (was: Open)

> ReportRegionStateTransitionRequest should be executed in priority executor
> --------------------------------------------------------------------------
>
>                 Key: HBASE-21754
>                 URL: https://issues.apache.org/jira/browse/HBASE-21754
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.4, 2.1.2
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>         Attachments: HBASE-21754.patch
>
>
> Now, ReportRegionStateTransitionRequest is executed in default handler, only region of system table is executed in priority handler. That is because we have only two kinds of handler default and priority in master(replication handler is for replication specifically), if the transition report for all region is executed in priority handler, there is a dead lock situation that other regions' transition report take all handler and need to update meta, but meta region is not able to report online since all handler is taken(addressed in the comments of MasterAnnotationReadingPriorityFunction).
> But there is another dead lock case that user's DDL requests (or other sync op like moveregion) take over all default handlers, making region transition report is not possible, thus those sync ops can't complete either. A simple UT provided in the patch shows this case.
> To resolve this problem, I added a new metaTransitionExecutor to execute meta region transition report only, and all the other region's report are executed in priority handlers, separating them from user's requests.



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