Andrey Gura created IGNITE-5283:
-----------------------------------

             Summary: 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


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