Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9D91092A0 for ; Sat, 12 Nov 2011 13:57:14 +0000 (UTC) Received: (qmail 70381 invoked by uid 500); 12 Nov 2011 13:57:14 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 70354 invoked by uid 500); 12 Nov 2011 13:57:14 -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 70346 invoked by uid 99); 12 Nov 2011 13:57:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Nov 2011 13:57:14 +0000 X-ASF-Spam-Status: No, hits=-2001.2 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Nov 2011 13:57:12 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 16F6657C7E for ; Sat, 12 Nov 2011 13:56:52 +0000 (UTC) Date: Sat, 12 Nov 2011 13:56:52 +0000 (UTC) From: "Leon Fleysher (Created) (JIRA)" To: dev@activemq.apache.org Message-ID: <1979720984.24158.1321106212103.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Created] (AMQ-3591) bridge transport is stuck on socket write at both ends MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 bridge transport is stuck on socket write at both ends ------------------------------------------------------ Key: AMQ-3591 URL: https://issues.apache.org/jira/browse/AMQ-3591 Project: ActiveMQ Issue Type: Bug Components: Transport Affects Versions: 5.5.0 Environment: 2 redhat linux Reporter: Leon Fleysher We have embedded (into Jboss 7 web app) broker A on one linux connecting through tcp duplex=true bridge to another standalone broker B. Both brokers exchange messages through 4 common queues. Each broker has its own persistence storage in mssql db. After a few hours of flawless work the bridge stops delivering the messages in both directions. broker A offending thread stack trace (causing the rest to wait on oneway mutex): BrokerService[as2analyticsEmbedded] Task-15 [RUNNABLE, IN_NATIVE] CPU time: 0:00 java.net.SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) java.net.SocketOutputStream.socketWrite(byte[], int, int) java.net.SocketOutputStream.write(byte[], int, int) org.apache.activemq.transport.tcp.TcpBufferedOutputStream.write(byte[], int, int) java.io.DataOutputStream.write(byte[], int, int) org.apache.activemq.openwire.v7.BaseDataStreamMarshaller.tightMarshalByteSequence2(ByteSequence, DataOutput, BooleanStream) org.apache.activemq.openwire.v7.MessageMarshaller.tightMarshal2(OpenWireFormat, Object, DataOutput, BooleanStream) org.apache.activemq.openwire.v7.ActiveMQMessageMarshaller.tightMarshal2(OpenWireFormat, Object, DataOutput, BooleanStream) org.apache.activemq.openwire.v7.ActiveMQObjectMessageMarshaller.tightMarshal2(OpenWireFormat, Object, DataOutput, BooleanStream) org.apache.activemq.openwire.OpenWireFormat.marshal(Object, DataOutput) org.apache.activemq.transport.tcp.TcpTransport.oneway(Object) org.apache.activemq.transport.InactivityMonitor.oneway(Object) org.apache.activemq.transport.TransportFilter.oneway(Object) org.apache.activemq.transport.WireFormatNegotiator.oneway(Object) org.apache.activemq.transport.failover.FailoverTransport.oneway(Object) org.apache.activemq.transport.MutexTransport.oneway(Object) org.apache.activemq.transport.ResponseCorrelator.asyncRequest(Object, ResponseCallback) org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(Command) org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(Object) org.apache.activemq.transport.ResponseCorrelator.onCommand(Object) org.apache.activemq.transport.TransportFilter.onCommand(Object) org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport, TransportListener, Object) org.apache.activemq.transport.vm.VMTransport.oneway(Object) org.apache.activemq.transport.MutexTransport.oneway(Object) org.apache.activemq.transport.ResponseCorrelator.oneway(Object) org.apache.activemq.broker.TransportConnection.dispatch(Command) org.apache.activemq.broker.TransportConnection.processDispatch(Command) org.apache.activemq.broker.TransportConnection.iterate() org.apache.activemq.thread.PooledTaskRunner.runTask() org.apache.activemq.thread.PooledTaskRunner$1.run() java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Runnable) java.util.concurrent.ThreadPoolExecutor$Worker.run() java.lang.Thread.run() broker B offending thread stack trace (causing the rest to wait on oneway mutex): ActiveMQ Connection Dispatcher: vm://analyticsCentral#6 [RUNNABLE, IN_NATIVE] CPU time: 0:00 java.net.SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int) java.net.SocketOutputStream.socketWrite(byte[], int, int) java.net.SocketOutputStream.write(byte[], int, int) org.apache.activemq.transport.tcp.TcpBufferedOutputStream.flush() java.io.DataOutputStream.flush() org.apache.activemq.transport.tcp.TcpTransport.oneway(Object) org.apache.activemq.transport.InactivityMonitor.oneway(Object) org.apache.activemq.transport.TransportFilter.oneway(Object) org.apache.activemq.transport.WireFormatNegotiator.oneway(Object) org.apache.activemq.transport.MutexTransport.oneway(Object) org.apache.activemq.transport.ResponseCorrelator.asyncRequest(Object, ResponseCallback) org.apache.activemq.network.DemandForwardingBridgeSupport.serviceLocalCommand(Command) org.apache.activemq.network.DemandForwardingBridgeSupport$1.onCommand(Object) org.apache.activemq.transport.ResponseCorrelator.onCommand(Object) org.apache.activemq.transport.TransportFilter.onCommand(Object) org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport, TransportListener, Object) org.apache.activemq.transport.vm.VMTransport.oneway(Object) org.apache.activemq.transport.MutexTransport.oneway(Object) org.apache.activemq.transport.ResponseCorrelator.oneway(Object) org.apache.activemq.broker.TransportConnection.dispatch(Command) org.apache.activemq.broker.TransportConnection.processDispatch(Command) org.apache.activemq.broker.TransportConnection.iterate() org.apache.activemq.thread.DedicatedTaskRunner.runTask() org.apache.activemq.thread.DedicatedTaskRunner$1.run() Both brokers run on a local 1 Gbit network. This scenario happens always after few hours of work and is recreated consistently. Broker A relevant configuration: Broker B relevant configuration: file:${activemq.base}/conf/credentials.properties -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira