hi scott, we are suing mysql-connector 3.0.8. but i've created a test scenario where this error occurs with cloudscape and mysql the same way.
the implmentation of the sequence pattern comes from the book 'EJB Design Patterns' from floyd marinescu. the tx timeout only occurs when the SequenceService have to create a new Sequence entity. that means each time when we introduce a new sequence to the app the server hangs up. i think the reason for this is: the creation of a new sequence entity has to be committed before the subsequent call of sequence.getValueAfterIncrementingBy() on the newly created entity can be excuted. using a transactional setting of requiresNew for the create method of sequence solves the problem. sven -----Urspr�ngliche Nachricht----- Von: Scott M Stark [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 23. Juli 2003 03:00 An: [EMAIL PROTECTED] Betreff: Re: AW: [JBoss-user] problems with mysql and transactions Remove the INFO threshold on the server.log to see if there is any additional information about the cause of the tx timeout. What jdbc driver version is being used here? If you have an example that reproduces this create a bug report on sourceforge with it as an attachment. -- xxxxxxxxxxxxxxxxxxxxxxxx Scott Stark Chief Technology Officer JBoss Group, LLC xxxxxxxxxxxxxxxxxxxxxxxx Scheil, Sven wrote: > for more details on my problem i took a look at the call stack that leads to > the hang up: > > a = stateless session bean > message = cmp entity bean > > client -> a.init() "required" -> a.initMessage() "required" -> > message.create() "required" -> sequenceService.getNextSequenceNumber() > "required" -> sequence.getValueAfterIncrementingBy "RequiresNew" > > before a.initMessage() is called there are several other calls from a.init() > that create new entity beans. that means the transaction stretches about > several hundred insert statements. > > > > -----Urspr�ngliche Nachricht----- > Von: Scheil, Sven > Gesendet: Dienstag, 22. Juli 2003 12:29 > An: '[EMAIL PROTECTED]' > Betreff: [JBoss-user] problems with mysql and transactions > > > hi, > > i'm evaluating a change from cloudscape to mysql for cmp. > > we are using jboss3.0.6, mysql4.0.13 on w2k. all transactions of our app are > container manged. > > there is a problem with an entity bean using the transaction setting > 'requires new'. the application hangs up for several minutes and comes back > with a transaction timeout. when i'm changing the transaction setting to > 'requires' the problem disappears. > > ------ > > 2003-07-22 12:11:17,587 WARN [org.jboss.tm.TxCapsule] (Thread-19:) > Transaction XidImpl [FormatId=257, GlobalId=sscheil//189, BranchQual=] timed > out. status=STATUS_ACTIVE > 2003-07-22 12:11:23,826 WARN [org.jboss.tm.TxCapsule] (Thread-20:) > Transaction XidImpl [FormatId=257, GlobalId=sscheil//190, BranchQual=] timed > out. status=STATUS_ACTIVE > 2003-07-22 12:11:23,826 WARN [org.jboss.ejb.BeanLock] (RMI TCP > Connection(9)-172.20.9.91:Sequence) wait() interrupted in txLock, possibly a > timeout > 2003-07-22 12:11:23,826 ERROR [org.jboss.ejb.BeanLock] (RMI TCP > Connection(9)-172.20.9.91:Sequence) Thread[RMI TCP > Connection(9)-172.20.9.91,5,RMI Runtime]Saw rolled back > tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=sscheil//190, > BranchQual=] waiting for txLock > 2003-07-22 12:11:23,826 WARN [org.jboss.tm.TxCapsule] (RMI TCP > Connection(9)-172.20.9.91:Sequence) Lock contention, tx=XidImpl > [FormatId=257, GlobalId=sscheil//190, BranchQual=] > 2003-07-22 12:11:23,826 ERROR [org.jboss.ejb.plugins.LogInterceptor] (RMI > TCP Connection(9)-172.20.9.91:Sequence) RuntimeException: > java.lang.RuntimeException: Transaction marked for rollback, possibly a > timeout > at > org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.waitForTx(QueuedPessimis > ticEJBLock.java:339) > at > org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.doSchedule(QueuedPessimi > sticEJBLock.java:211) > at > org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.schedule(QueuedPessimist > icEJBLock.java:159) > > ---- snip ----- > > all tables in mysql have the type InnoDB. > > the entity bean is called sequence and is part of the unique key generation > pattern. the entity bean is called thru a stateless session bean called > sequenceService. The 'requiresNew' setting can not be changed for running > the app on production environment. > > are there some hints on this or more general hints on jboss and mysql and > container managed transactions? > > thanx sven > ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
