oslo.messaging/oslo_messaging/_drivers
Hervé Beraud 4937949dff Correctly handle missing RabbitMQ queues
Currently, setting the '[oslo_messaging] direct_mandatory_flag' config
option to 'True' (the default) will result in a 'MessageUndeliverable'
exception being raised when sending a reply if a RabbitMQ queue is
missing [1]. It was the responsibility of the application to handle
this exception, however, many applications are not doing so. This has
resulted in a number of bug reports.

Start handling this error condition, using a retry loop to attempt to
resend the message and work around any temporary glitches. Since
attempting to send a reply will will no longer raise an exception,
there is little benefit in retaining the '[oslo_messaging]
direct_mandatory_flag' config option: users setting this to False will
simply not benefit from the retry logic and improved logging added
here. This option is already deprecated though and will be fully
removed in a future release.

[1] https://www.rabbitmq.com/channels.html

Change-Id: Id5cddbefbe24ef100f1cc522f44430df77d217cb
Closes-Bug: #1905965
2021-02-04 09:47:08 +00:00
..
amqp1_driver Remove six usage 2020-05-11 10:21:58 +02:00
kafka_driver Add support for kafka SSL autentication 2020-01-16 23:26:53 +01:00
__init__.py Fixed a couple of pep8 errors/warnings 2016-01-25 15:00:49 +08:00
amqp.py Remove six usage 2020-05-11 10:21:58 +02:00
amqpdriver.py Correctly handle missing RabbitMQ queues 2021-02-04 09:47:08 +00:00
base.py add min of 1 to rpc_conn_pool_size 2020-10-13 12:44:30 +01:00
common.py Remove six usage 2020-05-11 10:21:58 +02:00
impl_amqp1.py Add the "transport_options" parameter to the amqp1 and kafka drivers. 2019-06-20 16:12:39 -04:00
impl_fake.py Remove six usage 2020-05-11 10:21:58 +02:00
impl_kafka.py Add support for kafka SSL autentication 2020-01-16 23:26:53 +01:00
impl_rabbit.py Correctly handle missing RabbitMQ queues 2021-02-04 09:47:08 +00:00
pool.py Merge "Print warning message when connection running out" 2020-05-29 11:38:38 +00:00