[
https://issues.apache.org/jira/browse/IGNITE-15329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17533008#comment-17533008
]
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
(1001)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Control Utility{color} [[tests
41|https://ci2.ignite.apache.org/viewLog.html?buildId=6424824]]
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=false, strategy=LWW] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=false, strategy=CHECK_ONLY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=false, strategy=REMOVE] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=false, strategy=RELATIVE_MAJORITY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=false, strategy=PRIMARY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=true, strategy=REMOVE] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=true, strategy=RELATIVE_MAJORITY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=true, strategy=PRIMARY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=false,
nulls=true, strategy=LWW] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=true,
nulls=false, strategy=RELATIVE_MAJORITY] - PASSED{color}
* {color:#013220}IgniteControlUtilityTestSuite:
GridCommandHandlerConsistencyRepairCorrectnessTransactionalTest.test[misses=true,
nulls=false, strategy=PRIMARY] - PASSED{color}
... and 30 new tests
{color:#00008b}Consistency{color} [[tests
960|https://ci2.ignite.apache.org/viewLog.html?buildId=6424819]]
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=false, nulls=false, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=false, nulls=false, binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=false,
misses=true, nulls=true, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=false,
misses=true, nulls=true, binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=true, nulls=false, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=true, nulls=false, binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=false, nulls=true, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=false, nulls=true, binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
PdsAtomicReadRepairTest.test[getEntry=false, async=false, misses=false,
nulls=false, binary=true] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
PdsAtomicReadRepairTest.test[getEntry=false, async=false, misses=false,
nulls=false, binary=false] - PASSED{color}
* {color:#013220}IgniteCacheConsistencySelfTestSuite:
ImplicitTransactionalReadRepairTest.test[getEntry=true, async=true,
misses=true, nulls=true, binary=true] - PASSED{color}
... and 949 new tests
{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=6424898&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: 0.5h
> 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)