Sergey Chugunov created IGNITE-7330:
---------------------------------------
Summary: When client connects during cluster activation process it hangs on obtaining cache proxy
Key: IGNITE-7330
URL:
https://issues.apache.org/jira/browse/IGNITE-7330 Project: Ignite
Issue Type: Bug
Reporter: Sergey Chugunov
Priority: Critical
Fix For: 2.4
The test below reproduces the issue:
{noformat}
public void testClientJoinWhenActivationInProgress() throws Exception {
Ignite srv = startGrids(5);
srv.active(true);
srv.createCaches(Arrays.asList(cacheConfigurations1()));
Map<Integer, Integer> cacheData = new LinkedHashMap<>();
for (int i = 1; i <= 100; i++) {
for (CacheConfiguration ccfg : cacheConfigurations1()) {
srv.cache(ccfg.getName()).put(-i, i);
cacheData.put(-i, i);
}
}
stopAllGrids();
srv = startGrids(5);
final CountDownLatch clientStartLatch = new CountDownLatch(1);
IgniteInternalFuture clStartFut = GridTestUtils.runAsync(new Runnable() {
@Override public void run() {
try {
clientStartLatch.await();
Thread.sleep(10);
client = true;
Ignite cl = startGrid("client0");
IgniteCache<Object, Object> atomicCache = cl.cache(CACHE_NAME_PREFIX + '0');
IgniteCache<Object, Object> txCache = cl.cache(CACHE_NAME_PREFIX + '1');
assertEquals(100, atomicCache.size());
assertEquals(100, txCache.size());
}
catch (Exception e) {
log.error("Error occurred", e);
}
}
}, "client-starter-thread");
clientStartLatch.countDown();
srv.active(true);
clStartFut.get();
}
{noformat}
Expected behavior: test finishes successfully.
Actual behavior: test hangs on waiting for client start future to complete while "client-started-thread" will be hanging on obtaining a reference to the first cache.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)