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 <
martinklep...@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-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org



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

Reply via email to