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)