Robbie Gemmell created QPID-6384:
------------------------------------

             Summary: [Java Broker] [AMQP 1.0] unable to recreate a durable 
subscription after calling unsubscribe
                 Key: QPID-6384
                 URL: https://issues.apache.org/jira/browse/QPID-6384
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.31
            Reporter: Robbie Gemmell


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:
{noformat}
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
{noformat}

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



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to