Commit 693e20e6 authored by Mehdi Abaakouk's avatar Mehdi Abaakouk Committed by Mehdi Abaakouk (sileht)
Browse files

rabbit: make ack/requeue thread-safe

ack/requeue messages are currently done in the
MessageHandlingServer._process_incoming().

But _process_incoming() in run by a futurist Executor.
That can be a threading or an eventlet executor.

With eventlet, we don't really share the socket between threads.

But with threading executor and expecialy ssl, this can't work, if you
write data with two different threads to the socket.

This change moves back the message ack/requeue to the polling threads
that handle the connection, instead of the threads we spawn for the
application.

Oslo Messaging now always use a connection in the same thread.

Change-Id: I5c0e6def6b34f4d195fb1f8dbb26eda0f21ff34e
(cherry picked from commit 7e71ac82)
parent 9d5e2582