[
https://issues.apache.org/jira/browse/HBASE-21395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16665584#comment-16665584
]
stack commented on HBASE-21395:
-------------------------------
Ran mvn test -Dtest=TestMergeTableRegionsProcedure and got a nice message....
[ERROR] Failures:
[ERROR] TestMergeTableRegionsProcedure.testMergeRegionsConcurrently:212 found
exception: org.apache.hadoop.hbase.exceptions.MergeRegionException via
master-merge-regions:org.apache.hadoop.hbase.exceptions.MergeRegionException:
There is a table procedure going on against the same table, abort the merge of
pid=48, state=RUNNABLE:MERGE_TABLE_REGIONS_PREPARE, locked=true;
MergeTableRegionsProcedure table=testMergeRegionsConcurrently,
regions=[3fffff957497f8b7b306120ca2c71fe1, 893d444596effc7aae69f8c1145500a0],
forcibly=true
[ERROR] TestMergeTableRegionsProcedure.testMergeTwoRegions:159 found
exception: org.apache.hadoop.hbase.exceptions.MergeRegionException via
master-merge-regions:org.apache.hadoop.hbase.exceptions.MergeRegionException:
There is a table procedure going on against the same table, abort the merge of
pid=36, state=RUNNABLE:MERGE_TABLE_REGIONS_PREPARE, locked=true;
MergeTableRegionsProcedure table=testMergeTwoRegions,
regions=[f5de4b3605e2aebdef0c8544d55abfb0, 67478c63bec10165fb383b8d35796a4a],
forcibly=true
[ERROR] TestMergeTableRegionsProcedure.testMergeWithoutPONR:295 expected a
running proc
[ERROR] TestMergeTableRegionsProcedure.testRecoveryAndDoubleExecution:242
found exception: org.apache.hadoop.hbase.exceptions.MergeRegionException via
master-merge-regions:org.apache.hadoop.hbase.exceptions.MergeRegionException:
There is a table procedure going on against the same table, abort the merge of
pid=61, state=RUNNABLE:MERGE_TABLE_REGIONS_PREPARE, locked=true;
MergeTableRegionsProcedure table=testRecoveryAndDoubleExecution,
regions=[0db36af05fe46aef3e32a810e90c51ab, fd4e09b1f961af7a9cf05a12a51ef23b],
forcibly=false
[ERROR] TestMergeTableRegionsProcedure.testRollbackAndDoubleExecution:269
expected a running proc
[INFO]
[ERROR] Tests run: 5, Failures: 5, Errors: 0, Skipped: 0
Punting out to 2.1.2
> 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)