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]