Hi Heikki,
I am facing tx timeout problem when committing certain tx in XA mode
using pure postgre jdbc type 4 driver. The tx is issued/started from
within backend deployed on AS BEA Weblogic 10 MP1.
Ive tried the postgresql-jdbc-8.3-603 jdbc driver, the one bundled with
weblogic and also edb jdbc driver.
In all cases, i see this in db server log:
--
2009-01-13 13:37:50 LOG: duration: 0.000 ms parse <unnamed>:
PREPARE TRANSACTION '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:37:50 LOG: duration: 0.000 ms bind <unnamed>:
PREPARE TRANSACTION '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:37:50 LOG: duration: 0.000 ms execute <unnamed>:
PREPARE TRANSACTION '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:37:51 LOG: duration: 0.000 ms parse <unnamed>:
COMMIT PREPARED '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:37:51 LOG: duration: 0.000 ms bind <unnamed>: COMMIT
PREPARED '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:37:51 ERROR: prepared transaction with identifier
"48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU=" does not exist
2009-01-13 13:37:51 STATEMENT: COMMIT PREPARED
'48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:38:51 LOG: duration: 0.000 ms parse <unnamed>:
COMMIT PREPARED '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:38:51 LOG: duration: 0.000 ms bind <unnamed>: COMMIT
PREPARED '48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
2009-01-13 13:38:51 ERROR: prepared transaction with identifier
"48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU=" *does not exist*
2009-01-13 13:38:51 STATEMENT: COMMIT PREPARED
'48801_AQeOE4t3Z6MjBA==_Q3ZoYXZyYW5la2pkYmNEU0xpdmU='
--
and this in weblogic log:
--
SEVERE: BEA1-009A7111759D67A32304; nested exception is:
javax.transaction.SystemException: Timeout during commit processing
java.rmi.RemoteException: BEA1-009A7111759D67A32304; nested
exception is:
javax.transaction.SystemException: Timeout during commit processing
at
weblogic.ejb.container.internal.EJBRuntimeUtils.throwRemoteException(EJBRuntimeUtils.java:101)
at
weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:645)
at
weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:57)
at
weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:427)
--
i.e. weblogic is waiting for the commit and then time-outs.
I've also tried the simple XA example as described in
http://archives.postgresql.org/pgsql-jdbc/2007-06/msg00050.php and it
works lie a charm, the problems are only when weblogic backend is used.
Could this be some XA related postgre jdbc issue?
Regards,
Vlastimil Havranek
--
-------------------------------------------------------------
Vlastimil Havránek
Software Developer
xitee k.s. || www.xitee.com || vlastimil.havranek@xitee.com
Phone: office +420 234262342, mobile +420 775366990
-------------------------------------------------------------