commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz (JIRA)" <j...@apache.org>
Subject [jira] Closed: (POOL-130) GenericObjectPool.Evictor creates new objects although exactly minIdle objects are idle
Date Tue, 04 Nov 2008 01:23:44 GMT

     [ https://issues.apache.org/jira/browse/POOL-130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Phil Steitz closed POOL-130.
----------------------------

    Resolution: Invalid

The behavior described is as designed and consistent with the documentation.  When you set
minEvictableIdleTimeMillis=30000 (5min), you are telling the pool that you do not want instances
to sit idle in the pool for more than 5 min.  That means that when the evictor runs (once
an hour according to your config) it is going to destroy instances that have been idle more
than 5 minutes.  The minIdle setting says you want to ensure there are 10 idle instances in
the pool, so the pool is behaving as designed when it destroys what it sees as "stale" instances
and replaces them with new ones to ensure minIdle is met.  If you want to suggest a change
in the API to support different behavior, start by posting a suggestion to dev@commons.apache.org.

> 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