[ 
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)

Reply via email to