WLS 6.1 The transaction is no longer active...

Hello guys,

I have a litle problem. We have an application deployed on WLS 5.1. It is working perfect for more than an year now. We recently migrated to WLS 6.1, which went pretty painlessly. The only problem I figured out is a transaction timeout on one of our EJBs. It's a stateless one and does access a database. The database response time seems to exceed 30 secs and the container just rolls the transaction back and raises an exception:

The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 seconds

Name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread:'9'for queue:'default',5,Thread Groupfor Queue:'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.

com.deuba.pricemodel.sessionbean.FXRateManagerEJB_9hbfr9_Impl populate rolled back. Reason: The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 seconds

Name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread:'9'for queue:'default',5,Thread Groupfor Queue:'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.

java.sql.SQLException: The transaction is no longer active (status = Marked rollback. [Reason=weblogic.transaction.internal.TimedOutException: Transaction timed out after 31 secondsName=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()],Xid=46:1c5c7ecedef996e9(6195252),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=31,seconds left=30,activeThread=Thread[ExecuteThread:'9'for queue:'default',5,Thread Groupfor Queue:'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[npm2000+npm2000_1]=(state=active),properties=({weblogic.transaction.name=[EJB com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate()], weblogic.jdbc=t3://10.72.70.17:7201}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+, Resources={})],CoordinatorURL=npm2000_1+10.72.70.17:7201+npm2000+)]). No further JDBC access is allowed within this transaction.

at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:508)

at weblogic.jdbc.jts.Statement.getResultSet(Statement.java:408)

at weblogic.jdbc.rmi.internal.StatementImpl.getResultSet(StatementImpl.java:215)

at weblogic.jdbc.rmi.SerialStatement.getResultSet(SerialStatement.java:322)

at com.deuba.pricemodel.pool.FXRatePool.populate(Unknown Source)

at com.deuba.pricemodel.sessionbean.FXRateManagerEJB.populate(Unknown Source)

at com.deuba.pricemodel.sessionbean.FXRateManagerEJB_9hbfr9_EOImpl.populate(FXRateManagerEJB_9hbfr9_EOImpl.java:121)

at jsp_servlet._system._qa.__fx_rate._jspService(__fx_rate.java:290)

at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)

at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)

at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)

at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2495)

at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2204)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

One problem could be, that the EJBs are compiled with the WLS 5.1 ejbc and also the deployment descriptors are 5.1 compliant. Does anyone have any clue?

Tx in advance,

Anton Maleev

Software Engineer

Frankfurt

javamal2000@yahoo.com

[5647 byte] By [maleev] at [2007-9-19]
# 1

Take a look at this link:

http://e-docs.bea.com/wls/docs61////javadocs/weblogic/management/configuration/JTAMBean.html#getTimeoutSeconds()

You'll notice the default transaction timeout in WLS 6.1 is 30 seconds. For container managed you

can set this timeout in the trans-timeout-seconds attribute of the weblogic-ejb-xml.jar file.

swatdba at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 2
That's what I wanted to know. TX. Dollaz on the way...P.S. swatdba? Sounds bulgarian...
maleev at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 3
> That's what I wanted to know. TX. Dollaz on the> way...> > P.S. swatdba? Sounds bulgarian...or jugoslawia? ;)))
maleev at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 4

Thanks - swatdba was just some user name they had for the DBA at a job I worked

a long time ago. I just signed up with it here because I couldn't think of anything

else at the time. In USA police forces, SWAT means Special Weapons and Tactics

force or something like that.

swatdba at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 5
Finally understood it: SWAT DBA ;)))swadba means wedding in bulgarian, so I thought you're a fellow countryman ;))) Anyway, thanx for your clue.
maleev at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 6
Kolko malyk e sweta a? ;-)//For the people interested - it means how small the world is
TJMan at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...
# 7
Sure, no problem.
swatdba at 2007-7-5 > top of java,Enterprise & Remote Computing,Enterprise Technologies...