Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-6384

[Java Broker] [AMQP 1.0] unable to recreate a durable subscription after calling unsubscribe

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.31
    • 0.31
    • Broker-J
    • None

    Description

      Running the attached class twice (using the trunk Java broker and 'existing' AMQP 1.0 JMS client) results in an exception when recreating the subscription on the second run, with the following stacktrace dumped to the console:

      00 53 12 c0 5c 07 a1 05 6d 79 53 75 62 43 41 50 00 
      50 00 00 53 28 c0 1d 07 a1 08 4d 59 5f 54 4f 50 49 
      43 52 02 a3 05 6e 65 76 65 72 40 40 40 a3 04 63 6f 
      70 79 00 53 29 c0 27 01 a1 24 33 34 31 66 36 66 39 
      34 2d 32 30 66 31 2d 34 33 37 39 2d 61 30 65 62 2d 
      30 62 39 65 63 66 39 34 32 63 30 66 
      org.apache.qpid.server.util.ConnectionScopedRuntimeException: org.apache.qpid.server.message.MessageSource$ConsumerAccessRefused
      	at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.<init>(SendingLink_1_0.java:396)
      	at org.apache.qpid.server.protocol.v1_0.Session_1_0.remoteLinkCreation(Session_1_0.java:209)
      	at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2$1.run(Connection_1_0.java:167)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:360)
      	at org.apache.qpid.server.protocol.v1_0.Connection_1_0$2.remoteLinkCreation(Connection_1_0.java:162)
      	at org.apache.qpid.amqp_1_0.transport.SessionEndpoint.receiveAttach(SessionEndpoint.java:300)
      	at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receiveAttach(ConnectionEndpoint.java:633)
      	at org.apache.qpid.amqp_1_0.type.transport.Attach.invoke(Attach.java:352)
      	at org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint.receive(ConnectionEndpoint.java:802)
      	at org.apache.qpid.amqp_1_0.framing.FrameHandler.parse(FrameHandler.java:241)
      	at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:384)
      	at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL$4.run(ProtocolEngine_1_0_0_SASL.java:380)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:360)
      	at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:379)
      	at org.apache.qpid.server.protocol.v1_0.ProtocolEngine_1_0_0_SASL.received(ProtocolEngine_1_0_0_SASL.java:66)
      	at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:153)
      	at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:51)
      	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: org.apache.qpid.server.message.MessageSource$ConsumerAccessRefused
      	at org.apache.qpid.server.queue.AbstractQueue.addConsumer(AbstractQueue.java:652)
      	at org.apache.qpid.server.queue.AbstractQueue.addConsumer(AbstractQueue.java:96)
      	at org.apache.qpid.server.protocol.v1_0.SendingLink_1_0.<init>(SendingLink_1_0.java:379)
      	... 20 more
      

      The program creates a durable subscriber and publisher, sends + receives a message, closes the durable subscriber, then unsubscribes the subscription.

      It is notable that after the first run, even though the subscription unsubscribe attempt suceeded, the subscription backing queue is still listed in the web management ui, and the broker logs do not indicate it was deleted (it does log creation), and it still lists having 1 consumer.

      Restarting the broker, the queue is no longer visible, but this is most likely due to QPID-6383

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            rgodfrey Robert Godfrey
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment