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