You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Anton Vinogradov (Jira)" <ji...@apache.org> on 2021/08/17 15:12:00 UTC

[jira] [Updated] (IGNITE-15329) Atomics should be repairable by Read Repair

     [ https://issues.apache.org/jira/browse/IGNITE-15329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anton Vinogradov updated IGNITE-15329:
--------------------------------------
        Parent: IGNITE-15167
    Issue Type: Sub-task  (was: Improvement)

> Atomics should be repairable by Read Repair
> -------------------------------------------
>
>                 Key: IGNITE-15329
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15329
>             Project: Ignite
>          Issue Type: Sub-task
>            Reporter: Anton Vinogradov
>            Assignee: Anton Vinogradov
>            Priority: Major
>
> It's pretty clear that it's impossible to fix atomics with "Read Repair" atomically since it's impossible to lock entries during the repair process.
> Even get from backups has no guarantee to return consistent values under load.
> But to fix we must also perform an additional step - cache put.
> So, value can be changed between gets, can be changed after gets but before put, but it still seems to be possible to automize the fix.
> Idea is to decide what entry won on the last check attempt and put this value using the entry processor.
> During the entry processor execution, we should check the current node's value, and if the value is not expected for this node, we should perform put, but record a concurrent modification event.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)