You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2015/02/11 02:04:12 UTC

[jira] [Commented] (QPID-6384) [Java Broker] [AMQP 1.0] unable to recreate a durable subscription after calling unsubscribe

    [ https://issues.apache.org/jira/browse/QPID-6384?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14315324#comment-14315324 ] 

ASF subversion and git services commented on QPID-6384:
-------------------------------------------------------

Commit 1658849 from [~godfrer] in branch 'qpid/trunk'
[ https://svn.apache.org/r1658849 ]

QPID-6384 : fix various issues with durable links

> [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
>            Assignee: Rob Godfrey
>         Attachments: DurSubCloseAndUnsubscribe.java
>
>
> 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org