Bug in STOMP transport unsubscribe
----------------------------------
Key: AMQ-1077
URL: https://issues.apache.org/activemq/browse/AMQ-1077
Project: ActiveMQ
Issue Type: Bug
Components: Transport
Affects Versions: 4.0.2
Environment: linux 2.6, java 1.5
Reporter: Danielius Jurna
Attachments: patch.txt
After several ubscribe/unsubscribe commands to activemq, subscribtions are not
removed and there's error log in the broker:
java.lang.IllegalStateException: Cannot remove a consumer that had not been
registered: ID:das-32775-1164773607925-3:1881:-1:2
at
org.apache.activemq.broker.AbstractConnection.processRemoveConsumer(AbstractConnection.java:551)
at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
at
org.apache.activemq.broker.AbstractConnection.service(AbstractConnection.java:237)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:61)
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.InactivityMonitor.onCommand(InactivityMonitor.java:123)
at
org.apache.activemq.transport.stomp.StompTransportFilter.sendToActiveMQ(StompTransportFilter.java:70)
at
org.apache.activemq.transport.stomp.ProtocolConverter.sendToActiveMQ(ProtocolConverter.java:112)
at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompUnsubscribe(ProtocolConverter.java:376)
at
org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:144)
at
org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:60)
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)
The problem is that there's internal map of subscriptions in ProtocolConverter
class. On unsubscribe command, subscription is not removed from this internal
map. Attached patch (against ProtocolConverter.java) fixes this bug
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira