[jboss-cvs] JBoss Messaging SVN: r7521 - trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jul 6 10:56:43 EDT 2009
Author: clebert.suconic at jboss.com
Date: 2009-07-06 10:56:43 -0400 (Mon, 06 Jul 2009)
New Revision: 7521
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/JournalImplTestUnit.java
Log:
Validating empty XA Transactions on Journal (to catch eventual NPEs)
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 2009-07-06 14:05:40 UTC (rev 7520)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestBase.java 2009-07-06 14:56:43 UTC (rev 7521)
@@ -313,7 +313,8 @@
if (tx == null)
{
- throw new IllegalStateException("Cannot find tx " + txID);
+ tx = new TransactionHolder();
+ transactions.put(txID, tx);
}
if (tx.prepared)
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2009-07-06 14:05:40 UTC (rev 7520)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/JournalImplTestUnit.java 2009-07-06 14:56:43 UTC (rev 7521)
@@ -22,9 +22,11 @@
package org.jboss.messaging.tests.unit.core.journal.impl;
+import java.util.ArrayList;
import java.util.List;
import org.jboss.messaging.core.journal.EncodingSupport;
+import org.jboss.messaging.core.journal.PreparedTransactionInfo;
import org.jboss.messaging.core.journal.RecordInfo;
import org.jboss.messaging.core.journal.impl.JournalImpl;
import org.jboss.messaging.core.logging.Logger;
@@ -1665,6 +1667,42 @@
assertEquals(1, journal.getIDMapSize());
}
+ public void testEmptyPrepare() throws Exception
+ {
+ setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength,
+ getAlignment()) +
+ 512, true);
+ createJournal();
+ startJournal();
+ load();
+
+ EncodingSupport xid = new SimpleEncoding(10, (byte)0);
+ prepare(1, xid);
+
+ stopJournal();
+ createJournal();
+ startJournal();
+ loadAndCheck();
+
+ commit(1);
+
+ xid = new SimpleEncoding(10, (byte)1);
+ prepare(2, xid);
+
+ stopJournal();
+ createJournal();
+ startJournal();
+ loadAndCheck();
+
+ rollback(2);
+
+ stopJournal();
+ createJournal();
+ startJournal();
+ loadAndCheck();
+
+ }
+
public void testPrepareNoReclaim() throws Exception
{
setup(2, calculateRecordSize(JournalImpl.SIZE_HEADER, getAlignment()) + calculateRecordSize(recordLength,
More information about the jboss-cvs-commits
mailing list