commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sandy McArthur (JIRA)" <j...@apache.org>
Subject [jira] Commented: (POOL-130) GenericObjectPool.Evictor creates new objects although exactly minIdle objects are idle
Date Mon, 27 Oct 2008 18:24:44 GMT

    [ https://issues.apache.org/jira/browse/POOL-130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12642997#action_12642997
] 

Sandy McArthur commented on POOL-130:
-------------------------------------

I'm not disagreeing with you that the idle object churn you describe is potentially wasted
CPU cycles but unless poolable object creation is insanely expensive is this really that much
wasted CPU time once an hour?

Also, a little bit of churn may have a net positive effect by breaking "strong" references
so to allow the garbage collector to discard cached data that is tied to the poolable object
via weak references and the like.

I'm not convinced this is a "problem" needing a fix though a good patch of a better behavior
could change my mind.

> GenericObjectPool.Evictor creates new objects although exactly minIdle objects are idle
> ---------------------------------------------------------------------------------------
>
>                 Key: POOL-130
>                 URL: https://issues.apache.org/jira/browse/POOL-130
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.2, 1.4
>            Reporter: Torsten Feig
>
> When you 
> - create a GenericObjectPool with these parameters: maxActive=100, maxIdle=100, minIdle=10,
timeBetweenEvictionRunsMillis=360000 (1h), minEvictableIdleTimeMillis=30000 (5min)
> - preload the 10 minIdle objects (10x borrowObject() + returnObject)
> you have a pool with 10 idle objects.
> Then every 1h the evictor destroys the 10 idle objects and creates 10 new ones. Why?
After all, creating and tearing down pool objects is likely to be expensive. So why destroy
the old objects when they exactly represent the minIdle objects? I don't see any need for
this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message