I mean *CacheConfiguration.setAtomicityMode*[1] Because transactions makes a sense only for TRANSACTIONAL cache.
[1]: https://apacheignite.readme.io/docs/transactions#section-atomicity-mode On Sun, Mar 19, 2017 at 11:14 PM, Vladislav Pyatkov <vldpyat...@gmail.com> wrote: > Hi > > Make sure are you using transactional cache. > > On Mar 19, 2017 10:32 PM, "Alisher Alimov" <alimovalis...@gmail.com> > wrote: > >> Hello! >> >> I found bug when using CacheStore with Transaction or it’s expected >> behaviour? >> >> Example: >> >> CacheConfiguration cacheConfiguration = new CacheConfiguration("test.no-op"); >> cacheConfiguration.setWriteThrough(true); >> cacheConfiguration.setCacheWriterFactory(noOpCacheWriterFactory); >> cacheConfiguration.setWriteBehindBatchSize(1); >> >> >> try (Transaction transaction = ignite.transactions().txStart()) { >> cache.put(1, 1); // will be flushed here >> cache.put(2, 2); >> >> transaction.rollback(); >> } >> >> >> Does not matter if transaction was not completed or rollback, dirty >> records are flushed through CacheWriter and persistent storage will >> contains inconsistent data. >> >> Expected behaviour: only committed data must be flushed >> >> >> With best regards >> Alisher Alimov >> alimovalis...@gmail.com >> >> >> >> >> -- Vladislav Pyatkov