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

Dmitriy Govorukhin commented on IGNITE-2539:
--------------------------------------------

There are case, when starting exchange between nodes, and stop kernel exchange 
manager,
you may get assert exception, if exchange was not complete and kernal stop 
cleanup reference.
GridDhtPartitionsExchangeFuture
1047 onDone(...)
{ ...... 1089 cctx.exchange().onExchangeDone(this, err); (cleanUp this)>>>> 
...... }
>>>>>>>
for (GridDhtPartitionsExchangeFuture fut : cctx.exchange().exchangeFutures()) {
if (exchId.topologyVersion().compareTo(fut.exchangeId().topologyVersion()) < 0)
continue;
skipped++;
if (skipped > 10)
fut.cleanUp();
<<<<<<<<<
after that can happend asyc action, witch fail because on previous line was 
cleanup
I think that we can move cleanUp code to end of onDone(...).

> NPE at RendezvousAffinityFunction
> ---------------------------------
>
>                 Key: IGNITE-2539
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2539
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ershov
>            Assignee: Dmitriy Govorukhin
>            Priority: Critical
>             Fix For: 1.8
>
>         Attachments: ignite.log
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> RendezvousAffinityFunction#assignPartition throws NPE, probably due to 
> simultaneous topology change and  cache stop. We should write a test and fix 
> this.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to