#ignite-990: Move tests for getOutTx.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3440a8c2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3440a8c2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3440a8c2 Branch: refs/heads/ignite-990 Commit: 3440a8c293cadc57510db33ad7df65606374d9ba Parents: 3222175 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Wed Jun 3 18:38:56 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Wed Jun 3 18:38:56 2015 +0300 ---------------------------------------------------------------------- .../cache/GridCacheAbstractFullApiSelfTest.java | 92 +++++++++++++++++ .../GridCacheExAbstractFullApiSelfTest.java | 103 ------------------- .../GridCacheExColocatedFullApiSelfTest.java | 33 ------ .../near/GridCacheExNearFullApiSelfTest.java | 39 ------- .../GridCacheExReplicatedFullApiSelfTest.java | 33 ------ .../local/GridCacheExLocalFullApiSelfTest.java | 30 ------ .../IgniteCacheFullApiSelfTestSuite.java | 6 -- 7 files changed, 92 insertions(+), 244 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java index da20869..9568d84 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFullApiSelfTest.java @@ -4893,6 +4893,98 @@ public abstract class GridCacheAbstractFullApiSelfTest extends GridCacheAbstract } /** + * @throws Exception If failed. + */ + public void testGetOutTx() throws Exception { + checkGetOutTx(false); + } + + /** + * @throws Exception If failed. + */ + public void testGetOutTxAsync() throws Exception { + checkGetOutTx(true); + } + + /** + * @throws Exception If failed. + */ + private void checkGetOutTx(boolean async) throws Exception { + final AtomicInteger lockEvtCnt = new AtomicInteger(); + + IgnitePredicate<Event> lsnr = new IgnitePredicate<Event>() { + @Override public boolean apply(Event evt) { + lockEvtCnt.incrementAndGet(); + + return true; + } + }; + + try { + grid(0).events().localListen(lsnr, EVT_CACHE_OBJECT_LOCKED, EVT_CACHE_OBJECT_UNLOCKED); + + IgniteCache<String, Integer> cache = grid(0).cache(null); + + if (async) + cache = cache.withAsync(); + + try (Transaction tx = transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { + int key = 0; + + for (int i = 0; i < 1000; i++) { + ClusterNode node = grid(0).affinity(null).mapKeyToNode("key" + i); + + //Client only mode. + if (node == null) + return; + + if (node.id().equals(grid(0).localNode().id())) { + key = i; + + break; + } + } + + cache.get("key" + key); + + if (async) + cache.future().get(); + + for (int i = key + 1; i < 1000; i++) { + if (grid(0).affinity(null).mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) { + key = i; + + break; + } + } + + cache.getAllOutTx(F.asSet("key" + key)); + + if (async) + cache.future().get(); + } + + assertTrue(GridTestUtils.waitForCondition(new PA() { + @Override public boolean apply() { + info("Lock event count: " + lockEvtCnt.get()); + if (atomicityMode() == ATOMIC) + return lockEvtCnt.get() == 0; + + if (cacheMode() == PARTITIONED && nearEnabled()) { + if (!grid(0).configuration().isClientMode()) + return lockEvtCnt.get() == 4; + } + + return lockEvtCnt.get() == 2; + } + }, 15000)); + } + finally { + grid(0).events().stopLocalListen(lsnr, EVT_CACHE_OBJECT_LOCKED, EVT_CACHE_OBJECT_UNLOCKED); + } + } + + /** * Sets given value, returns old value. */ public static final class SetValueProcessor implements EntryProcessor<String, Integer, Integer> { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheExAbstractFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheExAbstractFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheExAbstractFullApiSelfTest.java deleted file mode 100644 index dada45d..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheExAbstractFullApiSelfTest.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache; - -import org.apache.ignite.configuration.*; -import org.apache.ignite.events.*; -import org.apache.ignite.internal.*; -import org.apache.ignite.internal.util.typedef.*; -import org.apache.ignite.lang.*; -import org.apache.ignite.testframework.*; -import org.apache.ignite.transactions.*; - -import java.util.concurrent.atomic.*; - -import static org.apache.ignite.events.EventType.*; -import static org.apache.ignite.transactions.TransactionConcurrency.*; -import static org.apache.ignite.transactions.TransactionIsolation.*; - -/** - * Abstract test for private cache interface. - */ -public abstract class GridCacheExAbstractFullApiSelfTest extends GridCacheAbstractSelfTest { - /** {@inheritDoc} */ - @Override protected int gridCount() { - return 4; - } - - /** {@inheritDoc} */ - @Override protected NearCacheConfiguration nearConfiguration() { - return null; - } - - /** - * @throws Exception If failed. - */ - public void testGetOutTx() throws Exception { - final AtomicInteger lockEvtCnt = new AtomicInteger(); - - IgnitePredicate<Event> lsnr = new IgnitePredicate<Event>() { - @Override public boolean apply(Event evt) { - lockEvtCnt.incrementAndGet(); - - return true; - } - }; - - try { - grid(0).events().localListen(lsnr, EVT_CACHE_OBJECT_LOCKED, EVT_CACHE_OBJECT_UNLOCKED); - - GridCacheAdapter<String, Integer> cache = ((IgniteKernal)grid(0)).internalCache(); - - try (Transaction tx = transactions().txStart(PESSIMISTIC, REPEATABLE_READ)) { - int key = 0; - - for (int i = 0; i < 1000; i++) { - if (grid(0).affinity(null).mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) { - key = i; - - break; - } - } - - cache.get("key" + key); - - for (int i = key + 1; i < 1000; i++) { - if (grid(0).affinity(null).mapKeyToNode("key" + i).id().equals(grid(0).localNode().id())) { - key = i; - - break; - } - } - - cache.getAllOutTx(F.asSet("key" + key)); - } - - assertTrue(GridTestUtils.waitForCondition(new PA() { - @Override public boolean apply() { - info("Lock event count: " + lockEvtCnt.get()); - - return lockEvtCnt.get() == (nearEnabled() ? 4 : 2); - } - }, 15000)); - } - finally { - grid(0).events().stopLocalListen(lsnr, EVT_CACHE_OBJECT_LOCKED, EVT_CACHE_OBJECT_UNLOCKED); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheExColocatedFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheExColocatedFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheExColocatedFullApiSelfTest.java deleted file mode 100644 index 55b1f92..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridCacheExColocatedFullApiSelfTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.distributed.dht; - -import org.apache.ignite.cache.*; -import org.apache.ignite.internal.processors.cache.*; - -import static org.apache.ignite.cache.CacheMode.*; - -/** - * Tests private cache interface on colocated cache. - */ -public class GridCacheExColocatedFullApiSelfTest extends GridCacheExAbstractFullApiSelfTest { - /** {@inheritDoc} */ - @Override protected CacheMode cacheMode() { - return PARTITIONED; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheExNearFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheExNearFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheExNearFullApiSelfTest.java deleted file mode 100644 index 11ec96a..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheExNearFullApiSelfTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.distributed.near; - -import org.apache.ignite.cache.*; -import org.apache.ignite.configuration.*; -import org.apache.ignite.internal.processors.cache.*; - -import static org.apache.ignite.cache.CacheMode.*; - -/** - * Tests private cache interface on partitioned cache with near enabled. - */ -public class GridCacheExNearFullApiSelfTest extends GridCacheExAbstractFullApiSelfTest { - /** {@inheritDoc} */ - @Override protected CacheMode cacheMode() { - return PARTITIONED; - } - - /** {@inheritDoc} */ - @Override protected NearCacheConfiguration nearConfiguration() { - return new NearCacheConfiguration(); - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheExReplicatedFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheExReplicatedFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheExReplicatedFullApiSelfTest.java deleted file mode 100644 index 32ee784..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheExReplicatedFullApiSelfTest.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.distributed.replicated; - -import org.apache.ignite.cache.*; -import org.apache.ignite.internal.processors.cache.*; - -import static org.apache.ignite.cache.CacheMode.*; - -/** - * Tests private cache interface on replicated cache. - */ -public class GridCacheExReplicatedFullApiSelfTest extends GridCacheExAbstractFullApiSelfTest { - /** {@inheritDoc} */ - @Override protected CacheMode cacheMode() { - return REPLICATED; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheExLocalFullApiSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheExLocalFullApiSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheExLocalFullApiSelfTest.java deleted file mode 100644 index 71c0495..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/local/GridCacheExLocalFullApiSelfTest.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.ignite.internal.processors.cache.local; - -import org.apache.ignite.cache.*; -import org.apache.ignite.internal.processors.cache.*; - -/** - * Tests private cache interface on local cache. - */ -public class GridCacheExLocalFullApiSelfTest extends GridCacheExAbstractFullApiSelfTest { - @Override protected CacheMode cacheMode() { - return CacheMode.LOCAL; - } -} http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3440a8c2/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java index 369e041..5fa3283 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFullApiSelfTestSuite.java @@ -130,12 +130,6 @@ public class IgniteCacheFullApiSelfTestSuite extends TestSuite { suite.addTestSuite(GridCachePartitionedNearDisabledOffHeapTieredMultiNodeFullApiSelfTest.class); suite.addTestSuite(GridCachePartitionedNearDisabledAtomicOffHeapTieredMultiNodeFullApiSelfTest.class); - // Private cache API. - suite.addTestSuite(GridCacheExLocalFullApiSelfTest.class); - suite.addTestSuite(GridCacheExReplicatedFullApiSelfTest.class); - suite.addTestSuite(GridCacheExNearFullApiSelfTest.class); - suite.addTestSuite(GridCacheExColocatedFullApiSelfTest.class); - // Multithreaded // TODO: GG-708 // suite.addTestSuite(GridCacheLocalFullApiMultithreadedSelfTest.class); // suite.addTestSuite(GridCacheReplicatedFullApiMultithreadedSelfTest.class);