You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/07/20 12:59:28 UTC

jena git commit: If commit goes wrong, don't try abort

Repository: jena
Updated Branches:
  refs/heads/master 7c12c10b8 -> 902ddc074


If commit goes wrong, don't try abort


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

Branch: refs/heads/master
Commit: 902ddc0742f2fdf0f1972547e1e1b8d391e3e782
Parents: 7c12c10
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Jul 20 13:55:30 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Jul 20 13:55:30 2016 +0100

----------------------------------------------------------------------
 .../apache/jena/graph/impl/TransactionHandlerBase.java | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/902ddc07/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java b/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
index 85fc1fa..c93de1d 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/TransactionHandlerBase.java
@@ -37,16 +37,17 @@ public abstract class TransactionHandlerBase implements TransactionHandler {
     @Override
     public Object executeInTransaction(Command c) {
         begin() ;
-        try {
-            Object result = c.execute() ;
-            commit() ;
-            return result ;
-        }
+        Object result ;
+        try { result = c.execute() ; }
         catch (JenaException e) { abortSilent() ; throw e ; }
         catch (Throwable e)     { abortSilent() ; throw new JenaException(e) ; }
+        
+        // If this goes wrong, propagate the exception
+        commit() ;
+        return result ;
     }
 
-    /* Abort but don't let problems with the transaction system itself cause loss of exception handling */ 
+    /* Abort but don't let problems with the transaction system itself cause loss of the exception */ 
     private void abortSilent() {
         try { abort() ; } catch (Throwable th) {}
     }