ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-10228) Start multiple caches in parallel may lead to the fact that some of the caches won't be registered.
Date Wed, 14 Nov 2018 03:02:00 GMT

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

ASF GitHub Bot commented on IGNITE-10228:
-----------------------------------------

GitHub user voropava reopened a pull request:

    https://github.com/apache/ignite/pull/5377

    IGNITE-10228 Start multiple caches in parallel may lead to the fact that some of the caches
won't be registered.

    …suboptimal batch splitting in U.doInParallel().

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-10228

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/5377.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5377
    
----
commit 3a146d54ca6eef07a90fafc1ac4ce6f0deeda5a6
Author: Pavel Voronkin <pvoronkin@...>
Date:   2018-08-14T18:20:50Z

    IGNITE-10028 Fixed race on addCacheContext/removeCacheContext, fixed suboptimal batch
splitting in U.doInParallel().

commit 8c93ced97960a85fd4d2a24e1fdefaa3e75bebda
Author: Pavel Voronkin <pvoronkin@...>
Date:   2018-08-14T18:20:50Z

    IGNITE-10028 Review fixes.

----


> Start multiple caches in parallel may lead to the fact that some of the caches won't
be registered.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-10228
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10228
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.6
>            Reporter: Vyacheslav Koptilin
>            Assignee: Pavel Voronkin
>            Priority: Major
>         Attachments: CacheStartingParallelTest.java
>
>
> It looks like the root cause of the issue is that {{CacheGroupContext.addCacheContext()}} (which
is called in parallel) does not use a lock/semaphore in order to synchronize {{caches}} updates.
>  
> {code:java}
> private void addCacheContext(GridCacheContext cctx) {
>     ArrayList<GridCacheContext> caches = new ArrayList<>(this.caches);
>     boolean add = caches.add(cctx);
>     ...
>     this.caches = caches;
> }
> {code}
>  
> The possible workaround is to disable parallel start of caches by setting the {{IGNITE_ALLOW_START_CACHES_IN_PARALLEL}}
property to {{false}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message