[ https://issues.apache.org/jira/browse/IGNITE-10228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vyacheslav Koptilin updated IGNITE-10228: ----------------------------------------- Description: 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}}. was: 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 {{IGNITE_ALLOW_START_CACHES_IN_PARALLEL}} property to {{false}}. > 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 > Priority: Major > > 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)