[infinispan-dev] Global components per CacheManager
Manik Surtani
manik at jboss.org
Mon Oct 25 07:35:19 EDT 2010
https://jira.jboss.org/browse/ISPN-730
On 25 Oct 2010, at 12:22, Mircea Markus wrote:
>
> On 25 Oct 2010, at 11:58, Manik Surtani wrote:
>
>>
>> On 25 Oct 2010, at 11:46, Mircea Markus wrote:
>>
>>>
>>> On 25 Oct 2010, at 09:56, Galder Zamarreño wrote:
>>>
>>>>
>>>> On Oct 24, 2010, at 10:41 PM, Vladimir Blagojevic wrote:
>>>>
>>>>> User on a forum complained seeing eviction thread per created cache [1]. Although global configuration settings are shared amongst all caches created in CacheManager each created cache gets a fresh copy of these global elements?! Each created cache therefore indeed gets a new eviction executor service with one running thread. Does that mean that by default we also create one async transport executor per cache with 25 threads spinning?
>>>>>
>>>>> If so, we should tell users that running more than two dozen caches per CacheManager is going to impact the system significantly.
>>>>>
>>>>> [1] http://community.jboss.org/thread/157913
>>>>
>>>> This is not down to the user. It's the 2LC case where there's a cache per each entity/collection type. So, if you have a lot of entities/collections in your case, you'll get this effect.
>>>>
>>>> Expiration is set on per cache level, but maybe we need a more clever way for cache manager to manager expiration when two or more caches shared the same expiration settings. Or more simply, manage expiration at the cache manager level.
>>> Expiration runs from eviction thread. It is possible to share the same eviction thread between multiple caches by writing a custom ScheduledExecutorFactory and specify it in the global evictionScheduledExecutor.
>>
>> Hmm, shouldn't this be the default? :/
>>
>> It is true that the global component is a singleton, in this case the global component is the DefaultExecutorFactory.
>>
>> http://fisheye.jboss.org/browse/Infinispan/branches/4.2.x/core/src/main/java/org/infinispan/executors/DefaultExecutorFactory.java?r=1312#l19
>>
>> But the factory creates a *new* executor each time it is asked for one.
>>
>> Perhaps we need a DefaultSharedExecutorFactory, which should be the *real* default?
> +1 adding DefaultSharedExecutorFactory to the code base so that users can use it
> I think it should be the default one for async notifications where we 25 threads per cache.
>>
>> Cheers
>> Manik
>> --
>> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/infinispan-dev/attachments/20101025/b8f7d357/attachment.html
More information about the infinispan-dev
mailing list