0
votes

I create cache with configuration, which has CacheAtomicityMode.TRANSACTIONAL_SNAPSHOT and CacheStore, that overrided

org.apache.ignite.cache.store.CacheStoreAdapter#loadCache

When I try call loadCache I get an exception:

java.lang.UnsupportedOperationException: Load operations are not supported on transactional caches when MVCC is enabled.

But I don't understand why, if I can call putAll() on this cache, what is the difference?

As I understand I should placed initialize logic in other place, but it's looks like a crutch. And maybe it's a wrong way, because not a vain ignite block that behavior?

2

2 Answers

1
votes

Long story short: don’t use TRANSACTIONAL_SNAPSHOT. If you need transactions, use TRANSACTIONAL.

Currently, MVCC is “beta quality.”

0
votes

loadCache works differently since it will only populate local data (both primary and backup) on all nodes. putAll will only send data over the network. loadCache is only consistent when operation is complete, which is not how TRANSACTIONAL_SNAPSHOT works.