commit | 0c778571f3607d1557e7b3e4bf63fb96c1d7c094 | [log] [tgz] |
---|---|---|
author | alexander.behm <alexander.behm@eaa15691-b419-025a-1212-ee371bd00084> | Thu May 10 22:20:38 2012 +0000 |
committer | alexander.behm <alexander.behm@eaa15691-b419-025a-1212-ee371bd00084> | Thu May 10 22:20:38 2012 +0000 |
tree | d6d6f2e002385b663e2921312a2fcd33b8a4b959 | |
parent | b57d833f48249a50193e4ad56882a703c86d0657 [diff] |
Added cleanup after failure for insert/delete op. git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix-fix-issue-113@252 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix-hyracks-glue/src/main/java/edu/uci/ics/asterix/runtime/transaction/TreeIndexInsertUpdateDeleteOperatorNodePushable.java b/asterix-hyracks-glue/src/main/java/edu/uci/ics/asterix/runtime/transaction/TreeIndexInsertUpdateDeleteOperatorNodePushable.java index 3efecb1..0749693 100644 --- a/asterix-hyracks-glue/src/main/java/edu/uci/ics/asterix/runtime/transaction/TreeIndexInsertUpdateDeleteOperatorNodePushable.java +++ b/asterix-hyracks-glue/src/main/java/edu/uci/ics/asterix/runtime/transaction/TreeIndexInsertUpdateDeleteOperatorNodePushable.java
@@ -179,7 +179,20 @@ @Override public void fail() throws HyracksDataException { - writer.fail(); + try { + writer.fail(); + } finally { + txnContext.addCloseableResource(new ICloseable() { + @Override + public void close(TransactionContext txnContext) throws ACIDException { + try { + treeIndexHelper.deinit(); + } catch (Exception e) { + throw new ACIDException(txnContext, "could not de-initialize " + treeIndexHelper, e); + } + } + }); + } } }