[jira] [Commented] (IGNITE-17123) Fix wrong update counter assignment on backup nodes for noop invoke operation.

2022-06-14 Thread Vyacheslav Koptilin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-17123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17554011#comment-17554011
 ] 

Vyacheslav Koptilin commented on IGNITE-17123:
--

Hello [~amashenkov],

The fix looks good to me. Thank you for your efforts!

> Fix wrong update counter assignment on backup nodes for noop invoke operation.
> --
>
> Key: IGNITE-17123
> URL: https://issues.apache.org/jira/browse/IGNITE-17123
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Andrey Mashenkov
>Assignee: Andrey Mashenkov
>Priority: Minor
> Fix For: 2.14
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Transaction reserves partition counters on primary.
> On the backup side, TxEntries must be commited with counters from the 
> reserved range.
> However, a range of update counters, which were reserved on primary, is NOT 
> validated on backup. Thus means NOOP invoke operation may cause partition 
> counter difference on the primary and backup nodes.
> 1. Let's pass NOOP result of invoke operation to the backup and avoid 
> incorrect partition counter change on backup nodes (see DhtTxPrepareFuture).
> 2. Update counter can be assigned to TxEntry instantly on tx commit on Remote 
> node (for the WAL purposes) instead of allocating+iterating over a new 
> collection (see GridDistributedTxRemoteAdapter.commitIfLocked).



--
This message was sent by Atlassian Jira
(v8.20.7#820007)


[jira] [Commented] (IGNITE-17123) Fix wrong update counter assignment on backup nodes for noop invoke operation.

2022-06-09 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-17123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17552276#comment-17552276
 ] 

Ignite TC Bot commented on IGNITE-17123:


{panel:title=Branch: [pull/10075/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10075/head] Base: [master] : New Tests 
(6)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Cache 9{color} [[tests 
6|https://ci.ignite.apache.org/viewLog.html?buildId=6620265]]
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=PESSIMISTIC,
 isolation=REPEATABLE_READ] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=PESSIMISTIC,
 isolation=READ_COMMITTED] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=PESSIMISTIC,
 isolation=SERIALIZABLE] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=OPTIMISTIC,
 isolation=REPEATABLE_READ] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=OPTIMISTIC,
 isolation=READ_COMMITTED] - PASSED{color}
* {color:#013220}IgniteCacheTestSuite9: 
TxPartitionCounterStateConsistencyNoopInvokeTest.testPartitionConsistencyAfterNoopInvoke[concurrency=OPTIMISTIC,
 isolation=SERIALIZABLE] - PASSED{color}

{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6620337buildTypeId=IgniteTests24Java8_RunAll]

> Fix wrong update counter assignment on backup nodes for noop invoke operation.
> --
>
> Key: IGNITE-17123
> URL: https://issues.apache.org/jira/browse/IGNITE-17123
> Project: Ignite
>  Issue Type: Bug
>  Components: cache
>Reporter: Andrey Mashenkov
>Assignee: Andrey Mashenkov
>Priority: Minor
> Fix For: 2.14
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Transaction reserves partition counters on primary.
> On the backup side, TxEntries must be commited with counters from the 
> reserved range.
> However, a range of update counters, which were reserved on primary, is NOT 
> validated on backup. Thus means NOOP invoke operation may cause partition 
> counter difference on the primary and backup nodes.
> 1. Let's pass NOOP result of invoke operation to the backup and avoid 
> incorrect partition counter change on backup nodes (see DhtTxPrepareFuture).
> 2. Update counter can be assigned to TxEntry instantly on tx commit on Remote 
> node (for the WAL purposes) instead of allocating+iterating over a new 
> collection (see GridDistributedTxRemoteAdapter.commitIfLocked).



--
This message was sent by Atlassian Jira
(v8.20.7#820007)