Repository: incubator-ignite Updated Branches: refs/heads/ignite-42 b463cfa65 -> 05ef302cf
# ignite-42 Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/05ef302c Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/05ef302c Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/05ef302c Branch: refs/heads/ignite-42 Commit: 05ef302cfcc1b3390de47aa80fe4ebeddb2c919f Parents: b463cfa Author: sboikov <semen.boi...@inria.fr> Authored: Tue Jan 20 00:19:55 2015 +0300 Committer: sboikov <semen.boi...@inria.fr> Committed: Tue Jan 20 00:19:55 2015 +0300 ---------------------------------------------------------------------- .../processors/cache/GridCacheStoreManager.java | 18 ++-- .../cache/GridCacheLifecycleAwareSelfTest.java | 9 ++ .../cache/GridCacheReloadSelfTest.java | 1 - .../processors/cache/GridCacheTestStore.java | 1 - ...actQueueFailoverDataConsistencySelfTest.java | 6 ++ .../GridCacheSetFailoverAbstractSelfTest.java | 6 ++ ...ePartitionedBasicStoreMultiNodeSelfTest.java | 98 ++++++++++---------- .../GridAbstractLifecycleAwareSelfTest.java | 7 ++ 8 files changed, 89 insertions(+), 57 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java index ed95bbd..c9ca7e4 100644 --- a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java +++ b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/cache/GridCacheStoreManager.java @@ -689,19 +689,25 @@ public class GridCacheStoreManager<K, V> extends GridCacheManagerAdapter<K, V> { /** * @param tx Current transaction. - * @return {@code True} if + * @return {@code True} if thread local session was initialized. */ private boolean initSession(@Nullable IgniteTx tx) { - if (!sesEnabled || tx == null) + if (!sesEnabled) return false; - SessionData ses = ((GridMetadataAware)tx).meta(SES_ATTR); + SessionData ses; - if (ses == null) { - ses = new SessionData(tx); + if (tx != null) { + ses = ((GridMetadataAware)tx).meta(SES_ATTR); - ((GridMetadataAware)tx).addMeta(SES_ATTR, ses); + if (ses == null) { + ses = new SessionData(tx); + + ((GridMetadataAware)tx).addMeta(SES_ATTR, ses); + } } + else + ses = new SessionData(null); sesHolder.set(ses); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java index 4857e7b..a5b5b9c 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheLifecycleAwareSelfTest.java @@ -24,6 +24,7 @@ import org.apache.ignite.cluster.*; import org.apache.ignite.configuration.*; import org.apache.ignite.lang.*; import org.apache.ignite.lifecycle.LifecycleAware; +import org.apache.ignite.resources.*; import org.apache.ignite.spi.discovery.tcp.*; import org.gridgain.grid.cache.*; import org.gridgain.grid.cache.affinity.*; @@ -69,6 +70,14 @@ public class GridCacheLifecycleAwareSelfTest extends GridAbstractLifecycleAwareS lifecycleAware.stop(); } + /** + * @param cacheName Cache name. + */ + @IgniteCacheNameResource + public void setCacheName(String cacheName) { + lifecycleAware.cacheName(cacheName); + } + /** {@inheritDoc} */ @Nullable @Override public Object load(Object key) { return null; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java index 5c29b01..aa8521a 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheReloadSelfTest.java @@ -38,7 +38,6 @@ import static org.gridgain.grid.cache.GridCacheDistributionMode.*; * Checks that GridCacheProjection.reload() operations are performed correctly. */ public class GridCacheReloadSelfTest extends GridCommonAbstractTest { - /** Maximum allowed number of cache entries. */ public static final int MAX_CACHE_ENTRIES = 500; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java index 0203f75..c783f6c 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/GridCacheTestStore.java @@ -20,7 +20,6 @@ package org.gridgain.grid.kernal.processors.cache; import org.apache.ignite.*; import org.apache.ignite.cache.store.*; import org.apache.ignite.lang.*; -import org.apache.ignite.resources.*; import org.apache.ignite.transactions.*; import org.gridgain.grid.*; import org.gridgain.grid.kernal.processors.cache.transactions.*; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java index 230db3e..de29b39 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheAbstractQueueFailoverDataConsistencySelfTest.java @@ -18,6 +18,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures; import org.apache.ignite.cache.*; +import org.apache.ignite.cache.store.*; import org.apache.ignite.configuration.*; import org.apache.ignite.lang.*; import org.gridgain.grid.cache.*; @@ -84,6 +85,11 @@ public abstract class GridCacheAbstractQueueFailoverDataConsistencySelfTest exte } /** {@inheritDoc} */ + @Override protected CacheStore<?, ?> cacheStore() { + return null; + } + + /** {@inheritDoc} */ @Override protected CacheConfiguration cacheConfiguration(String gridName) throws Exception { CacheConfiguration ccfg = super.cacheConfiguration(gridName); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSetFailoverAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSetFailoverAbstractSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSetFailoverAbstractSelfTest.java index f1f973c..e00bea2 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSetFailoverAbstractSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/datastructures/GridCacheSetFailoverAbstractSelfTest.java @@ -19,6 +19,7 @@ package org.gridgain.grid.kernal.processors.cache.datastructures; import org.apache.ignite.*; import org.apache.ignite.cache.*; +import org.apache.ignite.cache.store.*; import org.apache.ignite.lang.*; import org.gridgain.grid.cache.datastructures.*; import org.gridgain.grid.kernal.*; @@ -70,6 +71,11 @@ public class GridCacheSetFailoverAbstractSelfTest extends GridCacheAbstractSelfT } /** {@inheritDoc} */ + @Override protected CacheStore<?, ?> cacheStore() { + return null; + } + + /** {@inheritDoc} */ @Override protected CacheConfiguration cacheConfiguration(String gridName) throws Exception { CacheConfiguration ccfg = super.cacheConfiguration(gridName); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java index 7bf5eaf..a994d4b 100644 --- a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/near/GridCachePartitionedBasicStoreMultiNodeSelfTest.java @@ -50,11 +50,12 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA private static final int GRID_CNT = 3; /** Cache store. */ - private static final GridCacheTestStore store = new GridCacheTestStore(); + private static List<GridCacheTestStore> stores; /** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { - store.resetTimestamp(); + for (GridCacheTestStore store : stores) + store.resetTimestamp(); } /** {@inheritDoc} */ @@ -62,17 +63,22 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA for (int i = 0; i < GRID_CNT; i++) cache(i).removeAll(); - store.reset(); + for (GridCacheTestStore store : stores) + store.reset(); } /** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { + stores = Collections.synchronizedList(new ArrayList<GridCacheTestStore>()); + startGridsMultiThreaded(GRID_CNT); } /** {@inheritDoc} */ @Override protected void afterTestsStopped() throws Exception { stopAllGrids(); + + stores = null; } /** {@inheritDoc} */ @@ -94,6 +100,10 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA cc.setAtomicityMode(TRANSACTIONAL); cc.setBackups(1); + GridCacheTestStore store = new GridCacheTestStore(); + + stores.add(store); + cc.setCacheStoreFactory(new FactoryBuilder.SingletonFactory(store)); cc.setReadThrough(true); cc.setWriteThrough(true); @@ -135,12 +145,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.put(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -168,12 +173,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.put(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -201,12 +201,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.put(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -234,12 +229,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.putIfAbsent(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -267,12 +257,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.putIfAbsent(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -300,12 +285,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA assertNull(cache.putIfAbsent(key, "val")); - assertEquals(1, store.getLoadCount()); - assertEquals(1, store.getPutCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(1, 1, 0, 1); } /** @@ -321,11 +301,7 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA cache.putAll(map); - assertEquals(1, store.getPutAllCount()); - - Collection<IgniteTx> txs = store.transactions(); - - assertEquals(1, txs.size()); + checkStoreUsage(-1, 0, 1, 1); } /** @@ -346,12 +322,36 @@ public class GridCachePartitionedBasicStoreMultiNodeSelfTest extends GridCommonA tx.commit(); } - assertEquals(4, store.getLoadCount()); - assertEquals(0, store.getPutCount()); - assertEquals(1, store.getPutAllCount()); + checkStoreUsage(4, 0, 1, 1); + } + + /** + * @param expLoad Expected load calls. + * @param expPut Expected put calls. + * @param expPutAll Expected putAll calls. + * @param expTxs Expected number of transactions. + */ + private void checkStoreUsage(int expLoad, int expPut, int expPutAll, int expTxs) { + int load = 0; + int put = 0; + int putAll = 0; + int txs = 0; + + for (GridCacheTestStore store : stores) { + load += store.getLoadCount(); + + put += store.getPutCount(); + + putAll += store.getPutAllCount(); + + txs += store.transactions().size(); + } - Collection<IgniteTx> txs = store.transactions(); + if (expLoad != -1) + assertEquals(expLoad, load); - assertEquals(1, txs.size()); + assertEquals(expPut, put); + assertEquals(expPutAll, putAll); + assertEquals(expTxs, txs); } } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/05ef302c/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractLifecycleAwareSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractLifecycleAwareSelfTest.java b/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractLifecycleAwareSelfTest.java index efa0d76..613d081 100644 --- a/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractLifecycleAwareSelfTest.java +++ b/modules/core/src/test/java/org/gridgain/testframework/junits/common/GridAbstractLifecycleAwareSelfTest.java @@ -80,6 +80,13 @@ public abstract class GridAbstractLifecycleAwareSelfTest extends GridCommonAbstr public int stopCount() { return stopCnt.get(); } + + /** + * @param cacheName Cache name. + */ + public void cacheName(String cacheName) { + this.cacheName = cacheName; + } } /**