Re: How to call loadCache before node is started ?

2016-06-24 Thread Alexei Scherbakov
Hi, Kristian. It looks like an issue which was recently fixed. Try set CacheRebalanceMode.ASYNC. 2016-06-22 14:54 GMT+03:00 Kristian Rosenvold : > If I fill the newly created Replicated cache with IgniteDataStreamer, > replication works as expected. If I use loadCache, the result is > arbitrar

Re: How to call loadCache before node is started ?

2016-06-22 Thread Kristian Rosenvold
If I fill the newly created Replicated cache with IgniteDataStreamer, replication works as expected. If I use loadCache, the result is arbitrary on other nodes. This has to be a bug... ?? Complete miniature easy-to-run test project at https://github.com/krosenvold/ignite-loadCache-failure-demo, s

Re: How to call loadCache before node is started ?

2016-06-22 Thread Kristian Rosenvold
I have created a testcase that quite consistently reproduces this problem on my mac; https://gist.github.com/krosenvold/fa20521ad121a0cbb4c6ed6be91452e5 If you start two processes with this main method, and stagger startup of the second process by about 10 seconds, the second process will almost n

Re: How to call loadCache before node is started ?

2016-06-21 Thread Kristian Rosenvold
2016-06-20 10:27 GMT+02:00 Alexei Scherbakov : > Hi, > > You should not rely on cache.size method for checking data consistency. > cache.size skips keys which is not currently loaded by read-through > behavior. Sorry for not mentioning that this is CacheMode.REPLICATED and CacheRebalanceMode.SYNC.

Re: How to call loadCache before node is started ?

2016-06-20 Thread Alexei Scherbakov
Hi, You should not rely on cache.size method for checking data consistency. cache.size skips keys which is not currently loaded by read-through behavior. 2016-06-18 15:14 GMT+03:00 Kristian Rosenvold : > 2016-06-18 13:02 GMT+02:00 Alexei Scherbakov >: > > You should be safe calling loadCache

Re: How to call loadCache before node is started ?

2016-06-18 Thread Kristian Rosenvold
2016-06-18 13:02 GMT+02:00 Alexei Scherbakov : > You should be safe calling loadCache just after getOrCreate. I am testing various disaster recovery scenarios here, and I'm not entirely convinced this is the case. Our system starts 6 replicated caches, the script below outputs the size from each n

Re: How to call loadCache before node is started ?

2016-06-18 Thread Alexei Scherbakov
Hi, Kristian. I haven't heard about anything like atomic loading of cache. You should be safe calling loadCache just after getOrCreate. Every node will start loading data, skipping keys which are not belong to them. There is no such thing as partial replication, data is always consistent. To i

How to call loadCache before node is started ?

2016-06-18 Thread Kristian Rosenvold
Our current node startup logic includes a simple heuristic like this: final IgniteCache cache = ignite.getOrCreateCache(configuration); if (cache.localSize(CachePeekMode.ALL) == 0) { LOGGER.info("Empty cache or No-one else around in the ignite cloud, loading cache {} from database", configurati