[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