[
https://issues.apache.org/jira/browse/IGNITE-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348962#comment-15348962
]
Alexey Goncharuk edited comment on IGNITE-1525 at 6/25/16 12:50 AM:
--------------------------------------------------------------------
I think we should keep a return value on backup node for a short period of time
when needed. We can clear return value when:
* Backup receives an asynchronous ACK from originating node when TX is done
* Backup receives DhtTxFinishRequest from originating node
* Originating node leaves the grid.
We can re-use completedVersHashMap in IgniteTxManager to keep return value to
avoid creation of additional maps.
was (Author: agoncharuk):
I think we should keep a return value on backup node for a short period of time
when needed. We can clear return value when:
* Backup receives an asynchronous ACK from originating node when TX is done
* Backup receives DhtTxFinishRequest from originating node
* Originating node leaves the grid.
> 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)