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)
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
* 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
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
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:
Sent from the Apache Ignite Users mailing list archive at Nabble.com.