[
https://issues.apache.org/jira/browse/IGNITE-7882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Kovalenko updated IGNITE-7882:
------------------------------------
Fix Version/s: 2.6
> Atomic update requests should always use topology mappings instead of affinity
> ------------------------------------------------------------------------------
>
> Key: IGNITE-7882
> URL: https://issues.apache.org/jira/browse/IGNITE-7882
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 2.4
> Reporter: Pavel Kovalenko
> Assignee: Pavel Kovalenko
> Priority: Major
> Fix For: 2.6
>
>
> Currently for mapping cache atomic updates we can use two ways:
> 1) Use nodes reporting status OWNING for partition where we send the update.
> 2) Use only affinity nodes mapping if rebalance is finished.
> Using the second way we may route update request only to affinity node, while
> there is also node which is still owner and can process read requests.
> It can lead to reading null values for some key, while update for such key
> was successful a moment ago.
> -------------------------
> Problem with using topology mapping:
> 1) We send update request with key K to near node N
> 2) N performs mapping for K to nodes P, B1, B2, B3 (Primary and backups) and
> starts waiting for succesful update responses for all of these nodes.
> 3) N sends update request to P. During this time B3 change status to RENTING
> (Eviction).
> 4) P also performs mapping for K to backup nodes B1, B2.
> 5) All updates are succesful, but N is still waiting for response from B3.
> Update request will be not finished and hangs.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)