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

Igor Rudyak commented on IGNITE-3609:
-------------------------------------

Alexey,

I made a refactoring according to your comments. 

Regarding mutations - it's rather simple concept. It serves as a wrapper to 
store information for particular update/delete operation performed withing 
transaction. Withing Ignite transaction we accumulating all the mutations in a 
buffer (represented by a List) and don't do any operations with underlying 
persistent store until transaction committed. On transaction commit, we 
applying all the mutations from the buffer on the first "sessionEnd" call 
(transaction could involve multiple caches) and after that discarding this 
buffer. We have such unit tests for transaction: 

1) *CassandraDirectPersistenceTest.pojoStrategyTransactionTest*
2) *IgnitePersistentStoreTest.pojoStrategyTransactionTest*

where appropriate instances of Mutation classes are instantiated withing Cache 
Store implementation (CassandraCacheStore).

All the changes are committed to "ignite-3609" branch

> Utilize Cassandra logged batches for transactions
> -------------------------------------------------
>
>                 Key: IGNITE-3609
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3609
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: cache
>            Reporter: Igor Rudyak
>            Assignee: Igor Rudyak
>             Fix For: 1.8
>
>
> Utilize Cassandra logged batches to atomically persist transaction changes in 
> persistent store



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to