milleruntime commented on a change in pull request #1646:
URL: https://github.com/apache/accumulo/pull/1646#discussion_r447916235



##########
File path: 
server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactor.java
##########
@@ -148,6 +149,13 @@ public CompactionStats call() {
           reportedProblem = true;
         } catch (CompactionCanceledException e) {
           throw new IllegalStateException(e);
+        } catch (Throwable t) {
+          // This is an unexpected situation which is critical. If we cannot 
minor compact
+          // then this tablet will eventually become unusable if we are still 
ingesting data.
+          log.error("MinC failed ({}).  Aborting.", t.getMessage(), t);
+          // TODO: Should we simply unload this tablet instead?
+          Halt.halt("Unexpected MinC failure: " + t.getMessage(), 2);
+          throw t;

Review comment:
       We typically try to either log an error or throw, not both.  Instead of 
halting in MinorCompactor, we may want halt [here in 
Tablet](https://github.com/apache/accumulo/blob/15a95feebc74bd10e5ba73d4c2ecfc726435bc55/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java#L829)
 where we catch Exception or Error.  That code currently does not catch 
Throwable.




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