[
https://issues.apache.org/jira/browse/IGNITE-21371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17814254#comment-17814254
]
Alexander Lapin commented on IGNITE-21371:
------------------------------------------
[~ksizov] LGTM
> Fix ItDmlTest#testMerge
> -----------------------
>
> Key: IGNITE-21371
> URL: https://issues.apache.org/jira/browse/IGNITE-21371
> Project: Ignite
> Issue Type: Bug
> Reporter: Kirill Tkalenko
> Assignee: Kirill Sizov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> It was discovered that in
> *org.apache.ignite.internal.sql.engine.ItDmlTest#testMerge*, queries *MERGE*
> are executed in an implicit transaction that does not decrease the RW
> transactions counter in
> *org.apache.ignite.internal.index.IndexNodeFinishedRwTransactionsChecker#decrementRwTxCount*,
> because of this, tests in which indexes are created can freeze.
> If the test is turned on,
> *org.apache.ignite.internal.sql.engine.ItDmlTest#rangeReadAndExclusiveInsert*
> starts to fail.
> h3. What is found out:
> For an implicit RW transaction, *txCoordinatorId* may change because of this,
> the counter cannot decrease.
> This happens because the *org.apache.ignite.internal.tx.TxStateMeta* is
> updated in
> *org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener#processRequest*
> and changes *TxStateMeta#txCoordinatorId* to another, even if the
> transaction is processed on the node that created it.
> Presumably this is due to the fact that fragments of the transaction are
> executed on different nodes; perhaps to fix it it will be enough to add
> *txCoordinatorId* in the messages.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)