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 GitHub Bot (JIRA)" <ji...@apache.org> on 2018/06/01 22:42:00 UTC

[jira] [Commented] (QPID-7541) [Broker-J] Close Consumers when a Queue is deleted

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

ASF GitHub Bot commented on QPID-7541:
--------------------------------------

GitHub user alex-rufous opened a pull request:

    https://github.com/apache/qpid-broker-j/pull/7

    QPID-7541: [Broker-J] Close Consumers when a Queue is deleted

    Following discussion in user mailing list [What is AMQP 1-0 spec complaint Broker behaviour for deletion of queue with consumers attached?](https://lists.apache.org/thread.html/3e64db4411925250b02e3f4648263a648c4406f1bbcb342369eeb06a@%3Cusers.qpid.apache.org%3E) I implemented changes allowing to detach links on queue or exchange deletion if environment variable `qpid.resource.deleteOnlyWithNoLinkAttached` is set to `false`. If it is set to `true`, the queue/exchange cannot be deleted with any  associated sending or receiving links.
    
    When`qpid.resource.deleteOnlyWithNoLinkAttached=false` the following behaviour is implemented:
    * detaches all links with an error "amqp:resource-deleted"
    * any in-progress producing/consuming transactions are marked as rollback-only
    * if commit/rollback is in progress and transaction cannot be marked as rollback-only, the deletion waits for discharge to finish
    * the remaining messages on the deleted queue are moved alternate binding if one is configured


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/alex-rufous/qpid-broker-j master

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/qpid-broker-j/pull/7.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #7
    
----
commit 6b16be0b3a76adf6d1d647c69881e73146e5c9e8
Author: Alex Rudyy <or...@...>
Date:   2018-05-30T10:49:07Z

    QPID-7541: [Broker-J] Prevent deletion of queues and exchanges with attached links

commit ee55830b729b4b8794cee35b7020cae3bc41a555
Author: Alex Rudyy <or...@...>
Date:   2018-06-01T16:55:12Z

    QPID-7541: [Broker-J] Detach links on destination deletion

----


> [Broker-J] Close Consumers when a Queue is deleted
> --------------------------------------------------
>
>                 Key: QPID-7541
>                 URL: https://issues.apache.org/jira/browse/QPID-7541
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>            Reporter: Lorenz Quack
>            Priority: Major
>             Fix For: qpid-java-broker-7.1.0
>
>         Attachments: 0001-QPID-7541-Broker-J-Close-Consumers-when-a-Queue-is-d.patch, proton-j_client.log, simultaneous_closing.log
>
>
> Currently when a Queue is deleted the associated Consumers are not closed. 
> This is essentially a resource leak.
> Note: In 6.1.x, for the AMQP 1.0 protocol, deleting a queue did detach the sending links (without error).  Receiving links were not detached.   This code (org.apache.qpid.server.protocol.v1_0.ConsumerTarget_1_0#queueDeleted) was removed in 7.0.x and this JIRA raised.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org