Return-Path: X-Original-To: apmail-ignite-commits-archive@minotaur.apache.org Delivered-To: apmail-ignite-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A2F9417E4C for ; Thu, 21 May 2015 13:53:14 +0000 (UTC) Received: (qmail 30202 invoked by uid 500); 21 May 2015 13:53:14 -0000 Delivered-To: apmail-ignite-commits-archive@ignite.apache.org Received: (qmail 30169 invoked by uid 500); 21 May 2015 13:53:14 -0000 Mailing-List: contact commits-help@ignite.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.incubator.apache.org Delivered-To: mailing list commits@ignite.incubator.apache.org Received: (qmail 30065 invoked by uid 99); 21 May 2015 13:53:14 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 May 2015 13:53:14 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 164CDC73CD for ; Thu, 21 May 2015 13:53:14 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.77 X-Spam-Level: * X-Spam-Status: No, score=1.77 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id d156jWw4lEvg for ; Thu, 21 May 2015 13:52:59 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with SMTP id 84EF9262D5 for ; Thu, 21 May 2015 13:52:51 +0000 (UTC) Received: (qmail 27976 invoked by uid 99); 21 May 2015 13:52:51 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 May 2015 13:52:51 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 44DB5E51B5; Thu, 21 May 2015 13:52:51 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sboikov@apache.org To: commits@ignite.incubator.apache.org Date: Thu, 21 May 2015 13:53:06 -0000 Message-Id: <5615ba514f09468aa630e1a1cfcacef0@git.apache.org> In-Reply-To: <13dc7ac9b3b94b40b71e3f6d0802a7cf@git.apache.org> References: <13dc7ac9b3b94b40b71e3f6d0802a7cf@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [17/50] [abbrv] 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-37 Commit: 2149639dd360ad6f180e16d23dbe878b05cc730a Parents: a27a35d Author: sboikov Authored: Sat May 16 06:59:51 2015 +0300 Committer: sboikov 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() { + GridTestUtils.runMultiThreadedAsync(new Callable() { @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() { + @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() { + @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(); + } }