[infinispan-commits] Infinispan SVN: r2012 - in branches/4.1.x/core/src: test/java/org/infinispan/distribution and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Sat Jul 10 03:59:28 EDT 2010


Author: sannegrinovero
Date: 2010-07-10 03:59:28 -0400 (Sat, 10 Jul 2010)
New Revision: 2012

Modified:
   branches/4.1.x/core/src/main/java/org/infinispan/interceptors/BatchingInterceptor.java
   branches/4.1.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
   branches/4.1.x/core/src/test/java/org/infinispan/distribution/DistSkipRemoteLookupTest.java
Log:
[ISPN-535] (Flags ignored when batching out of transaction) - branch 4.1

Modified: branches/4.1.x/core/src/main/java/org/infinispan/interceptors/BatchingInterceptor.java
===================================================================
--- branches/4.1.x/core/src/main/java/org/infinispan/interceptors/BatchingInterceptor.java	2010-07-10 07:40:08 UTC (rev 2011)
+++ branches/4.1.x/core/src/main/java/org/infinispan/interceptors/BatchingInterceptor.java	2010-07-10 07:59:28 UTC (rev 2012)
@@ -66,6 +66,7 @@
             // so that all interceptors in the stack will be executed in a transactional context.
             // This is where a new context (TxInvocationContext) is created, as the existing context is not transactional: NonTxInvocationContext.
             InvocationContext txContext = icc.createInvocationContext();
+            txContext.setFlags(ctx.getFlags());
             return invokeNextInterceptor(txContext, command);
          } finally {
             if (transactionManager.getTransaction() != null && batchContainer.isSuspendTxAfterInvocation())

Modified: branches/4.1.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java
===================================================================
--- branches/4.1.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java	2010-07-10 07:40:08 UTC (rev 2011)
+++ branches/4.1.x/core/src/test/java/org/infinispan/distribution/BaseDistFunctionalTest.java	2010-07-10 07:59:28 UTC (rev 2012)
@@ -58,6 +58,7 @@
          // tests repeatedly queries changes
          configuration.setIsolationLevel(IsolationLevel.REPEATABLE_READ);
       }
+      configuration.setInvocationBatchingEnabled(batchingEnabled());
       configuration.setSyncReplTimeout(60, TimeUnit.SECONDS);
       configuration.setLockAcquisitionTimeout(45, TimeUnit.SECONDS);
       configuration.setL1CacheEnabled(l1CacheEnabled);
@@ -81,6 +82,10 @@
 
    }
 
+   protected boolean batchingEnabled() {
+      return false;
+   }
+
    public static ConsistentHash createNewConsistentHash(List<Address> servers) {
       try {
          return ConsistentHashHelper.createConsistentHash(DefaultConsistentHash.class, servers);

Modified: branches/4.1.x/core/src/test/java/org/infinispan/distribution/DistSkipRemoteLookupTest.java
===================================================================
--- branches/4.1.x/core/src/test/java/org/infinispan/distribution/DistSkipRemoteLookupTest.java	2010-07-10 07:40:08 UTC (rev 2011)
+++ branches/4.1.x/core/src/test/java/org/infinispan/distribution/DistSkipRemoteLookupTest.java	2010-07-10 07:59:28 UTC (rev 2012)
@@ -18,7 +18,23 @@
 
       assertOwnershipAndNonOwnership(k1);
    }
+   
+   public void testSkipLookupOnGetWhileBatching() {
+      MagicKey k1 = new MagicKey(c1);
+      c1.put(k1, "batchingMagicValue-h1");
 
+      assertIsInContainerImmortal(c1, k1);
+      assertIsInContainerImmortal(c2, k1);
+      assertIsNotInL1(c3, k1);
+      assertIsNotInL1(c4, k1);
+
+      c4.startBatch();
+      assert c4.getAdvancedCache().withFlags(SKIP_REMOTE_LOOKUP).get(k1) == null;
+      c4.endBatch(true);
+
+      assertOwnershipAndNonOwnership(k1);
+   }
+
    public void testCorrectFunctionalityOnConditionalWrite() {
       MagicKey k1 = new MagicKey(c1);
       c1.put(k1, "value");
@@ -49,4 +65,9 @@
       assert c3.get(k1).equals("new_val");
       assertOnAllCachesAndOwnership(k1, "new_val");
    }
+   
+   @Override
+   protected boolean batchingEnabled() {
+      return true;
+   }
 }



More information about the infinispan-commits mailing list