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

Alexey Goncharuk commented on IGNITE-1525:
------------------------------------------

Anton,

Here are my comments for your PR:
 * I do not like that we always send return value to backup. If rebalancing is 
completed, we can as well calculate and store return value on backup without 
sending it over the network. The corresponding logic to detect this case is 
already present in GridDhtTxPrepareFuture#map(entry, nodes, globalMap).
 * Why is nodesToTxs a linked map? From the code a regular map would suffice.
 * Why do you check if entry is a backup in IgniteTxManager#addCommittedTx()? 
{{!tx.local() && !tx.near()}} must already ensure that this is a DHT remote 
transaction, and therefore a backup.
 * {{UUID nodeId = tx.subjectId(); // Originating node. }} in addCommittedTx is 
incorrect. You need to use IgniteTxAdapter#otherNodeId() .

> Return value for cache operation can be lost with onePhaseCommit
> ----------------------------------------------------------------
>
>                 Key: IGNITE-1525
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1525
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: cache
>    Affects Versions: ignite-1.4
>            Reporter: Semen Boikov
>            Assignee: Anton Vinogradov
>            Priority: Blocker
>             Fix For: 1.7
>
>
> Looks like with {{onePhaseCommit}} return value for cache operation can be 
> lost if primary node fails, {{GridNearTxPrepareResponse}} with return value 
> is not received, but transaction executes 'check backup' step and finishes 
> without error.
> Reproduces in {{IgniteCachePutRetryTransactionalSelfTest.testInvoke}}, also 
> added one more test to check return value 
> {{IgniteCachePutRetryTransactionalSelfTest.testGetAndPut}}.
> Please unmute tests on TC when fixed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to