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

        

Reply via email to