[ 
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)

Reply via email to