[ 
https://issues.apache.org/jira/browse/IGNITE-6965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexandr Kuramshin updated IGNITE-6965:
---------------------------------------
    Attachment: 
IGNITE_6965_affinityCall_with_key_mapping_AlwaysFailoverSpi_node_left.patch

> affinityCall() with key mapping may not be successful with AlwaysFailoverSpi 
> when node left
> -------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-6965
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6965
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, compute
>    Affects Versions: 2.3
>            Reporter: Alexandr Kuramshin
>         Attachments: 
> IGNITE_6965_affinityCall_with_key_mapping_AlwaysFailoverSpi_node_left.patch
>
>
> When doing {{affinityCall(cacheName, key, callable)}} there is a race between 
> affinity node left then stopped and {{AlwaysFailoverSpi}} max attempts 
> reached.
> Suppose the following sequence (more probable when {{grid2.order}} >> 
> {{grid1.order}}):
> 1. {{grid1.affinityCall(cacheName, key, callable)}}
> 2. {{grid1}}: {{key}} mapped to the primary partition on {{grid2}}
> 3. {{grid2.stop()}}
> 4. {{grid1}} receives {{NODE_LEFT}} and updates {{discoCache}}
> 5. {{grid1}} execution {{callable}} failed with 'Failed to send job request 
> because remote node left grid (if fail-over is enabled, will attempt 
> fail-over to another node'
> 6. {{grid1}}: {{AlwaysFailoverSpi}} max attempts reached.
> 7. {{grid1.affinityCall}} failed with 'Job failover failed because number of 
> maximum failover attempts for affinity call is exceeded'
> 8. {{grid2}} receives verified node left message then stopping.
> The patched {{CacheAffinityCallSelfTest}} reproduces the problem.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to