Cleanly handle pasre errors in transactional updates. Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/bb2e683c Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/bb2e683c Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/bb2e683c
Branch: refs/heads/JENA-507 Commit: bb2e683c9184d5f9559ea65df4417d3a121573b8 Parents: 5525039 Author: Andy Seaborne <[email protected]> Authored: Tue Aug 25 12:12:16 2015 +0100 Committer: Andy Seaborne <[email protected]> Committed: Tue Aug 25 12:12:16 2015 +0100 ---------------------------------------------------------------------- jena-arq/src/main/java/arq/update.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/bb2e683c/jena-arq/src/main/java/arq/update.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/arq/update.java b/jena-arq/src/main/java/arq/update.java index 5e15c93..f6bf5fd 100644 --- a/jena-arq/src/main/java/arq/update.java +++ b/jena-arq/src/main/java/arq/update.java @@ -82,9 +82,11 @@ public class update extends CmdUpdate execOneFile(filename, graphStore) ; transactional.commit() ; } - finally { - transactional.end() ; + catch (Throwable ex) { + try { transactional.abort() ; } catch (Exception ex2) {} + throw ex ; } + finally { transactional.end() ; } } for ( String requestString : super.getPositional() ) { @@ -95,10 +97,11 @@ public class update extends CmdUpdate execOne(requestString, graphStore) ; transactional.commit() ; } - finally { - transactional.end() ; + catch (Throwable ex) { + try { transactional.abort() ; } catch (Exception ex2) {} + throw ex ; } - + finally { transactional.end() ; } } SystemARQ.sync(graphStore) ;
