You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by se...@apache.org on 2015/05/17 21:37:45 UTC
[23/26] incubator-ignite git commit: # added test
# added test
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/2149639d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/2149639d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/2149639d
Branch: refs/heads/ignite-709_2
Commit: 2149639dd360ad6f180e16d23dbe878b05cc730a
Parents: a27a35d
Author: sboikov <se...@inria.fr>
Authored: Sat May 16 06:59:51 2015 +0300
Committer: sboikov <se...@inria.fr>
Committed: Sat May 16 06:59:51 2015 +0300
----------------------------------------------------------------------
.../near/IgniteCacheNearOnlyTxTest.java | 52 +++++++++++++++++++-
1 file changed, 51 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/2149639d/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheNearOnlyTxTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheNearOnlyTxTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheNearOnlyTxTest.java
index 06a4bfc..88e7f03 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheNearOnlyTxTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/IgniteCacheNearOnlyTxTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.processors.cache.distributed.near;
import org.apache.ignite.*;
import org.apache.ignite.cache.*;
import org.apache.ignite.configuration.*;
+import org.apache.ignite.internal.*;
import org.apache.ignite.internal.processors.cache.*;
import org.apache.ignite.testframework.*;
import org.apache.ignite.transactions.*;
@@ -77,7 +78,7 @@ public class IgniteCacheNearOnlyTxTest extends IgniteCacheAbstractTest {
ignite1.createNearCache(null, new NearCacheConfiguration<>());
- GridTestUtils.runMultiThreaded(new Callable<Object>() {
+ GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
@Override public Object call() throws Exception {
IgniteCache cache = ignite1.cache(null);
@@ -137,4 +138,53 @@ public class IgniteCacheNearOnlyTxTest extends IgniteCacheAbstractTest {
}
}, 5, "put-thread");
}
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testConcurrentTx() throws Exception {
+ final Ignite ignite1 = ignite(1);
+
+ assertTrue(ignite1.configuration().isClientMode());
+
+ ignite1.createNearCache(null, new NearCacheConfiguration<>());
+
+ IgniteInternalFuture<?> fut1 = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ IgniteCache cache = ignite1.cache(null);
+
+ int key = 1;
+
+ for (int i = 0; i < 100; i++)
+ cache.put(key, 1);
+
+ return null;
+ }
+ }, 5, "put1-thread");
+
+ IgniteInternalFuture<?> fut2 = GridTestUtils.runMultiThreadedAsync(new Callable<Object>() {
+ @Override public Object call() throws Exception {
+ IgniteCache cache = ignite1.cache(null);
+
+ int key = 1;
+
+ IgniteTransactions txs = ignite1.transactions();
+
+ for (int i = 0; i < 100; i++) {
+ try (Transaction tx = txs.txStart(PESSIMISTIC, REPEATABLE_READ)) {
+ cache.get(key);
+
+ cache.put(key, 1);
+
+ tx.commit();
+ }
+ }
+
+ return null;
+ }
+ }, 5, "put2-thread");
+
+ fut1.get();
+ fut2.get();
+ }
}