3 Replies Latest reply: Jan 16, 2008 8:14 AM by dreu zel RSS

Transaction TimeOut and Stateful Session Bean

Rodrigo Souto Newbie

Hello All,

********
This is not a doubt, it's just a report of a problem that I had and solve it after hours!
This is just in case someone pass thru the same error!
********


I have a SFSB on my project that inserts records to my database from a uploaded file.

My session timeout is huge. When I use a file with many records to import (more than 5 minutes making database operations) I get this error:


22:15:56,250 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id -3f57fe87:dd1e:478d4a9e:49 invoked while multiple threads active within it.
22:15:56,251 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action -3f57fe87:dd1e:478d4a9e:49 aborting with 1 threads active!
22:15:56,282 ERROR [AssertionFailure] an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: bug adding collection twice
 at org.hibernate.engine.StatefulPersistenceContext.addCollection(StatefulPersistenceContext.java:720)
 at org.hibernate.engine.StatefulPersistenceContext.addInitializedDetachedCollection(StatefulPersistenceContext.java:753)
 at org.hibernate.event.def.ProxyVisitor.reattachCollection(ProxyVisitor.java:65)
 at org.hibernate.event.def.WrapVisitor.processCollection(WrapVisitor.java:45)
 at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:101)
 at org.hibernate.event.def.WrapVisitor.processValue(WrapVisitor.java:98)
 at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:55)
 at org.hibernate.event.def.DefaultFlushEntityEventListener.wrapCollections(DefaultFlushEntityEventListener.java:192)
 at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:125)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
 at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
 at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)
 at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
 at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
 at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)




I changed the transaction timeout at jboss config and everything worked good:
(/server/default/config/jboss-service.xml)



 <!-- The default was 300 seconds -->
 <attribute name="TransactionTimeout">1000</attribute>




Thanks.