[jbosscache-commits] JBoss Cache SVN: r7591 - in core/branches/flat/src: test/java/org/horizon/tx and 1 other directory.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Fri Jan 23 08:53:15 EST 2009
Author: manik.surtani at jboss.com
Date: 2009-01-23 08:53:15 -0500 (Fri, 23 Jan 2009)
New Revision: 7591
Modified:
core/branches/flat/src/main/java/org/horizon/transaction/DummyTransaction.java
core/branches/flat/src/main/java/org/horizon/transaction/TransactionTable.java
core/branches/flat/src/test/java/org/horizon/tx/MarkAsRollbackTest.java
Log:
JBCACHE-1468: JBoss Cache ignores transactions with STATUS_MARKED_ROLLBACK and auto commits data changes
Modified: core/branches/flat/src/main/java/org/horizon/transaction/DummyTransaction.java
===================================================================
--- core/branches/flat/src/main/java/org/horizon/transaction/DummyTransaction.java 2009-01-23 13:50:07 UTC (rev 7590)
+++ core/branches/flat/src/main/java/org/horizon/transaction/DummyTransaction.java 2009-01-23 13:53:15 UTC (rev 7591)
@@ -37,8 +37,6 @@
/**
* @author bela
- * <p/>
- * Date: May 15, 2003 Time: 4:20:17 PM
* @since 1.0
*/
public class DummyTransaction implements Transaction {
@@ -189,7 +187,6 @@
throw new IllegalArgumentException("null synchronization " + this);
switch (status) {
- case Status.STATUS_MARKED_ROLLBACK: // we should allow synchronizations to be registered even if the status is MARKED_ROLLBACK
case Status.STATUS_ACTIVE:
case Status.STATUS_PREPARING:
break;
@@ -199,6 +196,8 @@
throw new IllegalStateException("already started committing. " + this);
case Status.STATUS_COMMITTED:
throw new IllegalStateException("already committed. " + this);
+ case Status.STATUS_MARKED_ROLLBACK:
+ throw new RollbackException("already marked for rollback " + this);
case Status.STATUS_ROLLING_BACK:
throw new RollbackException("already started rolling back. " + this);
case Status.STATUS_ROLLEDBACK:
Modified: core/branches/flat/src/main/java/org/horizon/transaction/TransactionTable.java
===================================================================
--- core/branches/flat/src/main/java/org/horizon/transaction/TransactionTable.java 2009-01-23 13:50:07 UTC (rev 7590)
+++ core/branches/flat/src/main/java/org/horizon/transaction/TransactionTable.java 2009-01-23 13:53:15 UTC (rev 7591)
@@ -250,29 +250,13 @@
}
/**
- * Returns true if transaction is STATUS_MARKED_ROLLBACK, false otherwise
- */
- public static boolean isMarkedAsRollback(Transaction tx) {
- if (tx == null) return false;
- int status;
- try {
- status = tx.getStatus();
- return status == Status.STATUS_MARKED_ROLLBACK;
- }
- catch (SystemException e) {
- return false;
- }
- }
-
-
- /**
- * Return s true of tx's status is ACTIVE or PREPARING or MARKED_ROLLBACK
+ * Return s true of tx's status is ACTIVE or PREPARING
*
* @param tx
* @return true if the tx is active or preparing
*/
public static boolean isValid(Transaction tx) {
- return isActive(tx) || isPreparing(tx) || isMarkedAsRollback(tx);
+ return isActive(tx) || isPreparing(tx);
}
/**
Modified: core/branches/flat/src/test/java/org/horizon/tx/MarkAsRollbackTest.java
===================================================================
--- core/branches/flat/src/test/java/org/horizon/tx/MarkAsRollbackTest.java 2009-01-23 13:50:07 UTC (rev 7590)
+++ core/branches/flat/src/test/java/org/horizon/tx/MarkAsRollbackTest.java 2009-01-23 13:53:15 UTC (rev 7591)
@@ -52,9 +52,13 @@
assert tm != null;
tm.begin();
tm.setRollbackOnly();
- cache.put("k", "v");
- assert cache.get("k").equals("v");
try {
+ cache.put("k", "v");
+ assert false : "Should have throw an illegal state exception";
+ } catch (IllegalStateException expected) {
+
+ }
+ try {
tm.commit();
assert false : "Should have rolled back";
}
More information about the jbosscache-commits
mailing list