You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (JIRA)" <ji...@apache.org> on 2018/11/01 07:25:00 UTC

[jira] [Updated] (HBASE-21351) The force update thread may have race with PE worker when the procedure is rolling back

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

Duo Zhang updated HBASE-21351:
------------------------------
    Attachment: HBASE-21351-v1.patch

> The force update thread may have race with PE worker when the procedure is rolling back
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-21351
>                 URL: https://issues.apache.org/jira/browse/HBASE-21351
>             Project: HBase
>          Issue Type: Sub-task
>          Components: proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Critical
>             Fix For: 3.0.0, 2.2.0, 2.0.3, 2.1.2
>
>         Attachments: HBASE-21351-v1.patch, HBASE-21351-v1.patch, HBASE-21351.patch
>
>
> We will acquire the procExecutionLock for a procedure when force updating its state to prevent race with PE worker, but this does not work then the procedure is rolling back.
> If a procedure is failed, we will mark the root procedure stack as FAILED, and then start to rollback the whole procedure stack. We will pop every procedure in the stack and try to rollback them. So we may change the state of a procedure without holding its procExecutionLock when rolling back.
> This means we may persist an intermediate state of a procedure and cause corruption when loading procedures. 



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