accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From els...@apache.org
Subject [3/6] accumulo git commit: ACCUMULO-4060 Handle uncaught exceptions in FATE repo runner threads.
Date Sat, 21 Nov 2015 22:30:35 GMT
ACCUMULO-4060 Handle uncaught exceptions in FATE repo runner threads.

Any RuntimeException propagated from the internals of the FATE
repo-runner threads will caught the thread to exit. This creates
a situation where the Master can be running but be unresponsive
to any pending FATE operations like creating a table.

Make sure that these exceptions are caught and suppressed to ensure
that FATE ops can always be handled while the master is running.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/e82c3f3d
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/e82c3f3d
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/e82c3f3d

Branch: refs/heads/master
Commit: e82c3f3dab208478173e352635f87a96d72a38b2
Parents: 78522c4
Author: Josh Elser <elserj@apache.org>
Authored: Sat Nov 21 16:53:11 2015 -0500
Committer: Josh Elser <elserj@apache.org>
Committed: Sat Nov 21 16:58:26 2015 -0500

----------------------------------------------------------------------
 fate/src/main/java/org/apache/accumulo/fate/Fate.java | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/e82c3f3d/fate/src/main/java/org/apache/accumulo/fate/Fate.java
----------------------------------------------------------------------
diff --git a/fate/src/main/java/org/apache/accumulo/fate/Fate.java b/fate/src/main/java/org/apache/accumulo/fate/Fate.java
index 493d441..52c7b2f 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/Fate.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/Fate.java
@@ -38,6 +38,7 @@ public class Fate<T> {
   private static final String RETURN_PROP = "return";
 
   final private static Logger log = Logger.getLogger(Fate.class);
+  private final Logger runnerLog = Logger.getLogger(TransactionRunner.class);
 
   private TStore<T> store;
   private T environment;
@@ -91,6 +92,8 @@ public class Fate<T> {
               }
             }
           }
+        } catch (Exception e) {
+          runnerLog.error("Uncaught exception in FATE runner thread.", e);
         } finally {
           store.unreserve(tid, deferTime);
         }


Mime
View raw message