1. Loop thru all entries. For each entry in the cache:
2. Determine if key needs to be moved, given the old topology and the new one after considering a new joiner. If the key needs to be moved:
3. Add key to digest of entries to be moved.
4. Transfer state
Now if we were to notify listeners of each change, this would happen in the loop, after the condition, around the same time as step 3. Which means a large number of events generated and dispatched (even with just 1 listener).
Unless you are suggesting that the listener gets a set of keys (extracted from the digest, after the loop) in a single notification event?
As per my understanding, Brian's concern was that the list of keys can be quite large (all the web sessions) and that would delay the rehashing thread - this is now mitigated by using @ViewChange(async=true).
The cost of each notification is the construction and initialization of an event object - which includes cloning the invocation context - and placing it on an executor queue.
Could be thousands, tens of thousands in cases.
All other notifications will be severely delayed (depending on your async notifier executor threadpool size)
If you have an big enough thread pool (actually at least 2 threads) this should be no issue - and this should be made clear to the user.
Executor queue size? This could start blocking?
--
Manik Surtani
manik@jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik@jboss.org
Lead, Infinispan
Lead, JBoss Cache
http://www.infinispan.org
http://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik@jboss.orgLead, Infinispan
Lead, JBoss Cache
http://www.infinispan.orghttp://www.jbosscache.org
_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev