ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anton Vinogradov (JIRA)" <j...@apache.org>
Subject [jira] [Issue Comment Deleted] (IGNITE-1525) Return value for cache operation can be lost with onePhaseCommit
Date Mon, 27 Jun 2016 11:12:52 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-1525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Anton Vinogradov updated IGNITE-1525:
-------------------------------------
    Comment: was deleted

(was: Sounds good, 
but I have another idea, 
Seems we can get rid of {{GridDhtTxFinishRequest}} and {{GridDhtTxFinishResponse}} in case
of onePhaseCommit.

Tx steps in this case:
1) Client sends {{GridNearTxPrepareRequest}} to Primary (nothing changed)
2) Primary sends {{GridDhtTxPrepareRequest}} to Backup (nothing changed)
3) #1 Point where Primary or Backup can fail with possible committed Tx (at Backup).
4) Backup sends {{GridNearTxPrepareResponse}} (or its analog) to Client. Client informed that
Tx committed.
5) #2 Point where Primary or Backup can fail with committed Tx (at Backup).
6) Backup sends {{GridDhtTxPrepareResponse}} to Primary. Primary commits data and release
locks.

Possible fails and solutions:
#1 Primary fails. Ok, go to the step 4, skip step 6.
#1 Backup fails. Primary node, at Backup left, finishes Tx and sends {{GridNearTxPrepareResponse}}
to Client.
#2 Primary fails. Ok, skip step 6.
#2 Backup fails. Primary node, at Backup left, finishes Tx.

Thoughts?)

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

Mime
View raw message