[ 
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)

Reply via email to