You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2023/12/09 14:19:00 UTC
[jira] [Resolved] (HBASE-28248) Race between RegionRemoteProcedureBase and rollback operation could lead to ROLLEDBACK state be persisent to procedure store
[ https://issues.apache.org/jira/browse/HBASE-28248?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duo Zhang resolved HBASE-28248.
-------------------------------
Hadoop Flags: Reviewed
Resolution: Fixed
Pushed to all active branches.
Thanks [~meiyi] and [~GeorryHuang] for reviewing!
> Race between RegionRemoteProcedureBase and rollback operation could lead to ROLLEDBACK state be persisent to procedure store
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-28248
> URL: https://issues.apache.org/jira/browse/HBASE-28248
> Project: HBase
> Issue Type: Bug
> Components: proc-v2, Region Assignment
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Critical
> Fix For: 2.6.0, 2.4.18, 3.0.0-beta-1, 2.5.7
>
>
> And then cause load procedures failure.
> This is because we do not execute RegionRemoteProcedureBase.persistAndWake method in PEWorker, so even if we hold the procedureExecutionLock in rollback, they could be executed concurrently.
> So it is possible that in rollback, we set the state to ROLLEDBACK and delete the procedure, and then in persistAndWake, we persist the ROLLEDBACK state to procedure store.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)