On 2012-03-23, at 8:43 AM, Daniel Roy wrote:

> Thanks Chuck. I enabled some debugging info and I see the following happening 
> when I connect to the remote test DB server.  When I configure to run 
> locally, the the local DB server introduces no delay.  I have run a test 
> using some basic vanilla JDBC connection code and confirmed that there is no 
> delay updating/selecting, etc on the remote server - the delay only happens 
> when I run our WO app.  The only difference between local DB and remote DB is 
> the remote DB has SSL enabled, but I'm not connecting via SSL.
> 
> What would the repeated "Connection is in use for..." be telling me?  Maybe a 
> locking problem?  It appears to take almost 3 minutes from the time a 
> connection is made until the SQL is evaluated.

Sounds like a timeout is happening, this message is from

       private void reap(long maxCheckoutMillis, long maxConnectionAgeMillis) 
throws SQLException {
            boolean restart = false;
            Connection reapingConnection = getConnection();
            try {
                if(!isFree()) { 
                    // Check the time it's been checked out and recycle
                    long checkoutMillis = System.currentTimeMillis() - 
getLockTime();
                    log.debug("Connection is in use for " + checkoutMillis + " 
ms: " + this);
                    if (maxCheckoutMillis != 0) {

Other than that, I have no idea.  I never use this for JDBC connections and 
rarely use Postgres.


Chuck


> Below is the part of the app startup where the _dbupdater table is being 
> updated for migrations.
> 
> @@@@@@@@@
> 2012-03-23 11:31:05,987 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  - Using JDBCPlugIn 
> 'com.webobjects.jdbcadaptor.PostgresqlPlugIn' for ERXJDBCAdaptor@2026228835
>  2012-03-23 11:31:05,988 DEBUG ProcessTest[-:12345 0] er.extensions.eof.ERXEC 
> (ERXEC.java:266)  - After pushing: [er.extensions.eof.ERXEC@c00a029, 
> er.extensions.eof.ERXEC@c00a029]
>  2012-03-23 11:31:06,248 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:715) 
>  - Recycling connection: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@49cb1278: status = 2: lockTime = 0: 
> creationDate = 0
>  2012-03-23 11:31:06,249 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:280) 
>  - Starting up ConnectionPing
>  2012-03-23 11:31:06,250 INFO  ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:304) 
>  - Started Broker : <er.extensions.jdbc.ERXJDBCConnectionBroker: dbDriver = 
> org.postgresql.Driver, dbServer = 
> jdbc:postgresql://[DB_SERVER_REMOVED]/process_test, dbLogin = process_test, 
> activeConnections = 1, maximumConnections = 5, maxCheckoutMillis = 600000, 
> maxConnectionMillis = 86400000
>  2012-03-23 11:31:06,368 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  -  === Begin Internal Transaction
>  2012-03-23 11:31:06,373 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  - Using JDBCPlugIn 
> 'com.webobjects.jdbcadaptor.PostgresqlPlugIn' for JDBCAdaptor@973357419
>  2012-03-23 11:31:06,374 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  - fetching JDBC Info with 
> JDBCContext@1835201934
>  2012-03-23 11:31:06,377 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  -  connecting with dictionary: {minConnections 
> = "1"; driver = "org.postgresql.Driver"; logPath = 
> "/tmp/ERXJDBCConnectionBroker_@@name@@_@@WOPort@@.log"; maxCheckout = "600"; 
> URL = "jdbc:postgresql://[DB_SERVER_REMOVED]/process_test"; maxConnections = 
> "5"; plugin = "Postgresql"; connectionRecycle = "1.0"; username = 
> "process_test"; password = "<password deleted for log>"; debugLevel = "3"; }
>  2012-03-23 11:31:26,369 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 20001 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:31:46,370 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 40002 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:32:06,371 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 60003 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:32:26,372 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 80004 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:32:27,523 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  - connection disconnected.
>  2012-03-23 11:32:27,526 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  - fetching JDBC Info with 
> ERXJDBCAdaptor$Context@139556394
>  2012-03-23 11:32:30,095 WARN  ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:368) 
>  - Connections Exhausted! Will wait and try again in loop 0
>  2012-03-23 11:32:46,374 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 100006 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:32:46,374 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 16279 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@7f7d2d70: status = 1: lockTime = 
> 1332516750095: creationDate = 0
>  2012-03-23 11:33:06,375 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 120007 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:33:06,375 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 36280 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@7f7d2d70: status = 1: lockTime = 
> 1332516750095: creationDate = 0
>  2012-03-23 11:33:26,376 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 140008 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:33:26,376 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 56281 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@7f7d2d70: status = 1: lockTime = 
> 1332516750095: creationDate = 0
>  2012-03-23 11:33:46,377 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 160009 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@6547bc27: status = 1: lockTime = 
> 1332516666368: creationDate = 1332516666368
>  2012-03-23 11:33:46,377 DEBUG ProcessTest[-:12345 0] 
> er.extensions.jdbc.ERXJDBCConnectionBroker (ERXJDBCConnectionBroker.java:664) 
>  - Connection is in use for 76282 ms: 
> er.extensions.jdbc.ERXJDBCConnectionBroker$ConnectionWrapper: connection = 
> org.postgresql.jdbc3.Jdbc3Connection@7f7d2d70: status = 1: lockTime = 
> 1332516750095: creationDate = 0
>  2012-03-23 11:33:48,440 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  -  evaluateExpression: 
> <com.webobjects.jdbcadaptor.PostgresqlExpression: "UPDATE _dbupdater SET 
> lockowner = ?::varchar(100), updatelock = ?::int4 WHERE (modelname = 
> ?::varchar(100) AND (updatelock = ?::int4 OR lockowner = ?::varchar(100)))" 
> withBindings: 1:"ProcessTest-processtest.droy:12345"(lockOwner), 
> 2:1(updateLock), 3:"ERAttachment"(modelName), 4:0(updateLock), 
> 5:"ProcessTest-processtest.droy:12345"(lockOwner)>
>  2012-03-23 11:33:48,476 DEBUG ProcessTest[-:12345 0] 
> er.extensions.ERXAdaptorChannelDelegate.sqlLogging 
> (ERXEOAccessUtilities.java:1222)  - "_dbupdater"@75479767 expression took 36 
> ms: UPDATE _dbupdater SET lockowner = ?::varchar(100), updatelock = ?::int4 
> WHERE (modelname = ?::varchar(100) AND (updatelock = ?::int4 OR lockowner = 
> ?::varchar(100))) withBindings: 
> 1:ProcessTest-processtest.droy:12345[lockOwner], 2:1[updateLock], 
> 3:ERAttachment[modelName], 4:0[updateLock], 
> 5:ProcessTest-processtest.droy:12345[lockOwner]
>  2012-03-23 11:33:48,477 DEBUG ProcessTest[-:12345 0] NSLog 
> (ERXNSLogLog4jBridge.java:46)  -  === Commit Internal Transaction
> @@@@@@@@@@@
> 
> 
> 
> On 2012-03-22, at 2:55 PM, Chuck Hill wrote:
> 
>> Your JDBC driver might have some logging options.
>> 
>> 
>> On 2012-03-22, at 11:19 AM, Daniel Roy wrote:
>> 
>>> Hi,
>>> 
>>> Can anyone tell me if it's possible to enable some verbose logging 
>>> information of the JDBC connection process while an application is 
>>> starting?  I'm debugging an application locally, but I'm trying to connect 
>>> to an external PostgreSQL server for testing.  The application startup 
>>> process hangs after the ERXJDBCConnectionBroker is started.  I *can* 
>>> connect successfully and without any delay using admin tools like AquaDB 
>>> Studio and pgAdmin.
>>> 
>>> I'd like to know what it's waiting for….or why it can't get a connection 
>>> right away.
>>> 
>>> Thanks
>>> Daniel
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>> Help/Unsubscribe/Update your Subscription:
>>> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>>> 
>>> This email sent to ch...@global-village.net
>> 
>> -- 
>> Chuck Hill             Senior Consultant / VP Development
>> 
>> Practical WebObjects - for developers who want to increase their overall 
>> knowledge of WebObjects or who are trying to solve specific problems.    
>> http://www.global-village.net/gvc/practical_webobjects
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
> 

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/gvc/practical_webobjects








Attachment: smime.p7s
Description: S/MIME cryptographic signature

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to