diff options
author | Eric Fellheimer <felly@google.com> | 2015-10-09 18:39:19 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-10-12 08:35:43 +0000 |
commit | 8c54078ff8a9cf97c701c2c8269f4fe6c90cbcbc (patch) | |
tree | cb6542e74689f53cee91442cc7d1050575c60b91 /src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java | |
parent | 47182329400e359a7a6ad5857cf1854a4f9ec720 (diff) |
Log immediately when AbstractQueueVisitor encounters a critical error.
If there's a holdup propagating the exception, at least we will see it in the logs.
--
MOS_MIGRATED_REVID=105075242
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java b/src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java index fe010c860a..e1a980ff97 100644 --- a/src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java +++ b/src/main/java/com/google/devtools/build/lib/concurrent/AbstractQueueVisitor.java @@ -29,6 +29,8 @@ import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.Level; +import java.util.logging.Logger; /** * AbstractQueueVisitor is a wrapper around {@link ThreadPoolExecutor} which @@ -146,6 +148,8 @@ public class AbstractQueueVisitor { */ private boolean jobsMustBeStopped = false; + private static final Logger LOG = Logger.getLogger(AbstractQueueVisitor.class.getName()); + /** * Create the AbstractQueueVisitor. * @@ -600,7 +604,11 @@ public class AbstractQueueVisitor { } private boolean isCriticalErrorInternal(Throwable e) { - return isCriticalError(e) || (e instanceof Error); + boolean isCritical = isCriticalError(e) || (e instanceof Error); + if (isCritical) { + LOG.log(Level.WARNING, "Found critical error in queue visitor", e); + } + return isCritical; } private void setRejectedExecutionHandler() { |