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

Reply via email to