[infinispan-dev] ISPN-232 - feedback needed

Mircea Markus mircea.markus at jboss.com
Tue May 25 10:34:11 EDT 2010


On 25 May 2010, at 17:22, Manik Surtani wrote:

> 
> On 25 May 2010, at 15:09, Mircea Markus wrote:
> 
>> 
>> On 25 May 2010, at 16:26, Manik Surtani wrote:
>> 
>>> 
>>> On 25 May 2010, at 14:15, Mircea Markus wrote:
>>> 
>>>>>> 
>>>>>> But, I'd be concerned about an Infinispan thread that's needed 
>>>>>> for doing a lot of critical work during a view change getting tied up 
>>>>>> making a ton of notifications.
>>>>> 
>>>>> ^^ Yeah that's my concern.  If during a rehash we need to stop at every entry that is being moved and issue a notification, that could be costly and really slow down the rehashing process.
>>>> Can't we register an *async* notification listener on ViewChanged ? 
>>> 
>>> You'd still have a *lot* of notifications being queued up for the notification executor since you will have 1 event *per entry* that is moved.  
>> this would still happen in the same JVM as this information is needed. Just that we offer this as a service, so that users(AS being one of them) won't have to write this code.
> 
> No, if the AS does it, it will be one notification (view change) + a scan of known session ids (keys).  If we do it, it will involve 1 notification *per key* being migrated.
I don't intend to register more than one ViewChange listener per service. Then AS (or other clients) can register as many keys with that service instance (and consequently with that single listener) and, in that listener to iterate over the keys etc. 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 at jboss.org
>>> Lead, Infinispan
>>> Lead, JBoss Cache
>>> http://www.infinispan.org
>>> http://www.jbosscache.org
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
>> 
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> 
> --
> Manik Surtani
> manik at jboss.org
> Lead, Infinispan
> Lead, JBoss Cache
> http://www.infinispan.org
> http://www.jbosscache.org
> 
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev




More information about the infinispan-dev mailing list