[
https://issues.apache.org/jira/browse/HBASE-28210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17787262#comment-17787262
]
Duo Zhang commented on HBASE-28210:
-----------------------------------
A simple way to fix this is to hold the RootProcedureState lock when adding the
procedure as while as updating the procedure store, in this way, we can force
them to have the same order. This will impact performance, of course, as the
persistency for the procedures which have the same root procedure can only be
serial.
A possible way to increase the performance is to insert a ring buffer in the
ProcedureStore, after adding the procedure to the ring buffer, we can return a
CompleteFuture and release the lock.
But anyway, let's make thing correct first, and then try to improve performance.
> There could be holes in stack ids when loading procedures
> ---------------------------------------------------------
>
> Key: HBASE-28210
> URL: https://issues.apache.org/jira/browse/HBASE-28210
> Project: HBase
> Issue Type: Bug
> Components: master, proc-v2
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Critical
> Fix For: 2.6.0, 2.4.18, 3.0.0-beta-1, 2.5.7
>
>
> Found this when implementing HBASE-28199, as after HBASE-28199 we will
> suspend procedures a lot, so a missed scenario has been covered and it will
> fail some UTs with corrupted procedures when loading.
> I think this issue should be fixed separately as it affects all active
> branches.
> Let me try to implement a UT first.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)