]
Adrian Nistor updated ISPN-4880:
--------------------------------
Fix Version/s: 8.2.0.Alpha1
(was: 8.1.0.Final)
Distribution mode-friendly preloading
-------------------------------------
Key: ISPN-4880
URL:
https://issues.jboss.org/browse/ISPN-4880
Project: Infinispan
Issue Type: Feature Request
Components: Core, Loaders and Stores
Affects Versions: 7.0.0.CR2
Reporter: Dan Berindei
Fix For: 8.2.0.Alpha1
For non-shared stores, we need a graceful restart to make sure each node receives the
exact same segments after restart, and that keys aren't readable/writable until re
recover all the segments.
With a shared store, however, we could replace the implicit preload with an explicit
preload that can be called by the user after the cluster is fully formed.
Currently, preloading happens before the cache is a full member of the cluster, so it
wants to load every key on every node. In a large cluster, that means most of the keys
loaded by preload will be discarded as it joins and finds out it owns only a tiny slice of
the data.
Preloaded values might be out of date before the node becomes a full member (because
writes on the existing nodes will update the shared store, but not the joiner's
in-memory data). The only way to avoid that is to delete everything that was preloaded on
join, meaning even more lost work.