[Bug 1515278] Re: rabbit queues should expire when unused

OpenStack Infra 1515278 at bugs.launchpad.net
Fri Feb 19 14:03:25 UTC 2016


Reviewed:  https://review.openstack.org/279561
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=393370072e9f8122967c4864c9dc8a7bda731f3a
Submitter: Jenkins
Branch:    stable/liberty

commit 393370072e9f8122967c4864c9dc8a7bda731f3a
Author: Jorge Niedbalski <jorge.niedbalski at canonical.com>
Date:   Fri Feb 12 11:20:46 2016 -0300

    Kombu: make reply and fanout queues expire instead of auto-delete
    
    Backport of fix made for bug #1515278.
    
    Right now fanout and reply queues are unconditionally created with
    auto-delete flag which causes a number of problems listed in bug
    1495568. Replacing auto-delete with queue expiration with some sane
    timeout should fix all these issues at once.
    
    Original: https://review.openstack.org/#/c/243845/
    
    Change-Id: Ib69fb7a159eab722fe399f64caa742b77ef45bec
    Closes-bug: #1515278
    Signed-off-by: Jorge Niedbalski <jorge.niedbalski at canonical.com>


** Tags added: in-stable-liberty

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1515278

Title:
  rabbit queues should expire when unused

Status in oslo.messaging:
  Fix Released
Status in oslo.messaging package in Ubuntu:
  Fix Committed
Status in oslo.messaging source package in Trusty:
  In Progress
Status in oslo.messaging source package in Wily:
  In Progress

Bug description:
  RabbitMQ supports queue-level TTLs as described here:

  https://www.rabbitmq.com/ttl.html#queue-ttl

  This should be used when declaring queues in order to clean up queues
  that are orphaned for various reasons.

  This is an important complement to auto_delete queues.  Queues marked
  auto_delete are only deleted if a consumer existed at some point, and
  then disconnected, resulting in zero consumers.

  Consider the following scenario: a client declares a queue
  (auto_delete) and binds it to a fanout exchange, but before the client
  can consume from the queue, it dies.

  Because there was never (and will never be) a consumer of this queue,
  the auto_delete logic does not fire.  The queue will live forever, and
  will collect a copy of every message that is sent to the bound fanout
  exchange.  Given enough published messages to the exchange, the queue
  will eventually consume all available memory on the broker.

  This is bad and we should avoid it by setting a reasonable TTL.

To manage notifications about this bug go to:
https://bugs.launchpad.net/oslo.messaging/+bug/1515278/+subscriptions



More information about the Ubuntu-sponsors mailing list