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

Andrey Gura commented on IGNITE-5283:
-------------------------------------

Need to port to 2.0

> Transaction recovery works incorrectly with cache store and writeThrough 
> enabled
> --------------------------------------------------------------------------------
>
>                 Key: IGNITE-5283
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5283
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.7
>            Reporter: Andrey Gura
>            Assignee: Andrey Gura
>             Fix For: 2.1
>
>
> Transaction (at least optimistic) recovery on backups works incorrectly when 
> cache store and writeThrough enabled. Changes aren't propagated to DB (it's 
> correct) but propagated to cache if primary node left topology.
> It happens because {{IgniteTxRemoteStateAdapter.storeUsed()}} method always 
> returns {{false}}. As result incorrect code branch executes in 
> {{NodeFailureTimeoutObject.onTimeout0()}} method ({{salvageTx()}} method 
> should be invoked).
> *Steps to reproduce*:
> - Start two nodes A and B with cache. Cache store and writeThrough are anbled.
> - From node A start optimistic transaction which executes put/update 
> operation for key. Node A should be primary for this key.
> - Kill node A when {{CacheStore.sessionEnd()}} method is invoked but changes 
> are not propagated to underlying database (before commit on connection).
> - DB doesn't contain changes but node B contains it.
> *Expected behaviour:*
> All changes should be rolled back.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to