huaxiangsun edited a comment on pull request #1629:
URL: https://github.com/apache/hbase/pull/1629#issuecomment-623589712
Looks good, It actually addressed the issue for HBASE-24316. Let me put up
an unitest as I planned to do for HBASE-24316. Mind put the following code in
as well? (Please review first, :))
`diff --git
a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
index ac79e8aaff..e345483351 100644
---
a/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
+++
b/hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
@@ -1904,6 +1904,16 @@ public class MetaTableAccessor {
qualifiers.add(qualifier);
delete.addColumns(getCatalogFamily(), qualifier,
HConstants.LATEST_TIMESTAMP);
}
+
+ // There will be race condition that a GCMultipleMergedRegionsProcedure
is scheduled while
+ // the previous GCMultipleMergedRegionsProcedure is still going on, in
this case, the second
+ // GCMultipleMergedRegionsProcedure could delete the merged region by
accident!
+ if (qualifiers.isEmpty()) {
+ LOG.info("No merged qualifiers for region " +
mergeRegion.getRegionNameAsString() +
+ " in meta table, they are cleaned up already, Skip.");
+ return;
+ }
+
`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]