You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2008/11/24 23:04:23 UTC

svn commit: r720306 - in /tomcat/trunk/modules/jdbc-pool: java/org/apache/tomcat/jdbc/pool/ConnectionPool.java java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java test/org/apache/tomcat/jdbc/test/FairnessTest.java

Author: fhanik
Date: Mon Nov 24 14:04:23 2008
New Revision: 720306

URL: http://svn.apache.org/viewvc?rev=720306&view=rev
Log:
Fix fair blocking queue for now, we will add back the ability to not have a timeout later

Modified:
    tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
    tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java
    tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/FairnessTest.java

Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=720306&r1=720305&r2=720306&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original)
+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Mon Nov 24 14:04:23 2008
@@ -424,8 +424,8 @@
             //we didn't get a connection, lets see if we timed out
             if (con == null) {
                 if ((System.currentTimeMillis() - now) >= maxWait) {
-                    throw new SQLException(
-                        "Pool empty. Unable to fetch a connection in " + (maxWait / 1000) +
+                    throw new SQLException("[" + Thread.currentThread().getName()+"] " +
+                        "Timeout: Pool empty. Unable to fetch a connection in " + (maxWait / 1000) +
                         " seconds, none available["+busy.size()+" in use].");
                 } else {
                     //no timeout, lets try again

Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java?rev=720306&r1=720305&r2=720306&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java (original)
+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/FairBlockingQueue.java Mon Nov 24 14:04:23 2008
@@ -76,7 +76,7 @@
         lock.lock();
         try {
             result = items.poll();
-            if (result==null && timeout>0) {
+            if (result==null) {
                 ExchangeCountDownLatch<E> c = new ExchangeCountDownLatch<E>(1);
                 waiters.addLast(c);
                 lock.unlock();

Modified: tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/FairnessTest.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/FairnessTest.java?rev=720306&r1=720305&r2=720306&view=diff
==============================================================================
--- tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/FairnessTest.java (original)
+++ tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/FairnessTest.java Mon Nov 24 14:04:23 2008
@@ -55,6 +55,7 @@
     }
     
     public void testDBCPThreads20Connections10() throws Exception {
+        System.out.println("Starting fairness - DBCP");
         init();
         this.datasource.getPoolProperties().setMaxActive(10);
         this.threadcount = 20;
@@ -76,10 +77,12 @@
         this.run = false;
         long delta = System.currentTimeMillis() - start;
         printThreadResults(threads,"testDBCPThreads20Connections10");
+        System.out.println("Completed fairness - DBCP");
         tearDown();
     }
 
     public void testPoolThreads20Connections10() throws Exception {
+        System.out.println("Starting fairness - Tomcat JDBC - Non Fair");
         init();
         this.datasource.getPoolProperties().setMaxActive(10);
         this.threadcount = 20;
@@ -101,11 +104,13 @@
         this.run = false;
         long delta = System.currentTimeMillis() - start;
         printThreadResults(threads,"testPoolThreads20Connections10");
+        System.out.println("Completed fairness - Tomcat JDBC - Non Fair");
         tearDown();
 
     }
 
     public void testPoolThreads20Connections10Fair() throws Exception {
+        System.out.println("Starting fairness - Tomcat JDBC - Fair");
         init();
         this.datasource.getPoolProperties().setMaxActive(10);
         this.datasource.getPoolProperties().setFairQueue(true);
@@ -128,6 +133,7 @@
         this.run = false;
         long delta = System.currentTimeMillis() - start;
         printThreadResults(threads,"testPoolThreads20Connections10Fair");
+        System.out.println("Completed fairness - Tomcat JDBC - Fair");
         tearDown();
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org