[
https://issues.apache.org/jira/browse/HBASE-21395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16665882#comment-16665882
]
Xu Cang commented on HBASE-21395:
---------------------------------
Nit:
I see you use ".count()" with stream in if statement. But actually we don't
need to count them all, one should be enough.
Also, formatting in this line:
{quote}.map(p -> (AbstractStateMachineTableProcedure) p).filter(
{quote}
maybe start a new line for 'filter"
> Abort split/merge procedure if there is a table procedure of the same table
> going on
> ------------------------------------------------------------------------------------
>
> Key: HBASE-21395
> URL: https://issues.apache.org/jira/browse/HBASE-21395
> Project: HBase
> Issue Type: Sub-task
> Affects Versions: 2.1.0, 2.0.2
> Reporter: Allan Yang
> Assignee: Allan Yang
> Priority: Major
> Fix For: 2.1.2
>
> Attachments: HBASE-21395.branch-2.0.001.patch
>
>
> In my ITBLL, I often see that if split/merge procedure and table
> procedure(like ModifyTableProcedure) happen at the same time, and since there
> some race conditions between these two kind of procedures, causing some
> serious problems. e.g. the split/merged parent is bought on line by the table
> procedure or the split merged region making the whole table procedure
> rollback.
> Talked with [~Apache9] offline today, this kind of problem was solved in
> branch-2+ since There is a fence that only one RTSP can agianst a single
> region at the same time.
> To keep out of the mess in branch-2.0 and branch-2.1, I added a simple safe
> fence in the split/merge procedure: If there is a table procedure going on
> against the same table, then abort the split/merge procedure. Aborting the
> split/merge procedure at the beginning of the execution is no big deal,
> compared with the mess it will cause...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)