You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2019/10/02 12:29:00 UTC

[jira] [Commented] (IGNITE-7330) When client connects during cluster activation process it hangs on obtaining cache proxy

    [ https://issues.apache.org/jira/browse/IGNITE-7330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16942767#comment-16942767 ] 

Maxim Muzafarov commented on IGNITE-7330:
-----------------------------------------

[~sergey-chugunov] 
Hello, can we move this issue to the next release?

> 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
>              Labels: IEP-4, Phase-2
>             Fix For: 2.8
>
>
> 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
(v8.3.4#803005)