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

Reply via email to