Re: MySQL DBCP pool exausted error message [SOLVED]
Guess you won't be needing my reply then, but looking at your code, it seems that your finally block could be improved slightly :) In the rare situation where statement.close() throws an exception, your connection won't be closed. Adam On 09/17/2003 10:20 PM Nathan Christiansen wrote: Sorry. I had a bug in my code. I had one database call where I was checking parameters and returning without calling Connection.close(); -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com -Original Message- From: Nathan Christiansen Sent: Wednesday, September 17, 2003 11:20 AM To: [EMAIL PROTECTED] Subject: MySQL DBCP pool exausted error message When I stress test my web app using JMeter, I am suddenly getting a "DBCP could not obtain an idle db connection, pool exhausted" SQLException thrown. When I test with 25 simulated users every one of my 25 threads gets the exception after the first 25 requests. What am I doing wrong? My setup: RH Linux 7.1 Java 1.4.1_01 Tomcat 4.1.24 DBCP 1.0 MySQL 3.23.56 My pertinent DBCP configuration: removeAbandoned = true maxActive = 25 maxIdle = 10 maxWait = 1 url ends with ?autoReconnect=true I double checked that all of my database connections in my code follow the pattern of: Connection conDBConnection = getConnection(); PreparedStatement psDBStatement = null; ResultSet rsDBResult = null; try { psDBStatement = conDBConnection.prepareStatement("select query from views where viewid = ?"); psDBStatement.setInt(1, nViewID); rsDBResult = psDBStatement.executeQuery(); if (rsDBResult.next()) { strReturnValue = rsDBResult.getString(1); } } catch (SQLException sqle) { sqle.printStackTrace(); strReturnValue = null; } finally { try { if (rsDBResult != null) rsDBResult.close(); if (psDBStatement != null) psDBStatement.close(); if (conDBConnection != null) conDBConnection.close(); } catch (SQLException sqle) { sqle.printStackTrace(); } } -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- struts 1.1 + tomcat 4.1.27 + java 1.4.2 Linux 2.4.20 RH9 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MySQL DBCP pool exausted error message
Hi Nathan, could you rephrase what the problem is? It's a bit ambiguous. Do you mean that each thread can only do one DB operation and then it gets the exception on its next DB operation, or on its next http request? Have you checked in bugzilla? I think there are some unresolved issues with DBCP. (I keep meaning to do that myself.) Not sure what issues though. Also, are you sure that is the only exception you are getting? Could it be that your error handling is not closing the connections when an exception originally appears? Adam On 09/17/2003 07:20 PM Nathan Christiansen wrote: When I stress test my web app using JMeter, I am suddenly getting a "DBCP could not obtain an idle db connection, pool exhausted" SQLException thrown. When I test with 25 simulated users every one of my 25 threads gets the exception after the first 25 requests. What am I doing wrong? My setup: RH Linux 7.1 Java 1.4.1_01 Tomcat 4.1.24 DBCP 1.0 MySQL 3.23.56 My pertinent DBCP configuration: removeAbandoned = true maxActive = 25 maxIdle = 10 maxWait = 1 url ends with ?autoReconnect=true I double checked that all of my database connections in my code follow the pattern of: Connection conDBConnection = getConnection(); PreparedStatement psDBStatement = null; ResultSet rsDBResult = null; try { psDBStatement = conDBConnection.prepareStatement("select query from views where viewid = ?"); psDBStatement.setInt(1, nViewID); rsDBResult = psDBStatement.executeQuery(); if (rsDBResult.next()) { strReturnValue = rsDBResult.getString(1); } } catch (SQLException sqle) { sqle.printStackTrace(); strReturnValue = null; } finally { try { if (rsDBResult != null) rsDBResult.close(); if (psDBStatement != null) psDBStatement.close(); if (conDBConnection != null) conDBConnection.close(); } catch (SQLException sqle) { sqle.printStackTrace(); } } -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- struts 1.1 + tomcat 4.1.27 + java 1.4.2 Linux 2.4.20 RH9 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: MySQL DBCP pool exausted error message [SOLVED]
Sorry. I had a bug in my code. I had one database call where I was checking parameters and returning without calling Connection.close(); -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com -Original Message- From: Nathan Christiansen Sent: Wednesday, September 17, 2003 11:20 AM To: [EMAIL PROTECTED] Subject: MySQL DBCP pool exausted error message When I stress test my web app using JMeter, I am suddenly getting a "DBCP could not obtain an idle db connection, pool exhausted" SQLException thrown. When I test with 25 simulated users every one of my 25 threads gets the exception after the first 25 requests. What am I doing wrong? My setup: RH Linux 7.1 Java 1.4.1_01 Tomcat 4.1.24 DBCP 1.0 MySQL 3.23.56 My pertinent DBCP configuration: removeAbandoned = true maxActive = 25 maxIdle = 10 maxWait = 1 url ends with ?autoReconnect=true I double checked that all of my database connections in my code follow the pattern of: Connection conDBConnection = getConnection(); PreparedStatement psDBStatement = null; ResultSet rsDBResult = null; try { psDBStatement = conDBConnection.prepareStatement("select query from views where viewid = ?"); psDBStatement.setInt(1, nViewID); rsDBResult = psDBStatement.executeQuery(); if (rsDBResult.next()) { strReturnValue = rsDBResult.getString(1); } } catch (SQLException sqle) { sqle.printStackTrace(); strReturnValue = null; } finally { try { if (rsDBResult != null) rsDBResult.close(); if (psDBStatement != null) psDBStatement.close(); if (conDBConnection != null) conDBConnection.close(); } catch (SQLException sqle) { sqle.printStackTrace(); } } -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
MySQL DBCP pool exausted error message
When I stress test my web app using JMeter, I am suddenly getting a "DBCP could not obtain an idle db connection, pool exhausted" SQLException thrown. When I test with 25 simulated users every one of my 25 threads gets the exception after the first 25 requests. What am I doing wrong? My setup: RH Linux 7.1 Java 1.4.1_01 Tomcat 4.1.24 DBCP 1.0 MySQL 3.23.56 My pertinent DBCP configuration: removeAbandoned = true maxActive = 25 maxIdle = 10 maxWait = 1 url ends with ?autoReconnect=true I double checked that all of my database connections in my code follow the pattern of: Connection conDBConnection = getConnection(); PreparedStatement psDBStatement = null; ResultSet rsDBResult = null; try { psDBStatement = conDBConnection.prepareStatement("select query from views where viewid = ?"); psDBStatement.setInt(1, nViewID); rsDBResult = psDBStatement.executeQuery(); if (rsDBResult.next()) { strReturnValue = rsDBResult.getString(1); } } catch (SQLException sqle) { sqle.printStackTrace(); strReturnValue = null; } finally { try { if (rsDBResult != null) rsDBResult.close(); if (psDBStatement != null) psDBStatement.close(); if (conDBConnection != null) conDBConnection.close(); } catch (SQLException sqle) { sqle.printStackTrace(); } } -- Nathan Christiansen Tahitian Noni International http://www.tahitiannoni.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]