Anton Vinogradov created IGNITE-15329:
-----------------------------------------

             Summary: Atomics should be repairable by Read Repair
                 Key: IGNITE-15329
                 URL: https://issues.apache.org/jira/browse/IGNITE-15329
             Project: Ignite
          Issue Type: Improvement
            Reporter: Anton Vinogradov
            Assignee: Anton Vinogradov


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)

Reply via email to