[ 
https://issues.apache.org/jira/browse/IGNITE-10733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Konstantinov updated IGNITE-10733:
-----------------------------------------
    Description: When WriteBehindStore writes data synchronously to an 
underline store using back-pressure logic (storeSingleValue) - the operation is 
happened in a transaction. CassandraStore uses presence of transaction to 
clarify is a atomicity needed: if there is a transaction - CassandraStore 
accumulates data in a session-local attribute to flush at the end of the 
transaction using Cassandra batches. When transaction is committed 
WriteBehindStore is notified about the related session end but underline 
CassandraStore is not notified (and not subscribed using a session listener), 
as a result CassandraStore does not flush the accumulated values written via 
storeSingleValue and they are lost.  (was: When WriteBehindStore writes data 
synchronously to an underline store using back-pressure logic 
(storeSingleValue) - the operation is happened in a transaction. CassandraStore 
uses presence of transaction to clarify is it a atomicity needed: if there is a 
transaction - CassandraStore accumulates data in a session-local attribute. 
When transaction is committed WriteBehindStore is notified about the related 
session end but CassandraStore is not notified (and not subscribed using a 
session listener), as a result CassandraStore does not flush the accumulated 
values in this cases and they are lost.)

> CassandraStore in write behind mode loses data when back-pressure is active
> ---------------------------------------------------------------------------
>
>                 Key: IGNITE-10733
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10733
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache, cassandra
>    Affects Versions: 2.5, 2.6, 2.7
>            Reporter: Dmitry Konstantinov
>            Priority: Critical
>
> When WriteBehindStore writes data synchronously to an underline store using 
> back-pressure logic (storeSingleValue) - the operation is happened in a 
> transaction. CassandraStore uses presence of transaction to clarify is a 
> atomicity needed: if there is a transaction - CassandraStore accumulates data 
> in a session-local attribute to flush at the end of the transaction using 
> Cassandra batches. When transaction is committed WriteBehindStore is notified 
> about the related session end but underline CassandraStore is not notified 
> (and not subscribed using a session listener), as a result CassandraStore 
> does not flush the accumulated values written via storeSingleValue and they 
> are lost.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to