virajjasani commented on a change in pull request #2047:
URL: https://github.com/apache/hbase/pull/2047#discussion_r453328220



##########
File path: 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
##########
@@ -3000,7 +3001,12 @@ private void getProcedureResult(long procId, 
CompletableFuture<Void> future, int
                 // If any region compaction state is MAJOR_AND_MINOR
                 // the table compaction state is MAJOR_AND_MINOR, too.
                 if (err2 != null) {
-                  
future.completeExceptionally(unwrapCompletionException(err2));
+                  // api can throw NSRE when the region is not online(split, 
splitting, merge,
+                  // merging, etc). Those regions will not be filtered above 
so it's better to skip
+                  // regions which throw NSRE.
+                  if (!(err2.getCause() instanceof NotServingRegionException)) 
{

Review comment:
       We should not swallow `NotServingRegionException` here. With this patch, 
we don't complete future call and eventually we will see CompactionState.NONE 
in UI without proper info on how the request was completed.
   
   We need better way. Just a question: waiting for region to come out of RIT 
seems valid right? Due to this issue, are we not able to compact the table ever?




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