You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2015/07/18 00:40:20 UTC

incubator-ignite git commit: IGNITE-1133 - Fixed transaction overlapping.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-1133 f557728b3 -> 6a0d58b72


IGNITE-1133 - Fixed transaction overlapping.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6a0d58b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6a0d58b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6a0d58b7

Branch: refs/heads/ignite-1133
Commit: 6a0d58b724555a57a4e6e006ed79e08570b129f6
Parents: f557728
Author: Alexey Goncharuk <ag...@gridgain.com>
Authored: Fri Jul 17 15:40:13 2015 -0700
Committer: Alexey Goncharuk <ag...@gridgain.com>
Committed: Fri Jul 17 15:40:13 2015 -0700

----------------------------------------------------------------------
 .../processors/cache/GridCacheContext.java      |  2 +-
 .../cache/IgniteInternalCacheTypesTest.java     |  4 +--
 .../GridCacheSequenceApiSelfAbstractTest.java   | 17 ++++++++++++
 .../GridCacheSetAbstractSelfTest.java           | 27 ++++++++++++++++++++
 .../IgniteAtomicLongApiAbstractSelfTest.java    | 20 +++++++++++++++
 .../processors/igfs/IgfsStartCacheTest.java     |  2 +-
 6 files changed, 68 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
index 5f17746..bf83448 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java
@@ -440,7 +440,7 @@ public class GridCacheContext<K, V> implements Externalizable {
      * @return {@code True} if should use system transactions which are isolated from user transactions.
      */
     public boolean systemTx() {
-        return cacheType == CacheType.UTILITY;
+        return !cacheType.userCache();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
index 8c2a0f8..f0fc769 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteInternalCacheTypesTest.java
@@ -127,9 +127,9 @@ public class IgniteInternalCacheTypesTest extends GridCommonAbstractTest {
 
         checkCache(ignite, CU.UTILITY_CACHE_NAME, UTILITY_CACHE_POOL, false, true);
 
-        checkCache(ignite, CU.MARSH_CACHE_NAME, MARSH_CACHE_POOL, false, false);
+        checkCache(ignite, CU.MARSH_CACHE_NAME, MARSH_CACHE_POOL, false, true);
 
-        checkCache(ignite, CU.ATOMICS_CACHE_NAME, SYSTEM_POOL, false, false);
+        checkCache(ignite, CU.ATOMICS_CACHE_NAME, SYSTEM_POOL, false, true);
 
         for (String cache : userCaches)
             checkCache(ignite, cache, SYSTEM_POOL, true, false);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
index 49e78c9..4668404 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSequenceApiSelfAbstractTest.java
@@ -165,6 +165,23 @@ public abstract class GridCacheSequenceApiSelfAbstractTest extends IgniteAtomics
     /**
      * @throws Exception If failed.
      */
+    public void testSequenceWithinUserTx() throws Exception {
+        String seqName = UUID.randomUUID().toString();
+
+        IgniteEx ig = grid();
+
+        try (Transaction tx = ig.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            IgniteAtomicSequence seq = ig.atomicSequence(seqName, 0, true);
+
+            assertEquals(1, seq.incrementAndGet());
+
+            tx.commit();
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testAddWrongValue() throws Exception {
         for (IgniteAtomicSequence seq : seqArr) {
             try {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSetAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSetAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSetAbstractSelfTest.java
index 0494bcc..e23976b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSetAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheSetAbstractSelfTest.java
@@ -27,12 +27,15 @@ import org.apache.ignite.internal.util.lang.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.testframework.*;
+import org.apache.ignite.transactions.*;
 
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
 
 import static org.apache.ignite.cache.CacheMode.*;
+import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
+import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ;
 
 /**
  * Cache set tests.
@@ -384,6 +387,30 @@ public abstract class GridCacheSetAbstractSelfTest extends IgniteCollectionAbstr
     /**
      * @throws Exception If failed.
      */
+    public void testSetWithinUserTx() throws Exception {
+        IgniteEx ig = grid(0);
+
+        ig.set("warmup", new CollectionConfiguration()).close();
+
+        try (Transaction tx = ig.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            String setName = UUID.randomUUID().toString();
+
+            IgniteSet<Object> set = ig.set(setName, new CollectionConfiguration());
+
+            set.add("1");
+            set.add("2");
+            set.add("3");
+            set.add("1");
+
+            assertEquals(3, set.size());
+
+            tx.commit();
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testIteratorCollocated() throws Exception {
         testIterator(true);
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteAtomicLongApiAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteAtomicLongApiAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteAtomicLongApiAbstractSelfTest.java
index 2c0d8d5..685dbf2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteAtomicLongApiAbstractSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/IgniteAtomicLongApiAbstractSelfTest.java
@@ -19,11 +19,14 @@ package org.apache.ignite.internal.processors.cache.datastructures;
 
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
 import org.apache.ignite.transactions.*;
 
 import java.util.*;
 
 import static org.apache.ignite.cache.CacheAtomicityMode.*;
+import static org.apache.ignite.transactions.TransactionConcurrency.*;
+import static org.apache.ignite.transactions.TransactionIsolation.*;
 
 /**
  * Cache atomic long api test.
@@ -98,6 +101,23 @@ public abstract class IgniteAtomicLongApiAbstractSelfTest extends IgniteAtomicsA
     /**
      * @throws Exception If failed.
      */
+    public void testAtomicLongWithinUserTransaction() throws Exception {
+        IgniteEx ig = grid(0);
+
+        try (Transaction tx = ig.transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) {
+            String name = UUID.randomUUID().toString();
+
+            IgniteAtomicLong atomic = ig.atomicLong(name, 0, true);
+
+            assertEquals(1, atomic.incrementAndGet());
+
+            tx.commit();
+        }
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
     public void testIncrementAndGet() throws Exception {
         info("Running test [name=" + getName() + ", cacheMode=" + atomicsCacheMode() + ']');
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a0d58b7/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
index b5162e2..e251502 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsStartCacheTest.java
@@ -152,7 +152,7 @@ public class IgfsStartCacheTest extends IgfsCommonAbstractTest {
     private void checkCache(GridCacheAdapter cache) {
         assertNotNull(cache);
         assertFalse(cache.context().userCache());
-        assertFalse(cache.context().systemTx());
+        assertTrue(cache.context().systemTx());
         assertEquals(SYSTEM_POOL, cache.context().ioPolicy());
     }
 }