Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 9565 invoked from network); 11 Apr 2007 01:19:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Apr 2007 01:19:56 -0000 Received: (qmail 60179 invoked by uid 500); 11 Apr 2007 01:20:02 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 60157 invoked by uid 500); 11 Apr 2007 01:20:02 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 60144 invoked by uid 99); 11 Apr 2007 01:20:02 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Apr 2007 18:20:02 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Apr 2007 18:19:54 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id A0556714071 for ; Tue, 10 Apr 2007 18:19:34 -0700 (PDT) Message-ID: <17881171.1176254374653.JavaMail.jira@brutus> Date: Tue, 10 Apr 2007 18:19:34 -0700 (PDT) From: "John Stalker (JIRA)" To: dev@activemq.apache.org Subject: [jira] Commented: (AMQ-1200) XA fails to start when JCA rar re-establishes connectivity with an external broker (tcp transport). In-Reply-To: <18031591.1173461914468.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQ-1200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38985 ] John Stalker commented on AMQ-1200: ----------------------------------- After poking around the activemq-ra code base a bit and looking through the log files detailing the failure of XA to come back after ActiveMQEndpointWorker.java calls into reconnect(JMSException error), I have a question that someone can hopefully shed some light on or some thoughts anyway. >From what I can see, the ServerSessionImpl which was active when the problem happened (XA rollback, or connection failure with the broker, or whatever else) removes itself from the ServerSessionPoolImpl (via removeFromPool) and the EndpointWorker will reconnect. Shouldn't ALL the ServerSessionImpl objects cached in the pool be invalidated and removed so that new ServerSessions come into play with the new connections? Is there some Tom-foolery with the reconnect that binds the new connection(s) into the XA some place? Thanks for any input... John > XA fails to start when JCA rar re-establishes connectivity with an external broker (tcp transport). > --------------------------------------------------------------------------------------------------- > > Key: AMQ-1200 > URL: https://issues.apache.org/activemq/browse/AMQ-1200 > Project: ActiveMQ > Issue Type: Bug > Components: Broker, Connector > Affects Versions: 4.1.0 > Environment: Linux 2.6.8-24.24-smp > java version "1.5.0_09" > Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03) > Java HotSpot(TM) Server VM (build 1.5.0_09-b03, mixed mode) > fresh checkout of activemq-4.1 and build (as of 05-March-07). > Reporter: John Stalker > Priority: Minor > > Hi, > Here's the scenario: > I recently (ie, a couple days ago) downloaded and built the 4.1 branch, set up JBoss 4.0.5.GA with a slightly modified activemq-ra.rar (ra.xml modified to communicate with an external instance of the broker via tcp and setting UseInboundSession to true...not sure what this does really, but I tried it as false and the same behavior happens). > Via a persistent queue (oracle 10 backing), I'm consuming messages in an MDB via the JCA message datasource using XA. > Here's the problem I'm seeing: if I shut down the JMS server, I see the appropriate EOF exception and subsequent reconnection attempts by the rar in JBoss. When I startup the external activemq broker again, the connection appears to get reestablished and work is accepted, started, and completed...EXCEPT there's no mention of XA and thus the message is never actually accepted and consumed. > Here's some debug output from the JCA: > PRE shutdown of external broker: > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] ServerSession requested. > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] Using idle session: ServerSessionImpl:1 > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Starting run. > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work accepted: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work started: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Running > 2007-03-09 11:43:02,883 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run loop start > 2007-03-09 11:43:02,884 DEBUG [org.apache.activemq.TransactionContext] Start: XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114] > 2007-03-09 11:43:02,884 DEBUG [org.apache.activemq.TransactionContext] Started XA transaction: XID:257:6e6f64653131382f313134:31 > - snip - output of a resulting consumption of message > 2007-03-09 11:43:04,447 DEBUG [org.apache.activemq.TransactionContext] End: XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114] > 2007-03-09 11:43:04,447 DEBUG [org.apache.activemq.TransactionContext] Ended XA transaction: XID:257:6e6f64653131382f313134:31 > 2007-03-09 11:43:04,448 DEBUG [org.apache.activemq.TransactionContext] Prepare: XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114] > 2007-03-09 11:43:04,454 DEBUG [org.apache.activemq.TransactionContext] Commit: XidImpl[FormatId=257, GlobalId=node118/114, BranchQual=1, localId=114] > 2007-03-09 11:43:05,150 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run loop end > 2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] Session returned to pool: ServerSessionImpl:1 > 2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Run finished > 2007-03-09 11:43:05,178 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work completed: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > POST shutdown and restart of external broker > 2007-03-09 11:46:33,077 DEBUG [org.apache.activemq.transport.WireFormatNegotiator] Sending: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} > 2007-03-09 11:46:33,126 DEBUG [org.apache.activemq.transport.WireFormatNegotiator] Received WireFormat: WireFormatInfo { version=2, properties={TightEncodingEnabled=true, CacheSize=1024, TcpNoDelayEnabled=true, SizePrefixDisabled=false, StackTraceEnabled=true, MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]} > 2007-03-09 11:46:33,126 DEBUG [org.apache.activemq.transport.WireFormatNegotiator] tcp://seqlims.broad.mit.edu/18.103.10.168:61616 before negotiation: OpenWireFormat{version=2, cacheEnabled=false, stackTraceEnabled=false, tightEncodingEnabled=false, sizePrefixDisabled=false} > 2007-03-09 11:46:33,126 DEBUG [org.apache.activemq.transport.WireFormatNegotiator] tcp://seqlims.broad.mit.edu/18.103.10.168:61616 after negotiation: OpenWireFormat{version=2, cacheEnabled=true, stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false} > 2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] ServerSession requested. > 2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] Using idle session: ServerSessionImpl:1 > 2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Starting run. > 2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work accepted: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > 2007-03-09 11:53:15,196 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work started: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Running > - as you can see, no XA here > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run loop start > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] run loop end > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionPoolImpl] Session returned to pool: ServerSessionImpl:1 > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Run finished > 2007-03-09 11:53:15,197 DEBUG [org.apache.activemq.ra.ServerSessionImpl:1] Work completed: javax.resource.spi.work.WorkEvent[source=org.jboss.resource.work.JBossWorkManager@1461b5b] > Thanks for your help! > John -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.