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]


Reply via email to