commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: [pool] preparePool that only registers key, doesn't create new object
Date Thu, 09 Feb 2017 13:41:46 GMT
On 06/02/17 10:55, Mark Thomas wrote:
> On 05/02/17 22:21, Gary Gregory wrote:
>> Anyone care to opine?
>
> I think there is a bug in ensureMinIdle. If the objectDeque is null, it
> needs to obtain a reference to the objectDeque once created in the for
> loop. Otherwise the call from preparePool will always create
> minIdlePerKey objects regardless of any objects created by the evictor.

Fixed in r1782329 for 2.4.3 onwards.

Mark


>
> Mark
>
>>
>> G
>>
>> On Fri, Jan 20, 2017 at 7:38 AM, Martin Klepsch <
>> martinklepsch@googlemail.com> wrote:
>>
>>> Hey,
>>>
>>> With a KeyedObjectPool I can use `setMinIdlePerKey` &  `preparePool` to
>>> "bootstrap" an object pool. Now `preparePool` creates new objects
>>> synchronously and the evictor thread doesn't seem to ensure min idle
>>> objects if there are none yet (since it can't know the keys I guess).
>>>
>>> Because of that I run into the situation that the evictor thread creates
>>> objects for keys that are currently being created by `preparePool`. It's
>>> not an absolute deal breaker but it would be nice to be able to register
>>> keys without synchronously creating the minimum idle objects. Instead
>>> I'd
>>> like to wait for the evictor thread to pick up newly registered keys and
>>> create the required objects for it.
>>>
>>> Unfortunately `register` is private and I don't see another way to
>>> trigger
>>> key-registering. (Calling `preparePool` with `minIdlePerKey` set to 0
>>> will
>>> short circuit and not register the key).
>>>
>>> Any suggestions welcome!
>>>
>>> Cheers :)
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message