[jira] [Commented] (IGNITE-5283) Transaction recovery works incorrectly with cache store and writeThrough enabled

2017-06-15 Thread Andrey Gura (JIRA)

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

Andrey Gura commented on IGNITE-5283:
-

Merged into master branch.

> 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.4.14#64029)


[jira] [Commented] (IGNITE-5283) Transaction recovery works incorrectly with cache store and writeThrough enabled

2017-06-02 Thread Andrey Gura (JIRA)

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


[jira] [Commented] (IGNITE-5283) Transaction recovery works incorrectly with cache store and writeThrough enabled

2017-05-30 Thread Andrey Gura (JIRA)

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

Andrey Gura commented on IGNITE-5283:
-

Tests are fixed. Please review.

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


[jira] [Commented] (IGNITE-5283) Transaction recovery works incorrectly with cache store and writeThrough enabled

2017-05-25 Thread Andrey Gura (JIRA)

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

Andrey Gura commented on IGNITE-5283:
-

There are failed tests. Investigation in progress.

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


[jira] [Commented] (IGNITE-5283) Transaction recovery works incorrectly with cache store and writeThrough enabled

2017-05-24 Thread Andrey Gura (JIRA)

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

Andrey Gura commented on IGNITE-5283:
-

Fixed. See PR: https://github.com/apache/ignite/pull/2001

Now flags {{skipStore}} and {{storeUsed}} passed from primary node to backups 
and {{GridDhtTxRemote}} starts with proper {{storeUsed}} value.

Waiting for TC.

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