[
https://issues.apache.org/jira/browse/IGNITE-6965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexandr Kuramshin updated IGNITE-6965:
---------------------------------------
Attachment: (was:
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)