activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From red3 <alan.bi...@aeso.ca>
Subject Re: Temporary Queue behaviour with Networks of Brokers
Date Tue, 20 Jun 2006 21:25:37 GMT

Hi James,

You've really got me looking deeper into this now. I've started looking
closely at DEBUG level logs in the brokers, set up as a simple two broker
network:

I get a "Transport failed", "Connection reset" stack trace. 
I am seeing this on all transactions through Lingo, including successful
ones (see Stack Trace 1 from the broker output log below)

I also see "Ignoring subscription - restricted to 1 network hops only". If I
bump up the networkTTL setting to "2" on the broker's networkConnector
config, I see "Ignoring sub ConsumerInfo ... already routed through this
Broker once."

When the transaction times out with the following exception on the client:
(
org.springframework.remoting.RemoteAccessException: Cannot access JMS
invoker remote service at [null]; nested exception is
javax.jms.JMSException: EDU.oswego.cs.dl.util.concurrent.TimeoutException
) 

I see "Transport failed" followed by "Destination still has active
subscription" when attempting to remove the temporary queue destination.
(Stack trace 2)

Whether this is directly related to the temporary queue behaviour with
dangling temporary queues and timeouts, I am unsure, but it does look like
something's not quite right under the hood.

Thx,
Alan

StackTrace 1

DEBUG Transport                      - Transport failed:
java.net.SocketExceptio
n: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuff
eredInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuff
eredInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.
java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
142)
        at java.lang.Thread.run(Thread.java:536)
DEBUG Transport                      - Transport failed:
java.net.SocketExceptio
n: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuff
eredInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuff
eredInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.
java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
142)
        at java.lang.Thread.run(Thread.java:536)
DEBUG AbstractRegion                 - Removing destination:
temp-queue://ID:AD0
50003-1972-1150836819984-0:3:1
DEBUG Transport                      - Transport failed:
java.io.IOException: Th
e transport tcp:///127.0.0.1:1974 of type:
org.apache.activemq.transport.tcp.Tcp
Transport is not running.
java.io.IOException: The transport tcp:///127.0.0.1:1974 of type:
org.apache.act
ivemq.transport.tcp.TcpTransport is not running.
        at
org.apache.activemq.transport.TransportSupport.checkStarted(Transport
Support.java:108)
        at
org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.ja
va:123)
        at
org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMoni
tor.java:141)
        at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.
java:78)
        at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatN
egotiator.java:77)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.ja
va:44)
        at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorre
lator.java:60)
        at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConn
ection.java:211)
        at
org.apache.activemq.broker.AbstractConnection.processDispatch(Abstrac
tConnection.java:581)
        at
org.apache.activemq.broker.AbstractConnection.dispatchSync(AbstractCo
nnection.java:559)
        at
org.apache.activemq.broker.region.TopicSubscription.dispatch(TopicSub
scription.java:315)
        at
org.apache.activemq.broker.region.TopicSubscription.add(TopicSubscrip
tion.java:74)
        at
org.apache.activemq.broker.region.policy.SimpleDispatchPolicy.dispatc
h(SimpleDispatchPolicy.java:50)
        at org.apache.activemq.broker.region.Topic.dispatch(Topic.java:443)
        at org.apache.activemq.broker.region.Topic.send(Topic.java:254)
        at
org.apache.activemq.broker.region.AbstractRegion.send(AbstractRegion.
java:225)
        at
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java
:345)
        at
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.j
ava:192)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBrok
er.java:271)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBrok
er.java:236)
        at
org.apache.activemq.advisory.AdvisoryBroker.fireAdvisory(AdvisoryBrok
er.java:231)
        at
org.apache.activemq.advisory.AdvisoryBroker.removeDestination(Advisor
yBroker.java:166)
        at
org.apache.activemq.broker.BrokerFilter.removeDestination(BrokerFilte
r.java:133)
        at
org.apache.activemq.broker.MutableBrokerFilter.removeDestination(Muta
bleBrokerFilter.java:146)
        at
org.apache.activemq.broker.AbstractConnection.processRemoveConnection
(AbstractConnection.java:536)
        at
org.apache.activemq.broker.AbstractConnection.stop(AbstractConnection
.java:159)
        at
org.apache.activemq.broker.TransportConnection.stop(TransportConnecti
on.java:94)
        at
org.apache.activemq.broker.jmx.ManagedTransportConnection.stop(Manage
dTransportConnection.java:62)
        at
org.apache.activemq.util.ServiceSupport.dispose(ServiceSupport.java:3
9)
        at
org.apache.activemq.broker.AbstractConnection.serviceTransportExcepti
on(AbstractConnection.java:172)
        at
org.apache.activemq.broker.TransportConnection$1.onException(Transpor
tConnection.java:68)
        at
org.apache.activemq.transport.TransportFilter.onException(TransportFi
lter.java:94)
        at
org.apache.activemq.transport.ResponseCorrelator.onException(Response
Correlator.java:120)
        at
org.apache.activemq.transport.TransportFilter.onException(TransportFi
lter.java:94)
        at
org.apache.activemq.transport.TransportFilter.onException(TransportFi
lter.java:94)
        at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFo
rmatNegotiator.java:120)
        at
org.apache.activemq.transport.InactivityMonitor.onException(Inactivit
yMonitor.java:149)
        at
org.apache.activemq.transport.TransportSupport.onException(TransportS
upport.java:100)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
156)
        at java.lang.Thread.run(Thread.java:536)
DEBUG AbstractRegion                 - Removing destination:
temp-queue://ID:AD0
50003-1972-1150836819984-0:4:1
DEBUG Transport                      - Transport failed:
java.net.SocketExceptio
n: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuff
eredInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuff
eredInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.
java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
142)
        at java.lang.Thread.run(Thread.java:536)

StackTrace 2

DEBUG Transport                      - Transport failed:
java.net.SocketExceptio
n: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuff
eredInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuff
eredInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.
java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
142)
        at java.lang.Thread.run(Thread.java:536)
DEBUG AbstractRegion                 - Removing destination:
topic://ActiveMQ.Ad
visory.Consumer.Queue.ID:AD050003-2106-1150837404432-0:1:1
INFO  Service                        - Async error occurred:
javax.jms.JMSExcept
ion: Destination still has an active subscription:
temp-queue://ID:AD050003-2106
-1150837404432-0:4:1
javax.jms.JMSException: Destination still has an active subscription:
temp-queue
://ID:AD050003-2106-1150837404432-0:4:1
        at
org.apache.activemq.broker.region.AbstractRegion.removeDestination(Ab
stractRegion.java:102)
        at
org.apache.activemq.broker.jmx.ManagedTempQueueRegion.removeDestinati
on(ManagedTempQueueRegion.java:60)
        at
org.apache.activemq.broker.region.RegionBroker.removeDestination(Regi
onBroker.java:247)
        at
org.apache.activemq.broker.region.RegionBroker.removeDestinationInfo(
RegionBroker.java:265)
        at
org.apache.activemq.broker.BrokerFilter.removeDestinationInfo(BrokerF
ilter.java:208)
        at
org.apache.activemq.advisory.AdvisoryBroker.removeDestinationInfo(Adv
isoryBroker.java:180)
        at
org.apache.activemq.broker.BrokerFilter.removeDestinationInfo(BrokerF
ilter.java:208)
        at
org.apache.activemq.broker.MutableBrokerFilter.removeDestinationInfo(
MutableBrokerFilter.java:219)
        at
org.apache.activemq.broker.AbstractConnection.processRemoveDestinatio
n(AbstractConnection.java:381)
        at
org.apache.activemq.command.DestinationInfo.visit(DestinationInfo.jav
a:122)
        at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnect
ion.java:201)
        at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportC
onnection.java:62)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCo
rrelator.java:97)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilt
er.java:63)
        at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:
76)
        at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.ja
va:44)
        at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorre
lator.java:60)
        at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemo
teConsumerAdvisory(DemandForwardingBridgeSupport.java:413)
        at
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemo
teCommand(DemandForwardingBridgeSupport.java:331)
        at
org.apache.activemq.network.DemandForwardingBridgeSupport$2.onCommand
(DemandForwardingBridgeSupport.java:125)
        at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCo
rrelator.java:97)
        at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilt
er.java:63)
        at
org.apache.activemq.transport.failover.FailoverTransport$1.onCommand(
FailoverTransport.java:105)
        at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireForm
atNegotiator.java:114)
        at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityM
onitor.java:122)
        at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSup
port.java:87)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
143)
        at java.lang.Thread.run(Thread.java:536)
DEBUG Transport                      - Transport failed:
java.net.SocketExceptio
n: Connection reset
java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBuff
eredInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBuff
eredInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:392)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.
java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:
142)
        at java.lang.Thread.run(Thread.java:536)
WARN  DemandForwardingBridge         - Unexpected local command:
ConnectionError
 {commandId = 2, responseRequired = false, connectionId = null, exception =
java
x.jms.JMSException: Destination still has an active subscription:
temp-queue://I
D:AD050003-2106-1150837404432-0:4:1}
DEBUG DemandForwardingBridge         - Ignoring Subscription DestinationInfo
{co
mmandId = 36, responseRequired = false, connectionId =
ID:AD050003-1843-11508364
69891-2:1, destination = temp-queue://ID:AD050003-2106-1150837404432-0:3:1,
oper
ationType = 1, timeout = 0, brokerPath =
[ID:AD050003-1806-1150836460755-0:0]} r
estricted to 1 network hops only




--
View this message in context: http://www.nabble.com/Temporary-Queue-behaviour-with-Networks-of-Brokers-t1796463.html#a4963668
Sent from the ActiveMQ - User forum at Nabble.com.


Mime
View raw message