[jboss-cvs] JBoss Messaging SVN: r4929 - in trunk: src/main/org/jboss/messaging/core/journal/impl and 8 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Sep 10 17:03:07 EDT 2008
Author: clebert.suconic at jboss.com
Date: 2008-09-10 17:03:06 -0400 (Wed, 10 Sep 2008)
New Revision: 4929
Modified:
trunk/src/main/org/jboss/messaging/core/journal/Journal.java
trunk/src/main/org/jboss/messaging/core/journal/PreparedTransactionInfo.java
trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
trunk/src/main/org/jboss/messaging/core/journal/impl/TransactionHolder.java
trunk/src/main/org/jboss/messaging/core/message/Message.java
trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java
trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java
trunk/src/main/org/jboss/messaging/core/server/ServerMessage.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/message/impl/MessageImplTestBase.java
trunk/tests/src/org/jboss/messaging/tests/unit/core/persistence/impl/journal/JournalStorageManagerTest.java
Log:
JBMESSAGING-1299 - First commit on changing deleteTransaction to also support EncodingSupport (in order to support replays on PreparedTransactions)
Modified: trunk/src/main/org/jboss/messaging/core/journal/Journal.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/Journal.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/journal/Journal.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -51,7 +51,7 @@
void appendUpdateRecordTransactional(long txID, long id, byte recordType, EncodingSupport record) throws Exception;
- void appendDeleteRecordTransactional(long txID, long id) throws Exception;
+ void appendDeleteRecordTransactional(long txID, long id, EncodingSupport extraData) throws Exception;
void appendCommitRecord(long txID) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/journal/PreparedTransactionInfo.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/PreparedTransactionInfo.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/journal/PreparedTransactionInfo.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -43,7 +43,7 @@
public final List<RecordInfo> records = new ArrayList<RecordInfo>();
- public final Set<Long> recordsToDelete = new HashSet<Long>();
+ public final Set<RecordInfo> recordsToDelete = new HashSet<RecordInfo>();
public PreparedTransactionInfo(final long id, final byte[] extraData)
{
Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/JournalImpl.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -132,13 +132,13 @@
public static final byte UPDATE_RECORD_TX = 14;
- public static final int SIZE_DELETE_RECORD = BASIC_SIZE + SIZE_LONG;
+ public static final int SIZE_DELETE_RECORD_TX = BASIC_SIZE + SIZE_LONG + SIZE_LONG + SIZE_INT; // + record.length
- public static final byte DELETE_RECORD = 15;
+ public static final byte DELETE_RECORD_TX = 15;
- public static final int SIZE_DELETE_RECORD_TX = BASIC_SIZE + SIZE_LONG + SIZE_LONG;
+ public static final int SIZE_DELETE_RECORD = BASIC_SIZE + SIZE_LONG;
- public static final byte DELETE_RECORD_TX = 16;
+ public static final byte DELETE_RECORD = 16;
public static final int SIZE_COMPLETE_TRANSACTION_RECORD = BASIC_SIZE + SIZE_INT + SIZE_LONG; // + NumerOfElements*SIZE_INT*2
@@ -158,7 +158,7 @@
// Attributes ----------------------------------------------------
- private volatile boolean autoReclaim = true;
+ private boolean autoReclaim = true;
private final AtomicInteger nextOrderingId = new AtomicInteger(0);
@@ -460,28 +460,34 @@
}
}
- public void appendDeleteRecordTransactional(final long txID, final long id) throws Exception
+ public void appendDeleteRecordTransactional(final long txID, final long id, final EncodingSupport extraData) throws Exception
{
if (state != STATE_LOADED)
{
throw new IllegalStateException("Journal must be loaded first");
}
- int size = SIZE_DELETE_RECORD_TX;
+ int size = SIZE_DELETE_RECORD_TX + (extraData != null? extraData.getEncodeSize():0);
- ByteBuffer bb = newBuffer(size);
+ ByteBufferWrapper bb = new ByteBufferWrapper(newBuffer(size));
- bb.put(DELETE_RECORD_TX);
- bb.putInt(-1);
+
+ bb.putByte(DELETE_RECORD_TX);
+ bb.putInt(-1); // skip ID part
bb.putLong(txID);
- bb.putLong(id);
+ bb.putLong(id);
+ bb.putInt(extraData != null ? extraData.getEncodeSize() : 0);
+ if (extraData != null)
+ {
+ extraData.encode(bb);
+ }
bb.putInt(size);
lock.acquire();
try
{
- JournalFile usedFile = appendRecord(bb, false, getTransactionCallback(txID));
+ JournalFile usedFile = appendRecord(bb.getBuffer(), false, getTransactionCallback(txID));
JournalTransaction tx = getTransactionInfo(txID);
@@ -500,6 +506,8 @@
*
* <p> transactionData allows you to store any other supporting user-data related to the transaction</p>
*
+ * <p> This method also uses the same logic applied on {@link JournalImpl#appendCommitRecord(long)}
+ *
* @param txID
* @param transactionData - extra user data for the prepare
* @throws Exception
@@ -529,6 +537,23 @@
}
}
+ /**
+ * <p>A transaction record (Commit or Prepare), will hold the number of elements the transaction has on each file.</p>
+ * <p>For example, a transaction was spread along 3 journal files with 10 records on each file.
+ * (What could happen if there are too many records, or if an user event delayed records to come in time to a single file).</p>
+ * <p>The element-summary will then have</p>
+ * <p>FileID1, 10</p>
+ * <p>FileID2, 10</p>
+ * <p>FileID3, 10</p>
+ *
+ * <br>
+ * <p> During the load, the transaction needs to have 30 records spread across the files as originally written.</p>
+ * <p> If for any reason there are missing records, that means the transaction was not completed and we should ignore the whole transaction </p>
+ * <p> We can't just use a global counter as reclaiming could delete files after the transaction was successfully committed.
+ * That also means not having a whole file on journal-reload doesn't mean we have to invalidate the transaction </p>
+ *
+ * @see JournalImpl#writeTransaction(byte, long, org.jboss.messaging.core.journal.impl.JournalImpl.JournalTransaction, EncodingSupport)
+ */
public void appendCommitRecord(final long txID) throws Exception
{
if (state != STATE_LOADED)
@@ -805,7 +830,10 @@
continue;
}
- userRecordType = bb.get();
+ if (recordType != DELETE_RECORD_TX)
+ {
+ userRecordType = bb.get();
+ }
record = new byte[variableSize];
@@ -949,7 +977,7 @@
transactions.put(transactionID, tx);
}
- tx.recordsToDelete.add(recordID);
+ tx.recordsToDelete.add(new RecordInfo(recordID, (byte)0, record, true));
JournalTransaction tnp = transactionInfos.get(transactionID);
@@ -1050,9 +1078,9 @@
}
}
- for (long deleteValue: tx.recordsToDelete)
+ for (RecordInfo deleteValue: tx.recordsToDelete)
{
- loadManager.deleteRecord(deleteValue);
+ loadManager.deleteRecord(deleteValue.id);
}
journalTransaction.commit(file);
@@ -1084,7 +1112,7 @@
throw new IllegalStateException("Cannot find tx " + transactionID);
}
- // There is no need to validate summaries on Rollbacks.. We will ignore the data anyway.
+ // There is no need to validate summaries/holes on Rollbacks.. We will ignore the data anyway.
tnp.rollback(file);
hasData = true;
@@ -1514,12 +1542,13 @@
/**
+ * <p> Check for holes on the transaction (a commit written but with an incomplete transaction) </p>
* <p>This method will validate if the transaction (PREPARE/COMMIT) is complete as stated on the COMMIT-RECORD.</p>
* <p> We record a summary about the records on the journal file on COMMIT and PREPARE.
* When we load the records we build a new summary and we check the original summary to the current summary.
* This method is basically verifying if the entire transaction is being loaded </p>
*
- * <p>Look at the javadoc on {@link JournalImpl#writeTransaction(byte, long, org.jboss.messaging.core.journal.impl.JournalImpl.JournalTransaction, EncodingSupport)} about how the transaction-summary is recorded</p>
+ * <p>Look at the javadoc on {@link JournalImpl#appendCommitRecord(long)} about how the transaction-summary is recorded</p>
*
* @param journalTransaction
* @param orderedFiles
@@ -1557,6 +1586,7 @@
// so this transaction is broken and needs to be ignored.
// This is probably a hole caused by a crash during commit.
found = true;
+ break;
}
}
if (found)
@@ -1581,7 +1611,6 @@
}
/**
- *
* <p>A transaction record (Commit or Prepare), will hold the number of elements the transaction has on each file.</p>
* <p>For example, a transaction was spread along 3 journal files with 10 records on each file.
* (What could happen if there are too many records, or if an user event delayed records to come in time to a single file).</p>
@@ -1650,7 +1679,7 @@
private boolean isContainsBody(final byte recordType)
{
- return recordType >= ADD_RECORD && recordType <= UPDATE_RECORD_TX;
+ return recordType >= ADD_RECORD && recordType <= DELETE_RECORD_TX;
}
private int getRecordSize(final byte recordType)
@@ -2116,7 +2145,7 @@
/** This queue is fed by {@link JournalImpl.ReuseBuffersController.LocalBufferCallback}} which is called directly by NIO or NIO.
* On the case of the AIO this is almost called by the native layer as soon as the buffer is not being used any more
- * and ready to reused or GCed */
+ * and ready to be reused or GCed */
private final ConcurrentLinkedQueue<ByteBuffer> reuseBuffers = new ConcurrentLinkedQueue<ByteBuffer>();
final BufferCallback callback = new LocalBufferCallback();
Modified: trunk/src/main/org/jboss/messaging/core/journal/impl/TransactionHolder.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/journal/impl/TransactionHolder.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/journal/impl/TransactionHolder.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -49,7 +49,7 @@
public final List<RecordInfo> recordInfos = new ArrayList<RecordInfo>();
- public final Set<Long> recordsToDelete = new HashSet<Long>();
+ public final Set<RecordInfo> recordsToDelete = new HashSet<RecordInfo>();
public boolean prepared;
Modified: trunk/src/main/org/jboss/messaging/core/message/Message.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/message/Message.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/message/Message.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -40,7 +40,7 @@
*
* $Id: Message.java 3341 2007-11-19 14:34:57Z timfox $
*/
-public interface Message extends EncodingSupport
+public interface Message
{
SimpleString getDestination();
Modified: trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/persistence/StorageManager.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -62,7 +62,10 @@
void storeAcknowledgeTransactional(long txID, long queueID, long messageiD) throws Exception;
- void storeDeleteTransactional(long txID, long messageID) throws Exception;
+ void storeDeleteMessageTransactional(long txID, long messageID, long queueID) throws Exception;
+
+ /** Used to delete non-messaging data (such as PageTransaction and LasPage) */
+ void storeDeleteTransactional(long txID, long recordID) throws Exception;
void prepare(long txID, Xid xid) throws Exception;
Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/journal/JournalStorageManager.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -223,7 +223,7 @@
if (pageTransaction.getRecordID() != 0)
{
// Instead of updating the record, we delete the old one as that is better for reclaiming
- messageJournal.appendDeleteRecordTransactional(txID, pageTransaction.getRecordID());
+ messageJournal.appendDeleteRecordTransactional(txID, pageTransaction.getRecordID(), null);
}
pageTransaction.setRecordID(generateID());
messageJournal.appendAddRecordTransactional(txID, pageTransaction.getRecordID(), PAGE_TRANSACTION, pageTransaction);
@@ -234,7 +234,7 @@
if (lastPage.getRecordId() != 0)
{
// To avoid linked list effect on reclaiming, we delete and add a new record, instead of simply updating it
- messageJournal.appendDeleteRecordTransactional(txID, lastPage.getRecordId());
+ messageJournal.appendDeleteRecordTransactional(txID, lastPage.getRecordId(), null);
}
lastPage.setRecordId(generateID());
messageJournal.appendAddRecordTransactional(txID, lastPage.getRecordId(), LAST_PAGE, lastPage);
@@ -245,10 +245,15 @@
messageJournal.appendUpdateRecordTransactional(txID, messageID, ACKNOWLEDGE_REF, new ACKEncoding(queueID));
}
- public void storeDeleteTransactional(long txID, long messageID) throws Exception
+ public void storeDeleteTransactional(long txID, long recordID) throws Exception
{
- messageJournal.appendDeleteRecordTransactional(txID, messageID);
+ messageJournal.appendDeleteRecordTransactional(txID, recordID, null);
}
+
+ public void storeDeleteMessageTransactional(long txID, long messageID, long queueID) throws Exception
+ {
+ messageJournal.appendDeleteRecordTransactional(txID, messageID, new DeleteEncoding(queueID));
+ }
public void prepare(long txID, Xid xid) throws Exception
{
@@ -818,20 +823,19 @@
}
-
- private class ACKEncoding implements EncodingSupport
+ private class QueueEncoding implements EncodingSupport
{
long queueID;
- public ACKEncoding(long queueID)
+ public QueueEncoding(long queueID)
{
super();
this.queueID = queueID;
}
- public ACKEncoding()
+ public QueueEncoding()
{
super();
}
@@ -853,7 +857,34 @@
}
+ private class DeleteEncoding extends QueueEncoding
+ {
+
+ public DeleteEncoding()
+ {
+ super();
+ }
+
+ public DeleteEncoding(long queueID)
+ {
+ super(queueID);
+ }
+
+ }
+ private class ACKEncoding extends QueueEncoding
+ {
+ public ACKEncoding()
+ {
+ super();
+ }
+
+ public ACKEncoding(long queueID)
+ {
+ super(queueID);
+ }
+ }
+
}
Modified: trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/persistence/impl/nullpm/NullStorageManager.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -172,5 +172,10 @@
{
}
+ public void storeDeleteMessageTransactional(long txID, long messageID,
+ long queueID) throws Exception
+ {
+ }
+
}
Modified: trunk/src/main/org/jboss/messaging/core/server/ServerMessage.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/ServerMessage.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/src/main/org/jboss/messaging/core/server/ServerMessage.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -22,6 +22,7 @@
package org.jboss.messaging.core.server;
+import org.jboss.messaging.core.journal.EncodingSupport;
import org.jboss.messaging.core.message.Message;
/**
@@ -32,7 +33,7 @@
* @author <a href="mailto:clebert.suconic at jboss.com">Clebert Suconic</a>
*
*/
-public interface ServerMessage extends Message
+public interface ServerMessage extends Message, EncodingSupport
{
long getMessageID();
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/AlignedJournalImplTest.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -515,7 +515,7 @@
for (int i = 0; i < 10; i++)
{
- journalImpl.appendDeleteRecordTransactional(2l, (long)i);
+ journalImpl.appendDeleteRecordTransactional(2l, (long)i, null);
journalImpl.forceMoveNextFile();
}
@@ -823,7 +823,7 @@
for (int i=0;i<10;i++)
{
- journalImpl.appendDeleteRecordTransactional(2l, (long)i);
+ journalImpl.appendDeleteRecordTransactional(2l, (long)i, null);
}
journalImpl.appendCommitRecord(2l);
@@ -862,7 +862,7 @@
{
journalImpl.forceMoveNextFile();
}
- journalImpl.appendDeleteRecordTransactional(2l, (long)i);
+ journalImpl.appendDeleteRecordTransactional(2l, (long)i, null);
}
journalImpl.appendCommitRecord(2l);
@@ -884,22 +884,34 @@
assertEquals(0, records.size());
assertEquals(0, transactions.size());
-
- journalImpl.appendAddRecordTransactional(1, 1, (byte) 1, new SimpleEncoding(50,(byte) 1));
SimpleEncoding xid = new SimpleEncoding(10, (byte)1);
+ journalImpl.appendAddRecord(10l, (byte)0, new SimpleEncoding(10, (byte)0));
+
+ journalImpl.appendDeleteRecordTransactional(1l, 10l, new SimpleEncoding(100, (byte)'j'));
+
journalImpl.appendPrepareRecord(1, xid);
- journalImpl.appendAddRecord(2l, (byte)1, new SimpleEncoding(10, (byte)1));
-
journalImpl.debugWait();
setupJournal(JOURNAL_SIZE, 1);
assertEquals(1, transactions.size());
+ assertEquals(1, transactions.get(0).recordsToDelete.size());
assertEquals(1, records.size());
+
+ for (RecordInfo record: transactions.get(0).recordsToDelete)
+ {
+ byte[] data = record.data;
+ assertEquals(100, data.length);
+ for (int i = 0; i < data.length; i++)
+ {
+ assertEquals((byte)'j', data[i]);
+ }
+ }
+
assertEquals(10, transactions.get(0).extraData.length);
for (int i = 0; i < 10; i++)
@@ -907,7 +919,16 @@
assertEquals((byte)1, transactions.get(0).extraData[i]);
}
+ journalImpl.appendCommitRecord(1l);
+
+ journalImpl.debugWait();
+ setupJournal(JOURNAL_SIZE, 1);
+
+ assertEquals(0, transactions.size());
+ assertEquals(0, records.size());
+
+
}
@@ -961,7 +982,7 @@
for (int i = 0; i < 10; i++)
{
- journalImpl.appendDeleteRecordTransactional(2l, (long)i);
+ journalImpl.appendDeleteRecordTransactional(2l, (long)i, null);
}
SimpleEncoding xid2 = new SimpleEncoding(15, (byte)2);
@@ -1126,7 +1147,6 @@
assertEquals(10, records.size());
}
- // It should be ok to write records on NIO, and later read then on AIO
public void testEmptyPrepare() throws Exception
{
final int JOURNAL_SIZE = 512 * 4;
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -280,9 +280,9 @@
for (int i = 0; i < arguments.length; i++)
{
- journal.appendDeleteRecordTransactional(txID, arguments[i]);
+ journal.appendDeleteRecordTransactional(txID, arguments[i], null);
- tx.deletes.add(arguments[i]);
+ tx.deletes.add(new RecordInfo(arguments[i], (byte)0, null, true));
}
journal.debugWait();
@@ -349,9 +349,9 @@
records.addAll(tx.records);
- for (Long l: tx.deletes)
+ for (RecordInfo l: tx.deletes)
{
- removeRecordsForID(l);
+ removeRecordsForID(l.id);
}
}
@@ -402,15 +402,15 @@
assertEquals("deletes size not same", rexpected.recordsToDelete.size(), ractual.recordsToDelete.size());
- Iterator<Long> iterDeletesExpected = rexpected.recordsToDelete.iterator();
+ Iterator<RecordInfo> iterDeletesExpected = rexpected.recordsToDelete.iterator();
- Iterator<Long> iterDeletesActual = ractual.recordsToDelete.iterator();
+ Iterator<RecordInfo> iterDeletesActual = ractual.recordsToDelete.iterator();
while (iterDeletesExpected.hasNext())
{
- long lexpected = iterDeletesExpected.next();
+ long lexpected = iterDeletesExpected.next().id;
- long lactual = iterDeletesActual.next();
+ long lactual = iterDeletesActual.next().id;
assertEquals("Delete ids not same", lexpected, lactual);
}
@@ -458,7 +458,7 @@
{
List<RecordInfo> records = new ArrayList<RecordInfo>();
- List<Long> deletes = new ArrayList<Long>();
+ List<RecordInfo> deletes = new ArrayList<RecordInfo>();
boolean prepared;
}
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/message/impl/MessageImplTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/message/impl/MessageImplTestBase.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/message/impl/MessageImplTestBase.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -343,7 +343,7 @@
// Private ----------------------------------------------------------------------------------
- private void checkSizes(final EncodingSupport obj, final EncodingSupport newObject)
+ private void checkSizes(final Message obj, final EncodingSupport newObject)
{
ByteBuffer bf = ByteBuffer.allocateDirect(1024);
ByteBufferWrapper buffer = new ByteBufferWrapper(bf);
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/persistence/impl/journal/JournalStorageManagerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/persistence/impl/journal/JournalStorageManagerTest.java 2008-09-10 16:28:41 UTC (rev 4928)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/persistence/impl/journal/JournalStorageManagerTest.java 2008-09-10 21:03:06 UTC (rev 4929)
@@ -153,7 +153,7 @@
final long messageID = 101921092;
final long txID = 1209373;
- messageJournal.appendDeleteRecordTransactional(txID, messageID);
+ messageJournal.appendDeleteRecordTransactional(txID, messageID, null);
EasyMock.replay(messageJournal, bindingsJournal);
jsm.storeDeleteTransactional(txID, messageID);
EasyMock.verify(messageJournal, bindingsJournal);
More information about the jboss-cvs-commits
mailing list