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

Mathew Hodson mathew.hodson at gmail.com
Wed Jun 22 16:55:07 UTC 2016


** No longer affects: python-oslo.messaging (Ubuntu Trusty)

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to python-oslo.messaging in Ubuntu.
https://bugs.launchpad.net/bugs/1515278

Title:
  [SRU] rabbit queues should expire when unused

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive liberty series:
  Fix Released
Status in oslo.messaging:
  Fix Released
Status in python-oslo.messaging package in Ubuntu:
  Fix Released
Status in oslo.messaging source package in Trusty:
  New
Status in python-oslo.messaging source package in Wily:
  Fix Released

Bug description:
  [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.

  [Impact]

  Consider the following scenario: a client declares a queue
  (auto_delete) and binds it to a fan out 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.

  [Test Case]

  * Deploy a new cinder service unit
  * Create a volume 
  * Destroy the new cinder service unit.
  * List the current active queues:

  rabbitmqctl -p openstack list_queues messages consumers name

  811 0 q-agent-notifier-security_group update_fanout_c3c4f4d4fc774322938357952ab6d252 
  3352 0 cinder-volume_fanout_49a14d5511dc4c8c935904eb299a06a8 
  3352 0 cinder-volume_fanout_634a3e584c064a788676fb29fbf7db23 
  3352 0 cinder-volume_fanout_ada4f2368cb74d7389998d0adbd15f88 
  3352 0 cinder-volume_fanout_e896e25b029c4cbd97037909c34803db

  Those queues with 0 consumers will grow and remain there forever.

  After applying the patch, those queues are removed from the exchange after
  10 minutes.

  
  [Regression Potential]

  * Not identified.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/1515278/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list