keith-turner commented on a change in pull request #2084:
URL: https://github.com/apache/accumulo/pull/2084#discussion_r652234916



##########
File path: 
server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
##########
@@ -131,12 +134,21 @@ public CompactionStats call() {
           reportedProblem = true;
         } catch (RuntimeException | NoClassDefFoundError e) {
           // if this is coming from a user iterator, it is possible that the 
user could change the
-          // iterator config and that the
-          // minor compaction would succeed
-          log.warn("MinC failed ({}) to create {} retrying ...", 
e.getMessage(), outputFileName, e);
+          // iterator config and that the minor compaction would succeed
+          // If the minor compaction stalls for too long during recovery, it 
can interfere with
+          // other tables loading
+          // Throw exception if this happens so assignments can be rescheduled.
           ProblemReports.getInstance(tabletServer.getContext()).report(
               new ProblemReport(getExtent().tableId(), ProblemType.FILE_WRITE, 
outputFileName, e));
+          if (retryCounter >= 4 && 
mincReason.equals(MinorCompactionReason.RECOVERY)) {

Review comment:
       Should the same thing be done in the preceding catch block?  Also before 
this change, it seems like this catch block and the preceding catch block did 
the exact same thing.  Curios if you see any diffs @Manno15 w/ the previous 
catch block.  If they were the same and we want to do this check in both, then 
maybe the two catch blocks could be collapsed into one?




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