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();