[
https://issues.apache.org/jira/browse/IGNITE-15329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Anton Vinogradov updated IGNITE-15329:
--------------------------------------
Labels: iep-31 (was: )
> 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
> Labels: iep-31
>
> 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.20.1#820001)