DBCP and removeAbandoned

2004-02-10 Thread Eric Prévost
Hi,
 
I'm using Tomcat 5.0.18 on Linux.  My database server is Microsoft SQL Server 2000. 
I'm using Microsoft's JDBC driver. This is my data source definition in server.xml:
 
Resource name=jdbc/intranet type=javax.sql.DataSource/
ResourceParams name=jdbc/intranet
  parameter
namevalidationQuery/name
valueselect getdate()/value
  /parameter
  parameter
namemaxWait/name
value5000/value
  /parameter
  parameter
namemaxActive/name
value50/value
  /parameter
  parameter
namepassword/name
valuemyPassword/value
  /parameter
  parameter
nameurl/name
valuejdbc:microsoft:sqlserver://myserver;DatabaseName=intranet/value
  /parameter
  parameter
namedriverClassName/name
valuecom.microsoft.jdbc.sqlserver.SQLServerDriver/value
  /parameter
  parameter
namemaxIdle/name
value30/value
  /parameter
  parameter
nameusername/name
valueMyUsername/value
  /parameter
  parameter
nameremoveAbandoned/name
valuetrue/value
  /parameter
  parameter
nameremoveAbandonedTimeout/name
value60/value
  /parameter
  parameter
namefactory/name
valueorg.apache.commons.dbcp.BasicDataSourceFactory/value
  /parameter
/ResourceParams

 
When I stress-test my application with JMeter, I can see over 80 connections on my 
database server, and they are not released until I stop tomcat...  Is removeAbandoned 
parameter not supposed to take care of these connections???
 
Thank you
 
Eric Prévost



-
Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.


Re: DBCP and removeAbandoned

2004-02-10 Thread SMaric
Hi

If I've understood things correctly
removeAbandoned should enable recovery of  'lost' connections - ie your
webApp dies without cleanly releaseing the Connection object, so having
removeAbandoned on tells the container to keep an eye on things

You've also got the timeout set to 60 (secs ??) - did you wait this long
when you were checking

Obviously when you stop Tomcat, the whole JRE gets shutdown so what you've
seen there is correct


Eric Prévost [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 Hi,

 I'm using Tomcat 5.0.18 on Linux.  My database server is Microsoft SQL
Server 2000. I'm using Microsoft's JDBC driver. This is my data source
definition in server.xml:

 Resource name=jdbc/intranet type=javax.sql.DataSource/
 ResourceParams name=jdbc/intranet
   parameter
 namevalidationQuery/name
 valueselect getdate()/value
   /parameter
   parameter
 namemaxWait/name
 value5000/value
   /parameter
   parameter
 namemaxActive/name
 value50/value
   /parameter
   parameter
 namepassword/name
 valuemyPassword/value
   /parameter
   parameter
 nameurl/name

valuejdbc:microsoft:sqlserver://myserver;DatabaseName=intranet/value
   /parameter
   parameter
 namedriverClassName/name
 valuecom.microsoft.jdbc.sqlserver.SQLServerDriver/value
   /parameter
   parameter
 namemaxIdle/name
 value30/value
   /parameter
   parameter
 nameusername/name
 valueMyUsername/value
   /parameter
   parameter
 nameremoveAbandoned/name
 valuetrue/value
   /parameter
   parameter
 nameremoveAbandonedTimeout/name
 value60/value
   /parameter
   parameter
 namefactory/name
 valueorg.apache.commons.dbcp.BasicDataSourceFactory/value
   /parameter
 /ResourceParams


 When I stress-test my application with JMeter, I can see over 80
connections on my database server, and they are not released until I stop
tomcat...  Is removeAbandoned parameter not supposed to take care of these
connections???

 Thank you

 Eric Prévost



 -
 Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: DBCP and removeAbandoned

2004-02-10 Thread Eric Prévost
I did my tests yesterday, and the connections was still alive this morning...  I also 
tested 5 seconds before.

SMaric [EMAIL PROTECTED] wrote:Hi

If I've understood things correctly
removeAbandoned should enable recovery of 'lost' connections - ie your
webApp dies without cleanly releaseing the Connection object, so having
removeAbandoned on tells the container to keep an eye on things

You've also got the timeout set to 60 (secs ??) - did you wait this long
when you were checking

Obviously when you stop Tomcat, the whole JRE gets shutdown so what you've
seen there is correct


Eric Prévost wrote in message
news:[EMAIL PROTECTED]
 Hi,

 I'm using Tomcat 5.0.18 on Linux. My database server is Microsoft SQL
Server 2000. I'm using Microsoft's JDBC driver. This is my data source
definition in server.xml:

 
 
 

 validationQuery
 select getdate()
 

 

 maxWait
 5000
 

 

 maxActive
 50
 

 

 password
 myPassword
 

 

 url

jdbc:microsoft:sqlserver://myserver;DatabaseName=intranet
 

 

 driverClassName
 com.microsoft.jdbc.sqlserver.SQLServerDriver
 

 

 maxIdle
 30
 

 

 username
 MyUsername
 

 

 removeAbandoned
 true
 

 

 removeAbandonedTimeout
 60
 

 

 factory
 org.apache.commons.dbcp.BasicDataSourceFactory
 

 


 When I stress-test my application with JMeter, I can see over 80
connections on my database server, and they are not released until I stop
tomcat... Is removeAbandoned parameter not supposed to take care of these
connections???

 Thank you

 Eric Prévost



 -
 Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.


Re: DBCP and removeAbandoned

2004-02-10 Thread Philipp Taprogge
Hi!

Eric Prévost wrote:
I'm using Tomcat 5.0.18 on Linux.  My database server is Microsoft SQL Server 2000. 
I'm using Microsoft's JDBC driver.
When I stress-test my application with JMeter, I can see over 80 connections on my 
database server, and they are not
released until I stop tomcat...  Is removeAbandoned parameter not supposed to take 
care of these connections???
I am not entirely sure here, so please correct me, if I'm wrong, but...

you are using dbcp, right? So, isn't the pool _supposed_ to reuse open 
connections instead of closing them and reopening anew for each request?
I think what you should do is choose a reasonable max number of 
connections and then stress-test while look for a dbcp exception 
indicating that no new connection could be acquired. If you get one, 
either removeabandoned is not working properly, of (more likely) your 
application keeps a hold on connections that therefor are not 
concidered abandoned. If you don't get an exception, you can be quite 
sure you will never see more connections than you specified.

HTH

		Phil

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: DBCP and removeAbandoned

2004-02-10 Thread SMaric
When you say 'the connections was still alive this morning'
How are you testing for connections being abandoned

Also your
maxActive =  50//doesn't this mean you shouldn't get more tahn
50 connections from the pool

if this is true ( working) then HOW do you know that the 80 connections are
from this Pool ???

Are you are the only point of connection to the DB


Eric Prévost [EMAIL PROTECTED] wrote in message
news:[EMAIL PROTECTED]
 I did my tests yesterday, and the connections was still alive this
morning...  I also tested 5 seconds before.

 SMaric [EMAIL PROTECTED] wrote:Hi

 If I've understood things correctly
 removeAbandoned should enable recovery of 'lost' connections - ie your
 webApp dies without cleanly releaseing the Connection object, so having
 removeAbandoned on tells the container to keep an eye on things

 You've also got the timeout set to 60 (secs ??) - did you wait this long
 when you were checking

 Obviously when you stop Tomcat, the whole JRE gets shutdown so what you've
 seen there is correct


 Eric Prévost wrote in message
 news:[EMAIL PROTECTED]
  Hi,
 
  I'm using Tomcat 5.0.18 on Linux. My database server is Microsoft SQL
 Server 2000. I'm using Microsoft's JDBC driver. This is my data source
 definition in server.xml:
 
 
 
 

  validationQuery
  select getdate()
 

 

  maxWait
  5000
 

 

  maxActive
  50
 

 

  password
  myPassword
 

 

  url
 
 jdbc:microsoft:sqlserver://myserver;DatabaseName=intranet
 

 

  driverClassName
  com.microsoft.jdbc.sqlserver.SQLServerDriver
 

 

  maxIdle
  30
 

 

  username
  MyUsername
 

 

  removeAbandoned
  true
 

 

  removeAbandonedTimeout
  60
 

 

  factory
  org.apache.commons.dbcp.BasicDataSourceFactory
 

 
 
 
  When I stress-test my application with JMeter, I can see over 80
 connections on my database server, and they are not released until I stop
 tomcat... Is removeAbandoned parameter not supposed to take care of these
 connections???
 
  Thank you
 
  Eric Prévost
 
 
 
  -
  Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.
 




 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




 -
 Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: DBCP and removeAbandoned

2004-02-10 Thread Eric Prévost
There is only one application on this tomcat server... It's easy to identify these 
connections on SQL server.  Also, there is no explicit database connection in the 
application code: it all pass through JNDI.
 
I also tried to increase my maxActive setting to 100.  It didn't change anything.
 
I set logAbandoned to true. I never see anything related to dbcp in my logs except 
this, in calatina.out:
AbandonedObjectPool is used ([EMAIL PROTECTED])
   LogAbandoned: true
   RemoveAbandoned: true
   RemoveAbandonedTimeout: 10
 
What can it be?  Maybe someone stored a resultset in session?

SMaric [EMAIL PROTECTED] wrote:
When you say 'the connections was still alive this morning'
How are you testing for connections being abandoned

Also your
maxActive = 50 // doesn't this mean you shouldn't get more tahn
50 connections from the pool

if this is true ( working) then HOW do you know that the 80 connections are
from this Pool ???

Are you are the only point of connection to the DB


Eric Prévost wrote in message
news:[EMAIL PROTECTED]
 I did my tests yesterday, and the connections was still alive this
morning... I also tested 5 seconds before.

 SMaric wrote:Hi

 If I've understood things correctly
 removeAbandoned should enable recovery of 'lost' connections - ie your
 webApp dies without cleanly releaseing the Connection object, so having
 removeAbandoned on tells the container to keep an eye on things

 You've also got the timeout set to 60 (secs ??) - did you wait this long
 when you were checking

 Obviously when you stop Tomcat, the whole JRE gets shutdown so what you've
 seen there is correct


 Eric Prévost wrote in message
 news:[EMAIL PROTECTED]
  Hi,
 
  I'm using Tomcat 5.0.18 on Linux. My database server is Microsoft SQL
 Server 2000. I'm using Microsoft's JDBC driver. This is my data source
 definition in server.xml:
 
 
 
 

  validationQuery
  select getdate()
 

 

  maxWait
  5000
 

 

  maxActive
  50
 

 

  password
  myPassword
 

 

  url
 
 jdbc:microsoft:sqlserver://myserver;DatabaseName=intranet
 

 

  driverClassName
  com.microsoft.jdbc.sqlserver.SQLServerDriver
 

 

  maxIdle
  30
 

 

  username
  MyUsername
 

 

  removeAbandoned
  true
 

 

  removeAbandonedTimeout
  60
 

 

  factory
  org.apache.commons.dbcp.BasicDataSourceFactory
 

 
 
 
  When I stress-test my application with JMeter, I can see over 80
 connections on my database server, and they are not released until I stop
 tomcat... Is removeAbandoned parameter not supposed to take care of these
 connections???
 
  Thank you
 
  Eric Prévost
 
 
 
  -
  Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.
 




 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




 -
 Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-
Lèche-vitrine ou lèche-écran ? Yahoo! Magasinage.