You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2010/01/13 09:32:32 UTC
svn commit: r898681 -
/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
Author: sebb
Date: Wed Jan 13 08:32:32 2010
New Revision: 898681
URL: http://svn.apache.org/viewvc?rev=898681&view=rev
Log:
A bit more debug
Modified:
commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
Modified: commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java?rev=898681&r1=898680&r2=898681&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java (original)
+++ commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/TestConnectionPool.java Wed Jan 13 08:32:32 2010
@@ -683,6 +683,12 @@
}
}
+ private static final boolean DISPLAY_THREAD_DETAILS=
+ Boolean.valueOf(System.getProperty("TestConnectionPool.display.thread.details", "false")).booleanValue();
+ // To pass this to a Maven test, use:
+ // mvn test -DargLine="-DTestConnectionPool.display.thread.details=true"
+ // @see http://jira.codehaus.org/browse/SUREFIRE-121
+
/**
* Launches a group of 2 * getMaxActive() threads, each of which will attempt to obtain a connection
* from the pool, hold it for <holdTime> ms, and then return it to the pool. If <loopOnce> is false,
@@ -762,15 +768,18 @@
+ ". expectError: " + expectError
);
if (expectError) {
-// DBCP-318 is now fixed, so disable extra debug
- if (pts.length/2 != failed){
+ if (DISPLAY_THREAD_DETAILS || (pts.length/2 != failed)){
+ long offset = pts[0].created; // To reduce size of output numbers
+ System.out.println("Offset: "+offset);
for (int i = 0; i < pts.length; i++) {
PoolTest pt = pts[i];
System.out.println(
- "StartupDelay: " + (pt.started-pt.created)
- + ". ConnectStart: " + pt.preconnected
- + ". ConnectTime: " + (pt.connected > 0 ? Long.toString(pt.connected-pt.preconnected) : "-")
+ "Pre: " + (pt.preconnected-offset) // First, so can sort on this easily
+ + ". Post: " + (pt.postconnected-offset)
+ + ". Startup: " + (pt.started-pt.created)
+ + ". getConn(): " + (pt.connected > 0 ? Long.toString(pt.connected-pt.preconnected) : "-")
+ ". Runtime: " + (pt.ended-pt.started)
+ + ". IDX: " + i
+ ". Loops: " + pt.loops
+ ". State: " + pt.state
+ ". thrown: "+ pt.thrown
@@ -813,6 +822,7 @@
private long ended; // when thread ended
private long preconnected; // just before connect
private long connected; // when thread last connected
+ private long postconnected; // when thread released connection
private int loops = 0;
private final boolean stopOnException; // If true, don't rethrow Exception
@@ -864,6 +874,7 @@
stmt.close();
state = "Closing Connection";
conn.close();
+ postconnected = timeStamp();
state = "Closed";
if (loopOnce){
break; // Or could set isRun=false