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