I just started running pool 2.2 alongside dbcp 2.0.1 in tomcat 7 against
mysql.

I noticed a situation while running the idle evictor where there's a time
during eviction where the number of connections drops below the value set
for minIdle, so in theory if all connections were idle for
minEvictableIdleTimeMillis, i could have no free connections.
After the eviction, connections seem to be created back up to minIdle.

I expected it to only evict down to the minIdle value, not evict all
eligible idle connections and then recreate up to minIdle.
The way i'm viewing the number of connections is through mysql's "show full
processlist" command.
Is what i'm describing possible or am I missing something?
If it is possible, couldn't this cause the resource to become unavailable
in the time between destruction and recreation?

Here's my config:
                initialSize="15"
                minIdle="15"
                maxIdle="100"
                maxTotal="200"
                maxWaitMillis="4000"
                defaultQueryTimeout="20"
                testOnBorrow="true"
                testWhileIdle="true"
                blockWhenExhausted="true"
                numTestsPerEvictionRun="50"
                timeBetweenEvictionRunsMillis="120000"
                minEvictableIdleTimeMillis="119000"
                validationQuery="SELECT 1"
                validationQueryTimeout="2"
                removeAbandoned="true"
                removeAbandonedOnBorrow="true"
                removeAbandonedTimeout="60"
                logAbandoned="true"

Thanks,

-Tony

Reply via email to