commit c41f0ce709ea39717eb75748a6c5b7e9a69628cf
Author: Mehdi Abaakouk <email address hidden>
Date: Wed May 10 09:19:38 2017 +0200
rabbit: restore synchronous ack/requeue
Note this change also contains the fix for the regression it
introduced.
In https://review.openstack.org/#/c/436958, we fix a thread safety
issue. But we make the ack/requeue of message asynchronous. In nominal
case, it works, but if network/rabbit connection issue occurs this
can result to rpc call handle twice. By chance we double check already
processed message ids, and drop duplicates, but that if the message
goes to another node, the mitigation won't work.
This restore the previous behavior, to ensure we run application
callback of rpc.call/rpc.cast only when the message have been
successfully ack.
(cherry picked from commit da02bc2169b09959d857c605961ead1bbba1019d)
Fix rabbitmq driver with blocking executor
We recently move ack/requeue of messages in main/polling thread
of rabbitmq drivers. And break the blocking executor.
This one is not tested by any tests and now deprecated.
This change workaround the issue until we completely remove the
blocking executor.
Closes-bug: #1694728
(cherry picked from commit 8ee5ae135a6ecb918f40619982e3dc7e38ed0bbf)
Reviewed: https:/ /review. openstack. org/466787 /git.openstack. org/cgit/ openstack/ oslo.messaging/ commit/ ?id=c41f0ce709e a39717eb75748a6 c5b7e9a69628cf
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit c41f0ce709ea397 17eb75748a6c5b7 e9a69628cf
Author: Mehdi Abaakouk <email address hidden>
Date: Wed May 10 09:19:38 2017 +0200
rabbit: restore synchronous ack/requeue
Note this change also contains the fix for the regression it
introduced.
In https:/ /review. openstack. org/#/c/ 436958, we fix a thread safety
issue. But we make the ack/requeue of message asynchronous. In nominal
case, it works, but if network/rabbit connection issue occurs this
can result to rpc call handle twice. By chance we double check already
processed message ids, and drop duplicates, but that if the message
goes to another node, the mitigation won't work.
This restore the previous behavior, to ensure we run application
callback of rpc.call/rpc.cast only when the message have been
successfully ack.
(cherry picked from commit da02bc2169b0995 9d857c605961ead 1bbba1019d)
Fix rabbitmq driver with blocking executor
We recently move ack/requeue of messages in main/polling thread
of rabbitmq drivers. And break the blocking executor.
This one is not tested by any tests and now deprecated.
This change workaround the issue until we completely remove the
blocking executor.
Closes-bug: #1694728 18f40619982e3dc 7e38ed0bbf)
(cherry picked from commit 8ee5ae135a6ecb9
Change-Id: I62b9e09513e3eb febc64a941d4b21 b6c053b511d