ISPN-1470 (
https://issues.jboss.org/browse/ISPN-1470) raises an
interesting question: if the preloading happens before joining, the
preloading code won't know anything about the consistent hash. It will
load everything from the cache store, including the keys that are
owned by other nodes.
I think there is a check in place already so that the joiner won't
push stale data from its cache store to the other nodes, but we should
also discard the keys that don't map locally or we'll have stale data
(since we don't have a way to check if those keys are stale and
register to receive invalidations for those keys).
What do you think, should I discard the non-local keys with the fix
for ISPN-1470 or should I let them be and warn the user about
potentially stale data?
Cheers
Dan
On Mon, Oct 3, 2011 at 3:09 AM, Manik Surtani <manik(a)jboss.org> wrote:
On 28 Sep 2011, at 10:56, Dan Berindei wrote:
I'm not sure if the comment is valid though, since the old
StateTransferManager had priority 55 and it also cleared the data
container before applying the state from the coordinator. I'm not sure
how preloading and state transfer are supposed to interact, maybe
Manik can help clear this up?
Hmm - this is interesting. I think preloading should happen first, since
the cache store may contain old data.
--
Manik Surtani
manik(a)jboss.org
twitter.com/maniksurtani
Lead, Infinispan
http://www.infinispan.org