[
https://issues.apache.org/jira/browse/IGNITE-15329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17542443#comment-17542443
]
Ignite TC Bot commented on IGNITE-15329:
----------------------------------------
{panel:title=Branch: [pull/9907/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9907/head] Base: [master] : New Tests
(1010)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Control Utility{color} [[tests
50|https://ci.ignite.apache.org/viewLog.html?buildId=6587785]]
* {color:#013220}IgniteControlUtilityTestSuite:
KillCommandsCommandShTest.testCancelConsistencyTaskSequential - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
KillCommandsCommandShTest.testCancelConsistencyTaskParallel - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=CHECK_ONLY, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=CHECK_ONLY, parallel=true] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=true, strategy=LWW, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=true, strategy=PRIMARY, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=LWW, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=PRIMARY, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=RELATIVE_MAJORITY, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessAtomicTest.test[misses=false,
nulls=false, strategy=REMOVE, parallel=false] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=true,
nulls=true, strategy=RELATIVE_MAJORITY, parallel=false] - PASSED{color}
... and 39 new tests
{color:#00008b}Consistency{color} [[tests
960|https://ci.ignite.apache.org/viewLog.html?buildId=6587832]]
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=true, misses=false, nulls=false,
binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=true, misses=false, nulls=true,
binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=true, misses=false, nulls=true,
binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=true, misses=true, nulls=false,
binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=true, nulls=false,
binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=true, nulls=true,
binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=true, nulls=true,
binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=true, misses=false, nulls=false,
binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=false,
nulls=false, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=false, nulls=true,
binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
AtomicReadRepairTest.test[getEntry=true, async=false, misses=false, nulls=true,
binary=true] - PASSED{color}
... and 949 new tests
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6587853&buildTypeId=IgniteTests24Java8_RunAll]
> 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-12, iep-31
> Fix For: 2.14
>
> Time Spent: 4h 20m
> Remaining Estimate: 0h
>
> 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 as it was during the check we must replace it with
> the consistent value.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)