[
https://issues.apache.org/jira/browse/IGNITE-29258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18140834#comment-18140834
]
Ignite TC Bot commented on IGNITE-29258:
----------------------------------------
{panel:title=Branch: [pull/13798/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13798/head] Base: [master] : No new tests
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9475547&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9475547
rerunBuildIds=none{color}
> Remove always-empty version collections from remote transaction finish
> ----------------------------------------------------------------------
>
> Key: IGNITE-29258
> URL: https://issues.apache.org/jira/browse/IGNITE-29258
> Project: Ignite
> Issue Type: Improvement
> Reporter: Dmitry Werner
> Assignee: Dmitry Werner
> Priority: Major
> Fix For: 2.20
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {\{IgniteTxRemoteEx#doneRemote}} takes \{{committedVers}},
> \{{rolledbackVers}} and \{{pendingVers}}, but every caller
> (\{{IgniteTxHandler}}, \{{IgniteTxManager#finishTxOnRecovery}},
> \{{GridDistributedTxRemoteAdapter#salvageTx}}, \{{TxTask}}) passes \{{null}}
> or empty collections. \{{GridDistributedCacheEntry#doneRemote}} is also
> always called with \{{pendingVers = null}}.
> As a result, the reorder loop in \{{GridCacheMvcc#doneRemote}} never moves a
> candidate, because its condition requires \{{pending.contains(..)}}, which is
> always false. The loop still walks the remote candidates under the entry lock
> on every remote tx finish.
> Changes:
> * Reduce \{{IgniteTxRemoteEx#doneRemote}} to \{{(baseVer)}}.
> * Remove \{{pendingVers}} from \{{GridDistributedCacheEntry#doneRemote}}.
> \{{committedVers}} and \{{rolledbackVers}} stay, because the near unlock path
> (\{{GridDhtUnlockRequest}}) passes real ones to \{{orderCompleted}}.
> * Reduce \{{GridCacheMvcc#doneRemote}} to \{{(ver)}} and remove the loop.
> No message, WAL record or serializable class is affected.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)