Hi, We have no global DB behind the grid, and we use @CacheLocalStore annotation in our Store implementation. But after some tests we've discovered that we cannot change the cluster tolopogy arbitrarily without data loss. It is because Ignite knows nothing about the storage contents.
Here is an example (see readme.txt) https://dl.dropboxusercontent.com/u/46370629/localstore-example.zip We've tried to create a "protocol" of topology changing in order to avoid problems with synchronization of local stores. * We must completely disable evictions * We should not join a node to the cluster until the loadCache operation is completed * We should fix the topology (using the TopologyValidator) when completely stopping the cluster * We should restore the fixed topology (using the TopologyValidator) when starting the cluster * A node can leave a topology at any time. And it can be joined back, but its store should be cleared before (it is because it can contain already deleted entries) The protocol is quite difficult and I want to find a way to simplify it. I'm sure that Ignite already manages some of issues that we try to solve with the protocol. How to use Ignite with local stores correctly? Are there some set of simple rules that we should follow to avoid data loss? -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/CacheLocalStore-toplogy-changing-strategy-tp7832.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.