commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bhaskar NA (JIRA)" <>
Subject [jira] Commented: (POOL-107) number of connections created has crossed more than maxActive
Date Mon, 05 Nov 2007 06:06:50 GMT


Bhaskar NA commented on POOL-107:

How is the DBCP datasource being instantiated? Is DBCP running in a web container? 

In tomcat's server.xml, in ResourceParams, factory param is configured to use org.apache.commons.dbcp.BasicDataSourceFactory.
In the code, we do the jndi lookup for the above ds and call ds.getConnection().

What is the database? Is it remote from the host running the pool?
oracle is the database and it is in a remote machine

Are all of the TCP connections ESTABLISHED?

Are you sure they are all associated with the client connection pool? 

Are client threads timing out waiting for connections during the test (i.e.., do you see org.apache.commons.dbcp.SQLNestedException:
Cannot get a connection, pool error Timeout waiting for idle object)? 

Yes, if i have too many concurrent threads then i use to hit this issue.

What does the DBCP client do with connections obtained during the test? 
and then giveback connection to pool

Is the load constant, with threads just repeating the same requests with no delays in between
load was constant.
they use to repeat same work

What is the duration of the test? 
30 min.

> number of connections created has crossed more than maxActive 
> --------------------------------------------------------------
>                 Key: POOL-107
>                 URL:
>             Project: Commons Pool
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: OS:Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
> uname:Linux 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:32:14 EDT 2005 i686
> vm_info: Java HotSpot(TM) Server VM (1.4.2_13-b06) for
> linux-x86, built
> on Oct 18 2006 09:55:11 by unknown with unknown compiler
>            Reporter: Bhaskar NA
>             Fix For: 1.3
> I found that when the minIdle is configured then during loads, common pool creates more
number of connections  it will be greater than maxActive.
> When I had following settings:
> maxActive = 50
> maxIdle = 30
> minIdle=30
> factory=org.apache.commons.dbcp.BasicDataSourceFactory
> maxWait=10000
> timeBetweenEvictionRunsMillis=900000
> numTestsPerEvictionRun=50
> minEvictableIdleTimeMillis=1800000
> testWhileIdle=true
> testOnBorrow = true
> validationQuery='select 1 from dual'
> Number of connections in the pool went upto 121. (found thru netstat)
> When I changed minIdle to 15 and did my load test connecitons in the pool went upto 66
> Looks like maxActive is getting bypassed with minIdle.
> When I changed minIdle to 10 and maxActive to 30 and maxIdle to 30 then number of connections
went upto 40.
> Can someone please throw light on what is going on here? I am using DBCP 1.2.1 and common
pool 1.3.
> Bhaskar

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

View raw message