You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by na...@apache.org on 2022/05/30 09:52:52 UTC
[ignite] branch master updated: IGNITE-17042 Fixed flaky tests failed due to client cache is null (#10044)
This is an automated email from the ASF dual-hosted git repository.
namelchev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 413372e7d64 IGNITE-17042 Fixed flaky tests failed due to client cache is null (#10044)
413372e7d64 is described below
commit 413372e7d642f471c5a399deb448d55c801d43f3
Author: Nikita Amelchev <ns...@gmail.com>
AuthorDate: Mon May 30 12:52:43 2022 +0300
IGNITE-17042 Fixed flaky tests failed due to client cache is null (#10044)
---
.../ClientSizeCacheCreationDestructionTest.java | 6 ++++
...idCommandHandlerClusterByClassAbstractTest.java | 2 +-
.../internal/IgniteClientReconnectCacheTest.java | 4 +++
.../IgniteVariousConnectionNumberTest.java | 5 +++
.../cache/CacheEnumOperationsAbstractTest.java | 2 ++
...ceptorPartitionCounterRandomOperationsTest.java | 2 ++
.../CacheOptimisticTransactionsWithFilterTest.java | 2 ++
.../cache/CacheSerializableTransactionsTest.java | 37 ++++++++++++++++++++++
.../cache/CacheStopAndDestroySelfTest.java | 18 +++++++++++
.../cache/CrossCacheTxRandomOperationsTest.java | 2 ++
.../IgniteAbstractDynamicCacheStartFailTest.java | 3 ++
.../IgniteCacheExpireAndUpdateConsistencyTest.java | 2 ++
.../processors/cache/IgniteCacheGroupsTest.java | 9 ++++++
.../IgniteCacheInvokeReadThroughAbstractTest.java | 2 ++
.../cache/IgniteNearClientCacheCloseTest.java | 2 ++
.../IgniteAbstractTxSuspendResumeTest.java | 2 ++
.../distributed/IgniteCacheGetRestartTest.java | 5 ++-
.../distributed/IgniteTxCachePrimarySyncTest.java | 22 +++++++++++--
...WriteSynchronizationModesMultithreadedTest.java | 5 +++
.../dht/IgniteCacheCrossCacheTxFailoverTest.java | 2 ++
.../near/GridCacheNearClientHitTest.java | 2 ++
.../near/NearCacheMultithreadedUpdateTest.java | 2 ++
...acheContinuousQueryAsyncFilterListenerTest.java | 4 +--
.../CacheContinuousQueryOperationP2PTest.java | 2 ++
.../CacheContinuousQueryOrderingEventTest.java | 2 ++
.../CacheContinuousQueryRandomOperationsTest.java | 2 ++
.../CacheEntryProcessorNonSerializableTest.java | 2 ++
.../TxDeadlockDetectionUnmasrhalErrorsTest.java | 2 ++
.../TxOptimisticDeadlockDetectionTest.java | 2 ++
.../TxPartitionCounterStateWithFilterTest.java | 2 ++
.../TxPessimisticDeadlockDetectionTest.java | 2 ++
.../DataStreamerUpdateAfterLoadTest.java | 2 ++
.../IgniteCacheConfigVariationsAbstractTest.java | 10 ++++--
.../junits/common/GridCommonAbstractTest.java | 27 ++++++++++++++++
.../cache/CacheQueryNewClientSelfTest.java | 2 ++
.../cache/GridCacheDynamicLoadOnClientTest.java | 2 ++
.../index/DynamicEnableIndexingBasicSelfTest.java | 2 ++
.../DynamicEnableIndexingConcurrentSelfTest.java | 3 ++
.../DynamicIndexAbstractConcurrentSelfTest.java | 2 ++
.../processors/query/timeout/TimedQueryHelper.java | 7 ++++
.../apache/ignite/sqltests/SqlByteArrayTest.java | 2 ++
.../opencensus/OpenCensusSqlNativeTracingTest.java | 2 ++
42 files changed, 210 insertions(+), 9 deletions(-)
diff --git a/modules/clients/src/test/java/org/apache/ignite/common/ClientSizeCacheCreationDestructionTest.java b/modules/clients/src/test/java/org/apache/ignite/common/ClientSizeCacheCreationDestructionTest.java
index ab657de1506..73e9c70d699 100644
--- a/modules/clients/src/test/java/org/apache/ignite/common/ClientSizeCacheCreationDestructionTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/common/ClientSizeCacheCreationDestructionTest.java
@@ -662,6 +662,8 @@ public class ClientSizeCacheCreationDestructionTest extends GridCommonAbstractTe
for (int i = 0; i < 2; i++)
createCache(srv, cacheConfig().setGroupName(CACHE_GROUP_NAME).setName(CACHE_NAME + i));
+ awaitCacheOnClient(thickClient, CACHE_NAME + 1);
+
CountDownLatch latch = new CountDownLatch(1);
IgniteInternalFuture srv = GridTestUtils.runAsync(() -> {
@@ -841,6 +843,8 @@ public class ClientSizeCacheCreationDestructionTest extends GridCommonAbstractTe
srv.createCache(cacheConfig());
+ awaitCacheOnClient(thickClient, cacheConfig().getName());
+
thickClient.destroyCache(CACHE_NAME);
assertEquals(1, srv.cacheNames().size());
@@ -1126,6 +1130,8 @@ public class ClientSizeCacheCreationDestructionTest extends GridCommonAbstractTe
createCacheWithRestClient(cacheConfig());
+ awaitCacheOnClient(thickClient, CACHE_NAME);
+
thickClient.destroyCache(CACHE_NAME);
assertEquals(1, srv.cacheNames().size());
diff --git a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerClusterByClassAbstractTest.java b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerClusterByClassAbstractTest.java
index 4f11631f61d..c624038aec8 100644
--- a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerClusterByClassAbstractTest.java
+++ b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerClusterByClassAbstractTest.java
@@ -75,7 +75,7 @@ public abstract class GridCommandHandlerClusterByClassAbstractTest extends GridC
Set<String> rmvCacheNames = new HashSet<>(crd.cacheNames());
rmvCacheNames.removeAll(cfgCacheNames);
- crd.destroyCaches(rmvCacheNames);
+ client.destroyCaches(rmvCacheNames);
cfgCacheNames.stream()
.map(crd::cache)
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
index 29e773f69b6..371bdb0a95e 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/IgniteClientReconnectCacheTest.java
@@ -1053,6 +1053,8 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
srvCache.put(1, new TestClass1());
srvCache.put(2, new TestClass2());
+ awaitCacheOnClient(client, DEFAULT_CACHE_NAME);
+
IgniteCache<Object, Object> clientCache2 = client.cache(DEFAULT_CACHE_NAME);
assertNotNull(clientCache2);
@@ -1257,6 +1259,8 @@ public class IgniteClientReconnectCacheTest extends IgniteClientReconnectAbstrac
srv.createCache(ccfg1);
srv.createCache(ccfg2).put(1, 1);
+ awaitCacheOnClient(client, "cache2");
+
IgniteCache<Integer, Integer> cache = client.cache("cache2");
reconnectClientNode(client, srv, new Runnable() {
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteVariousConnectionNumberTest.java b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteVariousConnectionNumberTest.java
index 85695bcb0d5..666264fd26d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteVariousConnectionNumberTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/managers/communication/IgniteVariousConnectionNumberTest.java
@@ -25,6 +25,8 @@ import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
@@ -86,6 +88,9 @@ public class IgniteVariousConnectionNumberTest extends GridCommonAbstractTest {
ignite(0).createCache(ccfg);
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
for (int i = 0; i < 10; i++) {
log.info("Iteration: " + i);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
index 517da042aa3..e613e4edf44 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheEnumOperationsAbstractTest.java
@@ -105,6 +105,8 @@ public abstract class CacheEnumOperationsAbstractTest extends GridCommonAbstract
if (!singleNode()) {
nodes = 6;
+ awaitCacheOnClient(ignite(nodes - 1), ccfg.getName());
+
ignite(nodes - 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
}
else
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheInterceptorPartitionCounterRandomOperationsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheInterceptorPartitionCounterRandomOperationsTest.java
index 56d5383e7bf..0f956633aba 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheInterceptorPartitionCounterRandomOperationsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheInterceptorPartitionCounterRandomOperationsTest.java
@@ -398,6 +398,8 @@ public class CacheInterceptorPartitionCounterRandomOperationsTest extends GridCo
ignite(0).createCache(ccfg);
+ awaitCacheOnClient(grid(NODES - 1), ccfg.getName());
+
try {
long seed = System.currentTimeMillis();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOptimisticTransactionsWithFilterTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOptimisticTransactionsWithFilterTest.java
index 5e34f63c81b..a28b7c843d5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOptimisticTransactionsWithFilterTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheOptimisticTransactionsWithFilterTest.java
@@ -373,6 +373,8 @@ public class CacheOptimisticTransactionsWithFilterTest extends GridCommonAbstrac
", backups=" + ccfg.getBackups() +
", near=" + (ccfg.getNearConfiguration() != null) + "]");
+ awaitCacheOnClient(ignite(serversNumber() + 1), ccfg.getName());
+
ignite(serversNumber() + 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
try {
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
index 07251acd4fc..89fe1cc5498 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheSerializableTransactionsTest.java
@@ -1200,6 +1200,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
try {
IgniteCache<Integer, Integer> cache0 = ignite0.createCache(ccfg);
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
final Integer key1 = primaryKey(ignite(0).cache(cache0.getName()));
final Integer key2 = primaryKey(ignite(1).cache(cache0.getName()));
@@ -2576,6 +2579,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
ignite0.createCache(readCacheCcfg);
+ awaitCacheOnClient(ignite(SRVS), readCacheCcfg.getName());
+
try {
checkNoReadLockConflict(ignite(0), ccfg.getName(), ccfg.getName(), entry, putKey);
@@ -2663,6 +2668,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
ignite0.createCache(ccfg);
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
try {
final int THREADS = 64;
@@ -2904,6 +2912,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
ignite(0).createCache(ccfg);
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
try {
final int ACCOUNTS = SF.applyLB(50, 5);
final int VAL_PER_ACCOUNT = SF.applyLB(1000, 10);
@@ -3087,6 +3098,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
Ignite client1 = ignite(SRVS);
Ignite client2 = ignite(SRVS + 1);
+ awaitCacheOnClient(client1, cacheName);
+ awaitCacheOnClient(client2, cacheName);
+
IgniteCache<Integer, Integer> cache1 = client1.createNearCache(cacheName,
new NearCacheConfiguration<Integer, Integer>());
IgniteCache<Integer, Integer> cache2 = client2.createNearCache(cacheName,
@@ -3151,6 +3165,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
try {
Ignite ignite = ignite(SRVS);
+ awaitCacheOnClient(ignite, cacheName);
+
IgniteCache<Integer, Integer> cache = ignite.createNearCache(cacheName,
new NearCacheConfiguration<Integer, Integer>());
@@ -3239,6 +3255,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
try {
Ignite ignite = ignite(SRVS);
+ awaitCacheOnClient(ignite, cacheName);
+
IgniteCache<Integer, Integer> cache = ignite.createNearCache(cacheName,
new NearCacheConfiguration<Integer, Integer>());
@@ -3569,6 +3587,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
try {
IgniteCache<Integer, Integer> cache0 = ignite0.createCache(ccfg);
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
ThreadLocalRandom rnd = ThreadLocalRandom.current();
for (Ignite ignite : G.allGrids()) {
@@ -3715,6 +3736,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final List<IgniteCache<Integer, Integer>> caches = new ArrayList<>();
for (Ignite client : clients) {
+ awaitCacheOnClient(client, cacheName);
+
if (nearCache)
caches.add(client.createNearCache(cacheName, new NearCacheConfiguration<Integer, Integer>()));
else
@@ -3829,6 +3852,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final List<IgniteCache<Integer, Integer>> caches = new ArrayList<>();
for (Ignite client : clients) {
+ awaitCacheOnClient(client, cacheName);
+
if (nearCache)
caches.add(client.createNearCache(cacheName, new NearCacheConfiguration<Integer, Integer>()));
else
@@ -3964,6 +3989,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final List<IgniteCache<Integer, Integer>> caches = new ArrayList<>();
for (Ignite client : clients) {
+ awaitCacheOnClient(client, cacheName);
+
if (nearCache)
caches.add(client.createNearCache(cacheName, new NearCacheConfiguration<Integer, Integer>()));
else
@@ -4112,6 +4139,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final String cacheName = srv.createCache(ccfg).getName();
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, ccfg.getName()));
+
try {
final List<Ignite> clients = clients();
@@ -4204,6 +4234,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final IgniteTransactions txs = node.transactions();
+ awaitCacheOnClient(node, cacheName);
+
final IgniteCache<Integer, Account> cache =
nearCache ? node.createNearCache(cacheName, new NearCacheConfiguration<>()) :
node.cache(cacheName);
@@ -4748,6 +4780,9 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
final String cacheName =
srv.createCache(cacheConfiguration(PARTITIONED, FULL_SYNC, 1, false, false)).getName();
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, cacheName));
+
try {
final int KEYS = SF.apply(20);
@@ -5047,6 +5082,8 @@ public class CacheSerializableTransactionsTest extends GridCommonAbstractTest {
if (skipFirst && i == 0)
continue;
+ awaitCacheOnClient(ignite(i), cacheName);
+
IgniteCache<Object, Object> cache = ignite(i).cache(cacheName);
assertEquals(expVal, cache.get(key));
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
index b203a12848e..4cb7714d062 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheStopAndDestroySelfTest.java
@@ -217,6 +217,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
private void dhtDestroy() throws Exception {
grid(0).getOrCreateCache(getDhtConfig());
+ awaitCacheOnClient(grid(2), getDhtConfig().getName());
+
assertNull(grid(0).cache(CACHE_NAME_DHT).get(KEY_VAL));
grid(0).cache(CACHE_NAME_DHT).put(KEY_VAL, KEY_VAL);
@@ -258,6 +260,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
private void clientDestroy() throws Exception {
grid(0).getOrCreateCache(getClientConfig());
+ awaitCacheOnClient(grid(2), getClientConfig().getName());
+
assertNull(grid(0).cache(CACHE_NAME_CLIENT).get(KEY_VAL));
grid(0).cache(CACHE_NAME_CLIENT).put(KEY_VAL, KEY_VAL);
@@ -301,6 +305,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
private void nearDestroy() throws Exception {
grid(0).getOrCreateCache(getNearConfig());
+ awaitCacheOnClient(grid(2), getNearConfig().getName());
+
grid(2).getOrCreateNearCache(CACHE_NAME_NEAR, new NearCacheConfiguration());
assertNull(grid(0).cache(CACHE_NAME_NEAR).get(KEY_VAL));
@@ -369,6 +375,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
IgniteCache<Integer, Integer> dhtCache0 = grid(0).getOrCreateCache(getDhtConfig());
+ awaitCacheOnClient(grid(2), getDhtConfig().getName());
+
final Integer key = primaryKey(dhtCache0);
assertNull(dhtCache0.get(key));
@@ -453,6 +461,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
for (int i = 0; i < 3; i++) {
try (IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getDhtConfig())) {
+ awaitCacheOnClient(grid(2), getDhtConfig().getName());
+
IgniteCache<String, String> cache1 = grid(1).cache(CACHE_NAME_DHT);
IgniteCache<String, String> cache2 = grid(2).cache(CACHE_NAME_DHT);
@@ -489,6 +499,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getClientConfig());
+ awaitCacheOnClient(grid(2), getClientConfig().getName());
+
assert cache0.get(KEY_VAL) == null;
cache0.put(KEY_VAL, KEY_VAL);
@@ -605,6 +617,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
IgniteCache<String, String> cache0 = grid(0).getOrCreateCache(getNearConfig());
+ awaitCacheOnClient(grid(2), getNearConfig().getName());
+
// GridDhtTxPrepareRequest requests to Client node will be counted.
CountingTxRequestsToClientNodeTcpCommunicationSpi.nodeFilter = grid(2).context().localNodeId();
@@ -683,6 +697,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
grid(0).getOrCreateCache(getNearConfig());
+ awaitCacheOnClient(grid(2), getNearConfig().getName());
+
NearCacheConfiguration nearCfg = new NearCacheConfiguration();
for (int i = 0; i < 3; i++) {
@@ -754,6 +770,8 @@ public class CacheStopAndDestroySelfTest extends GridCommonAbstractTest {
grid(0).getOrCreateCache(getLocalConfig());
+ awaitCacheOnClient(grid(2), getLocalConfig().getName());
+
grid(0).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated0");
grid(1).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated1");
grid(2).cache(CACHE_NAME_LOC).put(KEY_VAL, KEY_VAL + "recreated2");
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
index db97aef448a..507821f5aae 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CrossCacheTxRandomOperationsTest.java
@@ -179,6 +179,8 @@ public class CrossCacheTxRandomOperationsTest extends GridCommonAbstractTest {
Ignite ignite,
String name) {
ignite.createCache(cacheConfiguration(name, cacheMode, writeSync, nearCache));
+
+ awaitCacheOnClient(ignite(GRID_CNT - 1), name);
}
/**
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteAbstractDynamicCacheStartFailTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteAbstractDynamicCacheStartFailTest.java
index 5cb444b8338..8f6258e0e54 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteAbstractDynamicCacheStartFailTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteAbstractDynamicCacheStartFailTest.java
@@ -646,6 +646,9 @@ public abstract class IgniteAbstractDynamicCacheStartFailTest extends GridCacheA
AffinityTopologyVersion currVer = grid(0).context().discovery().topologyVersionEx();
AffinityTopologyVersion expVer = currVer.nextMinorVersion();
+ // Make sure that client has processed a create cache request before destroying it.
+ awaitCacheOnClient(client, DYNAMIC_CACHE_NAME);
+
// Let's try to destroy the cache that is being started.
IgniteInternalFuture<?> stopFut = GridTestUtils.runAsync(() -> client.destroyCache(DYNAMIC_CACHE_NAME));
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java
index 535e5fad53a..bf039800e5f 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheExpireAndUpdateConsistencyTest.java
@@ -128,6 +128,8 @@ public class IgniteCacheExpireAndUpdateConsistencyTest extends GridCommonAbstrac
private void updateAndEventConsistencyTest(CacheConfiguration<TestKey, TestValue> ccfg) throws Exception {
ignite(0).createCache(ccfg);
+ awaitCacheOnClient(ignite(4), ccfg.getName());
+
try {
List<ConcurrentMap<TestKey, List<T2<TestValue, TestValue>>>> nodesEvts = new ArrayList<>();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
index e952c80a2d0..d4322e6455c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheGroupsTest.java
@@ -87,6 +87,7 @@ import org.apache.ignite.internal.util.lang.GridIterator;
import org.apache.ignite.internal.util.lang.GridPlainCallable;
import org.apache.ignite.internal.util.lang.gridfunc.ContainsPredicate;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.PA;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.CU;
@@ -2151,6 +2152,8 @@ public class IgniteCacheGroupsTest extends GridCommonAbstractTest {
srv0.createCache(cacheConfiguration(null, "cache-3", cacheMode, atomicityMode, backups, heapCache));
+ awaitCacheOnClient(ignite(4), "cache-3");
+
if (nearClient) {
Ignite clientNode = ignite(4);
@@ -2992,6 +2995,9 @@ public class IgniteCacheGroupsTest extends GridCommonAbstractTest {
srv0.createCache(cacheConfiguration(GROUP1, "t0", PARTITIONED, TRANSACTIONAL, 1, false));
srv0.createCache(cacheConfiguration(GROUP1, "t1", PARTITIONED, TRANSACTIONAL, 1, false));
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, "t1"));
+
final List<Integer> keys = new ArrayList<>();
for (int i = 0; i < 50; i++)
@@ -3107,6 +3113,9 @@ public class IgniteCacheGroupsTest extends GridCommonAbstractTest {
// TODO IGNITE-7164: add Mvcc cache to test.
}
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, GROUP2 + "-" + (CACHES - 1)));
+
final AtomicInteger idx = new AtomicInteger();
final AtomicBoolean err = new AtomicBoolean();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeReadThroughAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeReadThroughAbstractTest.java
index 4676c43a0f0..074b3517f57 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeReadThroughAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheInvokeReadThroughAbstractTest.java
@@ -109,6 +109,8 @@ public abstract class IgniteCacheInvokeReadThroughAbstractTest extends GridCommo
int key = 0;
for (Ignite node : G.allGrids()) {
+ awaitCacheOnClient(node, ccfg.getName());
+
if (node.configuration().isClientMode() && ccfg.getNearConfiguration() != null)
node.createNearCache(ccfg.getName(), ccfg.getNearConfiguration());
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java
index 60e38c941f5..268f07a3379 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java
@@ -195,6 +195,8 @@ public class IgniteNearClientCacheCloseTest extends GridCommonAbstractTest {
for (int iter = 0; iter < 5; iter++) {
log.info("Iteration: " + iter);
+ awaitCacheOnClient(ignite(nearClient), cacheName);
+
IgniteCache<Object, Object> nearCache = ignite(nearClient).createNearCache(cacheName,
new NearCacheConfiguration<>());
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteAbstractTxSuspendResumeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteAbstractTxSuspendResumeTest.java
index 55e917043c5..6687a537323 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteAbstractTxSuspendResumeTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteAbstractTxSuspendResumeTest.java
@@ -119,6 +119,8 @@ public abstract class IgniteAbstractTxSuspendResumeTest extends GridCommonAbstra
for (CacheConfiguration<Integer, Integer> ccfg : cacheConfigurations()) {
grid(0).createCache(ccfg);
+ awaitCacheOnClient(client, ccfg.getName());
+
if (ccfg.getCacheMode() != LOCAL && !FORCE_MVCC)
client.createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
index 39c79b1460d..b16c307081c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteCacheGetRestartTest.java
@@ -157,8 +157,11 @@ public class IgniteCacheGetRestartTest extends GridCommonAbstractTest {
ignite(0).createCache(ccfg);
try {
- if (ccfg.getNearConfiguration() != null)
+ if (ccfg.getNearConfiguration() != null) {
+ awaitCacheOnClient(ignite(SRVS), ccfg.getName());
+
ignite(SRVS).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
+ }
try (IgniteDataStreamer<Object, Object> streamer = ignite(0).dataStreamer(ccfg.getName())) {
streamer.allowOverwrite(true);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCachePrimarySyncTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCachePrimarySyncTest.java
index 06cb0f3357a..265d009e60b 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCachePrimarySyncTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCachePrimarySyncTest.java
@@ -49,6 +49,7 @@ import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxPr
import org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxPrepareResponse;
import org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl;
import org.apache.ignite.internal.util.lang.GridAbsPredicate;
+import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiInClosure;
@@ -156,6 +157,9 @@ public class IgniteTxCachePrimarySyncTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = ignite.createCache(ccfg);
+ F.view(G.allGrids(), node -> node.cluster().localNode().isClient())
+ .forEach(node -> awaitCacheOnClient(node, ccfg.getName()));
+
try {
for (int i = 0; i < SRVS; i++) {
Ignite node = ignite(i);
@@ -286,8 +290,11 @@ public class IgniteTxCachePrimarySyncTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = ignite.createCache(ccfg);
try {
- if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE))
+ if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE)) {
+ awaitCacheOnClient(ignite(NODES - 1), ccfg.getName());
+
ignite(NODES - 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
+ }
for (int i = 0; i < NODES; i++) {
Ignite node = ignite(i);
@@ -423,8 +430,11 @@ public class IgniteTxCachePrimarySyncTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = ignite.createCache(ccfg);
try {
- if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE))
+ if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE)) {
+ awaitCacheOnClient(ignite(NODES - 1), ccfg.getName());
+
ignite(NODES - 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
+ }
for (int i = 1; i < NODES; i++) {
Ignite node = ignite(i);
@@ -580,8 +590,11 @@ public class IgniteTxCachePrimarySyncTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = ignite.createCache(ccfg);
try {
- if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE))
+ if (!MvccFeatureChecker.forcedMvcc() || MvccFeatureChecker.isSupported(Feature.NEAR_CACHE)) {
+ awaitCacheOnClient(ignite(NODES - 1), ccfg.getName());
+
ignite(NODES - 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
+ }
for (int i = 1; i < NODES; i++) {
Ignite node = ignite(i);
@@ -719,6 +732,9 @@ public class IgniteTxCachePrimarySyncTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = ignite.createCache(ccfg);
+ F.view(G.allGrids(), node -> node.cluster().localNode().isClient())
+ .forEach(node -> awaitCacheOnClient(node, ccfg.getName()));
+
try {
for (int i = 1; i < NODES; i++) {
Ignite node = ignite(i);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
index e398214fefe..e71e6e8ac13 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/IgniteTxCacheWriteSynchronizationModesMultithreadedTest.java
@@ -40,6 +40,8 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.NearCacheConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.util.lang.GridAbsPredicate;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiInClosure;
@@ -384,6 +386,9 @@ public class IgniteTxCacheWriteSynchronizationModesMultithreadedTest extends Gri
boolean nearCache) {
IgniteCache<K, V> cache = ignite.createCache(ccfg);
+ F.view(G.allGrids(), node -> node.cluster().localNode().isClient())
+ .forEach(node -> awaitCacheOnClient(node, ccfg.getName()));
+
if (nearCache)
ignite(NODES - 1).createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheCrossCacheTxFailoverTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheCrossCacheTxFailoverTest.java
index 64aefed4b42..ddd55d3f5ef 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheCrossCacheTxFailoverTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/IgniteCacheCrossCacheTxFailoverTest.java
@@ -207,6 +207,8 @@ public class IgniteCacheCrossCacheTxFailoverTest extends GridCommonAbstractTest
ignite0.createCache(cacheConfiguration(CACHE1, cacheMode, 256));
ignite0.createCache(cacheConfiguration(CACHE2, cacheMode, sameAff ? 256 : 128));
+ awaitCacheOnClient(grid(GRID_CNT - 1), CACHE2);
+
final AtomicInteger threadIdx = new AtomicInteger();
IgniteInternalFuture<?> fut = runMultiThreadedAsync(new Callable<Void>() {
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearClientHitTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearClientHitTest.java
index 128d348412e..4170e986866 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearClientHitTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCacheNearClientHitTest.java
@@ -80,6 +80,8 @@ public class GridCacheNearClientHitTest extends GridCommonAbstractTest {
IgniteCache<Object, Object> cache = srvNode.getOrCreateCache(cacheConfiguration());
+ awaitCacheOnClient(client, CACHE_NAME);
+
IgniteCache<Object, Object> nearCache = client.createNearCache(CACHE_NAME, nearCacheConfiguration());
UUID serverNodeId = srvNode.cluster().localNode().id();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/NearCacheMultithreadedUpdateTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/NearCacheMultithreadedUpdateTest.java
index b714a95b06a..081d5f4f3d9 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/NearCacheMultithreadedUpdateTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/NearCacheMultithreadedUpdateTest.java
@@ -98,6 +98,8 @@ public class NearCacheMultithreadedUpdateTest extends GridCommonAbstractTest {
assertTrue(client.configuration().isClientMode());
+ awaitCacheOnClient(client, DEFAULT_CACHE_NAME);
+
final IgniteCache<Integer, Integer> clientCache =
client.createNearCache(DEFAULT_CACHE_NAME, new NearCacheConfiguration<Integer, Integer>());
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryAsyncFilterListenerTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryAsyncFilterListenerTest.java
index 7d20e946308..6dfe55f19d2 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryAsyncFilterListenerTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryAsyncFilterListenerTest.java
@@ -438,7 +438,7 @@ public class CacheContinuousQueryAsyncFilterListenerTest extends GridCommonAbstr
final boolean asyncFltr,
boolean asyncLsnr,
boolean jcacheApi) throws Exception {
- ignite(0).createCache(ccfg);
+ ignite(NODES - 1).createCache(ccfg);
ThreadLocalRandom rnd = ThreadLocalRandom.current();
@@ -613,7 +613,7 @@ public class CacheContinuousQueryAsyncFilterListenerTest extends GridCommonAbstr
final boolean asyncFilter,
final boolean asyncLsnr,
boolean jcacheApi) throws Exception {
- ignite(0).createCache(ccfg);
+ ignite(NODES - 1).createCache(ccfg);
ThreadLocalRandom rnd = ThreadLocalRandom.current();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOperationP2PTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOperationP2PTest.java
index 2ef33cbc311..15433f6deeb 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOperationP2PTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOperationP2PTest.java
@@ -370,6 +370,8 @@ public class CacheContinuousQueryOperationP2PTest extends GridCommonAbstractTest
IgniteCache<Integer, Integer> cache;
+ awaitCacheOnClient(grid(NODES - 1), ccfg.getName());
+
cache = isClient
? grid(NODES - 1).cache(ccfg.getName())
: grid(rnd.nextInt(NODES - 1)).cache(ccfg.getName());
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOrderingEventTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOrderingEventTest.java
index 5b054024068..2a538785ab7 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOrderingEventTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryOrderingEventTest.java
@@ -325,6 +325,8 @@ public class CacheContinuousQueryOrderingEventTest extends GridCommonAbstractTes
throws Exception {
ignite(0).createCache(ccfg);
+ awaitCacheOnClient(grid(NODES - 1), ccfg.getName());
+
List<QueryCursor<?>> qries = new ArrayList<>();
try {
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryRandomOperationsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryRandomOperationsTest.java
index 9180b65578b..2b7e54f40a4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryRandomOperationsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheContinuousQueryRandomOperationsTest.java
@@ -1138,6 +1138,8 @@ public class CacheContinuousQueryRandomOperationsTest extends GridCommonAbstract
evtsQueues.add(evtsQueue);
+ awaitCacheOnClient(ignite(i), ccfg.getName());
+
QueryCursor<?> cur = ignite(i).cache(ccfg.getName()).query(qry);
curs.add(cur);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheEntryProcessorNonSerializableTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheEntryProcessorNonSerializableTest.java
index 30734e68b8e..1302122574c 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheEntryProcessorNonSerializableTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/query/continuous/CacheEntryProcessorNonSerializableTest.java
@@ -427,6 +427,8 @@ public class CacheEntryProcessorNonSerializableTest extends GridCommonAbstractTe
grid(0).createCache(ccfg);
+ awaitCacheOnClient(cln, ccfg.getName());
+
IgniteCache clnCache;
if (ccfg.getNearConfiguration() != null)
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionUnmasrhalErrorsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionUnmasrhalErrorsTest.java
index f41aaab9a90..1f0315b2385 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionUnmasrhalErrorsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxDeadlockDetectionUnmasrhalErrorsTest.java
@@ -87,6 +87,8 @@ public class TxDeadlockDetectionUnmasrhalErrorsTest extends GridCommonAbstractTe
cache0 = getCache(ignite(0), "cache0");
cache1 = getCache(ignite(0), "cache1");
+ awaitCacheOnClient(grid(1), "cache0");
+
IgniteCache<Integer, Integer> clientCache0 = grid(1).cache("cache0");
awaitPartitionMapExchange();
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java
index 16889a609a0..f14e2350b2d 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxOptimisticDeadlockDetectionTest.java
@@ -179,6 +179,8 @@ public class TxOptimisticDeadlockDetectionTest extends AbstractDeadlockDetection
assertTrue(client.configuration().isClientMode());
+ awaitCacheOnClient(client, ccfg.getName());
+
client.createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
}
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateWithFilterTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateWithFilterTest.java
index 4811dca5dc6..7c03e3370c5 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateWithFilterTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPartitionCounterStateWithFilterTest.java
@@ -92,6 +92,8 @@ public class TxPartitionCounterStateWithFilterTest extends GridCommonAbstractTes
try {
ignite(0).createCache(cacheConfiguration(cacheMode, backups, CacheAtomicityMode.TRANSACTIONAL));
+ awaitCacheOnClient(ig, DEFAULT_CACHE_NAME);
+
IgniteCache<Integer, Integer> cache = ig.cache(DEFAULT_CACHE_NAME);
assertNotNull(cache);
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
index 48b63be1289..1480b98e9ff 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxPessimisticDeadlockDetectionTest.java
@@ -195,6 +195,8 @@ public class TxPessimisticDeadlockDetectionTest extends AbstractDeadlockDetectio
assertTrue(client.configuration().isClientMode());
+ awaitCacheOnClient(client, ccfg.getName());
+
client.createNearCache(ccfg.getName(), new NearCacheConfiguration<>());
}
}
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerUpdateAfterLoadTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerUpdateAfterLoadTest.java
index af64277ba00..526c4209304 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerUpdateAfterLoadTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/datastreamer/DataStreamerUpdateAfterLoadTest.java
@@ -57,6 +57,8 @@ public class DataStreamerUpdateAfterLoadTest extends GridCommonAbstractTest {
int key = 0;
try (IgniteCache<Integer, Integer> cache = ignite0.createCache(ccfg)) {
+ awaitCacheOnClient(grid(NODES - 1), ccfg.getName());
+
key = testLoadAndUpdate(cache.getName(), key, false);
testLoadAndUpdate(cache.getName(), key, true);
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteCacheConfigVariationsAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteCacheConfigVariationsAbstractTest.java
index 8578f81522f..395530f39b6 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteCacheConfigVariationsAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteCacheConfigVariationsAbstractTest.java
@@ -98,8 +98,11 @@ public abstract class IgniteCacheConfigVariationsAbstractTest extends IgniteConf
startGrid(igniteInstanceName, cfg, null);
}
- if (testsCfg.withClients() && testsCfg.gridCount() > CLIENT_NEAR_ONLY_IDX)
+ if (testsCfg.withClients() && testsCfg.gridCount() > CLIENT_NEAR_ONLY_IDX) {
+ awaitCacheOnClient(grid(CLIENT_NEAR_ONLY_IDX), cacheName());
+
grid(CLIENT_NEAR_ONLY_IDX).createNearCache(cacheName(), new NearCacheConfiguration());
+ }
}
else if (cacheStartMode == null || cacheStartMode == CacheStartMode.DYNAMIC) {
super.beforeTestsStarted();
@@ -154,8 +157,11 @@ public abstract class IgniteCacheConfigVariationsAbstractTest extends IgniteConf
grid.getOrCreateCache(cc);
}
- if (testsCfg.withClients() && i == CLIENT_NEAR_ONLY_IDX && grid(i).configuration().isClientMode())
+ if (testsCfg.withClients() && i == CLIENT_NEAR_ONLY_IDX && grid(i).configuration().isClientMode()) {
+ awaitCacheOnClient(grid(CLIENT_NEAR_ONLY_IDX), cacheName());
+
grid(CLIENT_NEAR_ONLY_IDX).createNearCache(cacheName(), new NearCacheConfiguration());
+ }
}
awaitPartitionMapExchange();
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index bbda79b0609..14d33c13899 100755
--- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -153,11 +153,13 @@ import static java.util.stream.Collectors.toList;
import static java.util.stream.Collectors.toSet;
import static org.apache.ignite.cache.CacheMode.LOCAL;
import static org.apache.ignite.cache.CacheRebalanceMode.NONE;
+import static org.apache.ignite.configuration.IgniteConfiguration.DFLT_NETWORK_TIMEOUT;
import static org.apache.ignite.configuration.IgniteConfiguration.DFLT_SNAPSHOT_DIRECTORY;
import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isNearEnabled;
import static org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionState.OWNING;
import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.DFLT_STORE_DIR;
import static org.apache.ignite.testframework.GridTestUtils.setFieldValue;
+import static org.apache.ignite.testframework.GridTestUtils.waitForCondition;
import static org.apache.ignite.transactions.TransactionConcurrency.PESSIMISTIC;
import static org.apache.ignite.transactions.TransactionIsolation.REPEATABLE_READ;
import static org.hamcrest.MatcherAssert.assertThat;
@@ -2393,6 +2395,31 @@ public abstract class GridCommonAbstractTest extends GridAbstractTest {
}
}
+ /**
+ * Awaits for the cache to be available on the client node.
+ * <p/>
+ * Client nodes receive the created cache descriptor asynchronously:
+ * <pre name="code" class="java">
+ * server.createCache("cache");
+ * ...
+ * IgniteCache cache = client.cache("cache"); // May be null.
+ * </pre>
+ *
+ * @param client Client node.
+ * @param cacheName Cache name.
+ */
+ public static void awaitCacheOnClient(Ignite client, String cacheName) {
+ if (!client.cluster().localNode().isClient())
+ return;
+
+ try {
+ assertTrue(waitForCondition(() -> client.cacheNames().contains(cacheName), DFLT_NETWORK_TIMEOUT));
+ }
+ catch (IgniteInterruptedCheckedException e) {
+ throw U.convertException(e);
+ }
+ }
+
/**
* @param partId Partition id.
* @param gridName Grid name.
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheQueryNewClientSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheQueryNewClientSelfTest.java
index 1b9a293c750..37b5eb3cf88 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheQueryNewClientSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/CacheQueryNewClientSelfTest.java
@@ -56,6 +56,8 @@ public class CacheQueryNewClientSelfTest extends GridCommonAbstractTest {
Ignite client = (iter == 0) ? startClientGrid("client") : grid("client");
+ awaitCacheOnClient(client, "cache1");
+
IgniteCache<Integer, Integer> cache = client.cache("cache1");
List<List<?>> res = cache.query(new SqlFieldsQuery(
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDynamicLoadOnClientTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDynamicLoadOnClientTest.java
index 228bd2fde9f..79a31470316 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDynamicLoadOnClientTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheDynamicLoadOnClientTest.java
@@ -249,6 +249,8 @@ public class GridCacheDynamicLoadOnClientTest extends GridCommonAbstractTest {
for (int i = 0; i < CACHE_ELEMENT_COUNT; i++)
srvNode.cache(PERSON_CACHE).put(i, new Person(i, "name-" + i));
+
+ awaitCacheOnClient(clientNode, PERSON_CACHE);
}
/**
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingBasicSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingBasicSelfTest.java
index 492084d5a90..c281187c605 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingBasicSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingBasicSelfTest.java
@@ -109,6 +109,8 @@ public class DynamicEnableIndexingBasicSelfTest extends DynamicEnableIndexingAbs
node().getOrCreateCache(ccfg);
+ awaitCacheOnClient(grid(IDX_CLI_NEAR_ONLY), POI_CACHE_NAME);
+
if (atomicityMode != CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT)
grid(IDX_CLI_NEAR_ONLY).getOrCreateNearCache(POI_CACHE_NAME, new NearCacheConfiguration<>());
}
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java
index f4e3a1d1ffb..61a52e0e5d3 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicEnableIndexingConcurrentSelfTest.java
@@ -260,6 +260,9 @@ public class DynamicEnableIndexingConcurrentSelfTest extends DynamicEnableIndexi
srv1.cluster().state(ClusterState.ACTIVE);
createCache(srv1);
+
+ awaitCacheOnClient(grid(4), POI_CACHE_NAME);
+
loadData(srv1, 0, NUM_ENTRIES);
CountDownLatch idxLatch = blockIndexing(srv1);
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
index f6efc85dc2e..ca423e7b809 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/index/DynamicIndexAbstractConcurrentSelfTest.java
@@ -216,6 +216,8 @@ public abstract class DynamicIndexAbstractConcurrentSelfTest extends DynamicInde
createSqlCache(srv1);
+ awaitCacheOnClient(grid(4), cacheConfiguration().getName());
+
CountDownLatch idxLatch = blockIndexing(srv1);
QueryIndex idx1 = index(IDX_NAME_1, field(FIELD_NAME_1));
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/timeout/TimedQueryHelper.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/timeout/TimedQueryHelper.java
index e8ac9a3a7ad..b1cd4fdab6f 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/timeout/TimedQueryHelper.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/timeout/TimedQueryHelper.java
@@ -27,6 +27,10 @@ import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.QueryEntity;
import org.apache.ignite.cache.query.annotations.QuerySqlFunction;
import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.G;
+
+import static org.apache.ignite.testframework.junits.common.GridCommonAbstractTest.awaitCacheOnClient;
/**
* This class helps to prepare a query which will run for a specific amount of time
@@ -62,6 +66,9 @@ public class TimedQueryHelper {
new QueryEntity(Integer.class, Integer.class).setTableName(cacheName)))
.setSqlFunctionClasses(TimedQueryHelper.class));
+ F.view(G.allGrids(), ignite -> ignite.cluster().localNode().isClient())
+ .forEach(ignite -> awaitCacheOnClient(ignite, cacheName));
+
Map<Integer, Integer> entries = IntStream.range(0, ROW_COUNT).boxed()
.collect(Collectors.toMap(Function.identity(), Function.identity()));
diff --git a/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlByteArrayTest.java b/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlByteArrayTest.java
index e48ff878a50..b0803137db6 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlByteArrayTest.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/sqltests/SqlByteArrayTest.java
@@ -62,6 +62,8 @@ public class SqlByteArrayTest extends AbstractBinaryArraysTest {
IgniteCache<Integer, Object> cache = ignite.createCache(ccfg);
+ awaitCacheOnClient(client, ccfg.getName());
+
cache.query(new SqlFieldsQuery("INSERT INTO array_table (_key, _val) VALUES (?, ?)").setArgs(2, val1)).getAll();
assertTrue(cache.containsKey(2));
diff --git a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusSqlNativeTracingTest.java b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusSqlNativeTracingTest.java
index f7f713893b4..56341665dc8 100644
--- a/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusSqlNativeTracingTest.java
+++ b/modules/opencensus/src/test/java/org/apache/ignite/internal/processors/monitoring/opencensus/OpenCensusSqlNativeTracingTest.java
@@ -730,6 +730,8 @@ public class OpenCensusSqlNativeTracingTest extends AbstractTracingTest {
.setSqlSchema(TEST_SCHEMA)
);
+ awaitCacheOnClient(grid(GRID_CNT), cache.getName());
+
for (int i = 0; i < TEST_TABLE_POPULATION; i++)
cache.put(keyCntr.getAndIncrement(), cls == Organization.class ? new Organization(i, i) : new Person(i, i));