Repository: activemq-artemis
Updated Branches:
  refs/heads/master 8196b1ddf -> e202240cc


ARTEMIS-422 support appendRollbackRecord


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

Branch: refs/heads/master
Commit: e64ecf5523f7f5a0ce924cc4bf2666ece425f135
Parents: 8196b1d
Author: jbertram <jbert...@apache.org>
Authored: Thu Feb 25 13:31:19 2016 -0600
Committer: jbertram <jbert...@apache.org>
Committed: Thu Feb 25 13:31:19 2016 -0600

----------------------------------------------------------------------
 .../artemis/core/journal/impl/FileWrapperJournal.java   | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/e64ecf55/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/FileWrapperJournal.java
----------------------------------------------------------------------
diff --git 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/FileWrapperJournal.java
 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/FileWrapperJournal.java
index cf09fd7..2be9200 100644
--- 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/FileWrapperJournal.java
+++ 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/FileWrapperJournal.java
@@ -41,6 +41,7 @@ import 
org.apache.activemq.artemis.core.journal.impl.dataformat.JournalCompleteR
 import 
org.apache.activemq.artemis.core.journal.impl.dataformat.JournalDeleteRecord;
 import 
org.apache.activemq.artemis.core.journal.impl.dataformat.JournalDeleteRecordTX;
 import 
org.apache.activemq.artemis.core.journal.impl.dataformat.JournalInternalRecord;
+import 
org.apache.activemq.artemis.core.journal.impl.dataformat.JournalRollbackRecordTX;
 
 /**
  * Journal used at a replicating backup server during the synchronization of 
data with the 'live'
@@ -208,13 +209,18 @@ public final class FileWrapperJournal extends JournalBase 
{
       return FileWrapperJournal.class.getName() + "(currentFile=[" + 
currentFile + "], hash=" + super.toString() + ")";
    }
 
-   // UNSUPPORTED STUFF
-
    @Override
    public void appendRollbackRecord(long txID, boolean sync, IOCompletion 
callback) throws Exception {
-      throw new ActiveMQUnsupportedPacketException();
+      JournalInternalRecord rollbackRecord = new JournalRollbackRecordTX(txID);
+      AtomicInteger value = transactions.remove(Long.valueOf(txID));
+      if (value != null) {
+         rollbackRecord.setNumberOfRecords(value.get());
+      }
+      writeRecord(rollbackRecord, sync, callback);
    }
 
+   // UNSUPPORTED STUFF
+
    @Override
    public JournalLoadInformation load(LoaderCallback reloadManager) throws 
Exception {
       throw new ActiveMQUnsupportedPacketException();

Reply via email to