[
https://issues.apache.org/jira/browse/IGNITE-10381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16696068#comment-16696068
]
ASF GitHub Bot commented on IGNITE-10381:
-----------------------------------------
GitHub user agoncharuk opened a pull request:
https://github.com/apache/ignite/pull/5483
IGNITE-10381 Fixed U.doInParallel early termination
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-10381
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/5483.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 #5483
----
commit b8d13437f7aeb4b9ec6aaec83ee451fcaf24e281
Author: Alexey Goncharuk <alexey.goncharuk@...>
Date: 2018-11-22T16:07:52Z
IGNITE-10381 Fixed U.doInParallel early termination
----
> U.doInParallel can terminate early due to an error in batch processing
> ----------------------------------------------------------------------
>
> Key: IGNITE-10381
> URL: https://issues.apache.org/jira/browse/IGNITE-10381
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexey Goncharuk
> Assignee: Alexey Goncharuk
> Priority: Major
> Fix For: 2.8
>
>
> Originally the issue was spotted due to intermittent Cache 7 suite hang with
> the following critical failure:
> {code}
> Caused by: java.lang.NullPointerException
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.updateLocal(GridDhtPartitionTopologyImpl.java:2443)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.afterStateRestored(GridDhtPartitionTopologyImpl.java:695)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.lambda$beforeExchange$ec1c537d$1(GridCacheDatabaseSharedManager.java:1281)
> at
> org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10840)
> at
> org.apache.ignite.internal.util.IgniteUtils.doInParallel(IgniteUtils.java:10763)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.beforeExchange(GridCacheDatabaseSharedManager.java:1268)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:1405)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:805)
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2864)
> ... 3 more
> {code}
> Further debugging revealed that the NPE is caused due to a race appeared
> because {{U.doInParallel}} may terminate early due to an exception thrown
> inside of one of the closures, but other threads still working.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)