Adding Publisher Acknowledgements/confirms

During the vancouver summit, Michael Klishin from
pivotal proposed we should use publisher confirms
as the default setting to reduce messages being
dropped on the floor.

https://www.rabbitmq.com/confirms.html
http://www.rabbitmq.com/blog/2011/02/10/introducing-publisher-confirms/

This setting is a lightweight way of keeping track of which messages
have been processed by the broker and which would need re-publishing
in case of broker shutdown or network failure.

Change-Id: I25bc955df130dad4725f5281211d37fd73e7ea63
This commit is contained in:
Davanum Srinivas 2015-05-27 09:32:15 -04:00 committed by Mehdi Abaakouk
parent 02fae06de5
commit cd63a70235
2 changed files with 4 additions and 2 deletions
oslo_messaging

@ -437,7 +437,8 @@ class Connection(object):
self._url, ssl=self._fetch_ssl_params(),
login_method=self._login_method,
failover_strategy="shuffle",
heartbeat=self.driver_conf.heartbeat_timeout_threshold)
heartbeat=self.driver_conf.heartbeat_timeout_threshold,
transport_options={'confirm_publish': True})
LOG.info(_LI('Connecting to AMQP server on %(hostname)s:%(port)s'),
self.connection.info())

@ -169,7 +169,8 @@ class TestRabbitDriverLoadSSL(test_utils.BaseTestCase):
transport._driver._get_connection()
connection_klass.assert_called_once_with(
'memory:///', ssl=self.expected, login_method='AMQPLAIN',
'memory:///', transport_options={'confirm_publish': True},
ssl=self.expected, login_method='AMQPLAIN',
heartbeat=0, failover_strategy="shuffle")