[jira] [Commented] (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:comment-tabpanel=16946716#comment-16946716 ] Maxim Muzafarov commented on IGNITE-7882: - [~jokser] Hello, can we move this issue to the next release? > 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.8 > > > 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 (v8.3.4#803005)
[jira] [Commented] (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:comment-tabpanel=16716740#comment-16716740 ] ASF GitHub Bot commented on IGNITE-7882: Github user Jokser closed the pull request at: https://github.com/apache/ignite/pull/3603 > 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.8 > > > 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)
[jira] [Commented] (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:comment-tabpanel=16386103#comment-16386103 ] ASF GitHub Bot commented on IGNITE-7882: GitHub user Jokser opened a pull request: https://github.com/apache/ignite/pull/3603 IGNITE-7882 Always use topology mapping for atomic updates. You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-7882 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/3603.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3603 commit 1418d83df435f5b5418b97e990365be2504d16d1 Author: Pavel KovalenkoDate: 2018-03-05T13:50:00Z IGNITE-7882 Always use topology mapping for atomic updates. > 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 > > 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. -- This message was sent by Atlassian JIRA (v7.6.3#76005)