You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by hbruch <ho...@isb-ag.de> on 2006/10/02 11:22:29 UTC

IllegalArgumentException in acknowledge: The subscription does not exist

Hi,

in a network of two brokers with DemandFowardingBridges
(conduitSubscriptions=false) with high latency, I'm getting consistently
IllegalArgumentExceptions (The subscription does not exist).
They happen, if a remote consumer disconnects before all locally produced
messages have been consumed. In that case, the local broker is still sending
a message, which on the remote broker is added to the destination (as the
original consumer isn't available anymore).
Nevertheless, the DemandForwardingBridge sends an acknowledge with the Id of
the original consumer, which in the meanwhile is locally removed as well.

Shouldn't in such a case the message be acknowledged on the local broker
anyway, as it has arrived successfully at the remote broker?

Regards,
Holger

2006-10-02 11:01:55,877 [127.0.0.1:61001] DEBUG Service                       
- Async error occurred: java.lang.IllegalArgumentException: The subscription
does not exist: ID:note11-1681-1159779699684-5:1:1:1
java.lang.IllegalArgumentException: The subscription does not exist:
ID:note11-1681-1159779699684-5:1:1:1
	at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:233)
	at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:366)
	at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:177)
	at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:66)
	at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:66)
	at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:66)
	at LoggingBroker.acknowledge(LoggingBroker.java:98)
	at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:66)
	at de.visa.mq.broker.DelayingBroker.acknowledge(DelayingBroker.java:22)
	at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:79)
	at
org.apache.activemq.broker.AbstractConnection.processMessageAck(AbstractConnection.java:441)
	at org.apache.activemq.command.MessageAck.visit(MessageAck.java:192)
	at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:237)
	at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:63)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:92)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
	at org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:77)
	at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:45)
	at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:59)
	at
org.apache.activemq.network.DemandForwardingBridgeSupport$7.onCompletion(DemandForwardingBridgeSupport.java:524)
	at org.apache.activemq.transport.FutureResponse.set(FutureResponse.java:64)
	at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:87)
	at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:67)
	at
org.apache.activemq.transport.failover.FailoverTransport$1.onCommand(FailoverTransport.java:110)
	at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:124)
	at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:123)
	at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:88)
	at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
	at java.lang.Thread.run(Thread.java:595)

-- 
View this message in context: http://www.nabble.com/IllegalArgumentException-in-acknowledge%3A-The-subscription-does-not-exist-tf2368533.html#a6598216
Sent from the ActiveMQ - User mailing list archive at Nabble.com.