And another thing, I can't 100% remember because its been a while since I
read it but I think  the JMS spec says that Sessions should not be shared by
multiple threads.  Crazy in my opinion but there you go...


> -----Original Message-----
> From: Jason Dillon [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, May 23, 2002 8:31 AM
> To: [EMAIL PROTECTED]; David Maplesden;
> '[EMAIL PROTECTED]'
> Subject: Re: [JBoss-dev] Seeing occasional Invalid tx id with JMS RA
> 
> 
> > Nothing like a cry for help to get me interested.
> 
> =)
> 
> > So you either need to patch SpySession sendMessage so that it is
> > synchronized or patch the client code (the code calling the 
> JBossMQ stuff)
> > so that it doesn't have threads calling commit on the 
> session at the same
> > time other threads are using the queueSender.send() method. 
>  I must admit
> > any client where the order of these two operations is 
> indeterminate is in
> > dangerous territory as they won't know which transaction 
> their message
> > sends are ending up in, which probably why the bug hasn't 
> shown up before. 
> > I guess the client code in this case is the JMS RA stuff 
> (which I know
> > nothing about) so it might need investigating.
> 
> So, this does indeed get interesting... my client code is 
> calling a SFSB which 
> has a JMS RA, which has the SpySession.
> 
> I do have a timer thread sending back periodic stats with the 
> same SFSB (my 
> bad) which the main thread uses... but shouldn't the SFSB 
> detect this and 
> throw an exception about the concurent usage?
> 
> Shit, my EJB has gotten rusty... only one thread should 
> beable to use a SFSB 
> at a time... or really one thread per bean in general 
> right... I need to read 
> the latest spec again. =(
> 
> I can fix my client to sync, but I am wondering if there is 
> something we can 
> do to make the cause of this problem more obvious for others.
> 
> So, for the spec experts out there, is there something that 
> should be done wrt 
> the SFSB in this case?
> 
> And is there any reason why SpySession.sendMessage() should NOT be 
> synchronized?
> 
> Thanks David.
> 
> --jason
> 
> 
> > David.
> >
> > > -----Original Message-----
> > > From: Jason Dillon [mailto:[EMAIL PROTECTED]]
> > > Sent: Thursday, May 23, 2002 7:37 AM
> > > To: [EMAIL PROTECTED]
> > > Subject: [JBoss-dev] Seeing occasional Invalid tx id with JMS RA
> > >
> > >
> > > I spent the last week upgrading my service to JBoss3, 
> which made the
> > > configuration much easier for me to managed (no more hacks in
> > > jboss.conf for
> > > extra classpaths and such), but I am still seeing an
> > > occasional "Invalid
> > > Invalid transaction id." when using the JMS RA and JBossMQ.
> > >
> > > I changed my model so that my client (invoked inside of a
> > > NotSupported MDB)
> > > uses a SFSB with a referece to java:/JmsXA RA, mostly to 
> get around
> > > serialization issues, but whatever.
> > >
> > > A test sceneraio creates 1000 request messages, each of which
> > > will send back
> > > 1+n responses, where n could vary from 2-? depending on how
> > > long the request
> > > took to process.
> > >
> > > So lets assume that for each request that there are 3
> > > responses, so there are
> > > 5000 messages, 1000 to a request queue and 4000 to a response
> > > queue.  I am
> > > seeing an occasional problem sending responses back where
> > > several responses
> > > in a row will fail with this Invalid transaction id.
> > >
> > > Each request/response(s) cyle is exactly the same... so why
> > > could some have
> > > invalid tx id's and others have valid ones?
> > >
> > > Below is a trace from one of the exceptions, though I doubt
> > > it is of much use.
> > > Any idea what might be causing this?  Is this likely to be a
> > > JMS RA problem
> > > or JBossMQ problem?
> > >
> > > Any insight would be helpful, I really need to track this
> > > problem down.
> > >
> > > --jason
> > >
> > >
> > > <snip>
> > > com.boldfish.does.worker.WorkerException: failed to send
> > > message; - nested
> > > throwable is: javax.jms.JMSException: Invalid transaction id.
> > >  + nested throwable:
> > > javax.jms.JMSException: Invalid transaction id.
> > >         at
> > > org.jboss.mq.SpyXAResourceManager.addMessage(SpyXAResourceMana
> > > ger.java:71)
> > >         at 
> org.jboss.mq.SpySession.sendMessage(SpySession.java:395)
> > >         at
> > > org.jboss.mq.SpyQueueSender.internalSend(SpyQueueSender.java:118)
> > >         at 
> org.jboss.mq.SpyQueueSender.send(SpyQueueSender.java:68)
> > >         at
> > > com.boldfish.ben.system.adapter.jms.ejb.QueueSenderAdapterEJB.
> > > send(QueueSenderAdapterEJB.java:340)
> > >         at
> > > sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
> > >         at
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth
> > > odAccessorImpl.java:25)
> > >         at java.lang.reflect.Method.invoke(Method.java:324)
> > >         at
> > > org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.in
> > > voke(StatefulSessionContainer.java:823)
> > >         at
> > > org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInter
> > > ceptor.java:129)
> > >         at
> > > org.jboss.resource.connectionmanager.CachedConnectionIntercept
> > > or.invoke(CachedConnectionInterceptor.java:147)
> > >         at
> > > org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invok
> > > e(StatefulSessionInstanceInterceptor.java:266)
> > >         at
> > > org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(Abstrac
> > > tTxInterceptor.java:96)
> > >         at
> > > org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxI
> > > nterceptorCMT.java:167)
> > >         at
> > > org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT
> > > .java:61)
> > >         at
> > > 
> org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:166)
> > >         at
> > > org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionC
> > > ontainer.java:380)
> > >         at org.jboss.ejb.Container.invoke(Container.java:705)
> > >         at
> > > 
> org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:491)
> > >         at
> > > 
> org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:98)
> > >         at
> > > org.jboss.invocation.InvokerInterceptor.invoke(InvokerIntercep
> > > tor.java:102)
> > >         at
> > > org.jboss.proxy.TransactionInterceptor.invoke(TransactionInter
> > > ceptor.java:73)
> > >         at
> > > org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor
> > > .java:76)
> > >         at
> > > org.jboss.proxy.ejb.StatefulSessionInterceptor.invoke(Stateful
> > > SessionInterceptor.java:117)
> > >         at
> > > org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
> > >         at $Proxy23.send(Unknown Source)
> > > </snip>
> > >
> > > _______________________________________________________________
> > >
> > > Don't miss the 2002 Sprint PCS Application Developer's Conference
> > > August 25-28 in Las Vegas -- 
http://devcon.sprintpcs.com/adp/index.cfm
> >
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> >
> > ---
> > Incoming mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.362 / Virus Database: 199 - Release Date: 5/7/2002
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.362 / Virus Database: 199 - Release Date: 5/7/2002
>
>
> _______________________________________________________________
>
> Don't miss the 2002 Sprint PCS Application Developer's Conference
> August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
>
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development

---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.362 / Virus Database: 199 - Release Date: 5/7/2002
 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.362 / Virus Database: 199 - Release Date: 5/7/2002
 

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to