You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Kovalenko (JIRA)" <ji...@apache.org> on 2018/04/09 12:59:00 UTC

[jira] [Updated] (IGNITE-7882) Atomic update requests should always use topology mappings instead of affinity

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