commit 16ee9a86830a1740655c097cd4714c67e31129bb
Author: Mehdi Abaakouk <email address hidden>
Date: Wed Jan 21 10:24:54 2015 +0100
Refactor the replies waiter code
This changes improves the way of we wait for replies.
Currently, one of the rpc client is reponsible to poll the amqp connection
used for replies and passed received answers to the correct client.
In this way, we have some case if no client is waiting for a reply, the
connection is not polled and no IO are done on the wire. The direct
effect of that is we don't detect if the tcp connection is broken,
from the system point of view, the tcp connection stay alive even if someone
between the client and server have closed the connection.
This change refactors the replies waiter code by creating a background
thread responsible to poll the connection instead of a random client.
The connection lost will be detect as soon as possible even if no rpc
client are currently used the connection.
This is a mandatory change to be able to enable heartbeat on this
connection.
Reviewed: https:/ /review. openstack. org/148890 /git.openstack. org/cgit/ openstack/ oslo.messaging/ commit/ ?id=16ee9a86830 a1740655c097cd4 714c67e31129bb
Committed: https:/
Submitter: Jenkins
Branch: master
commit 16ee9a86830a174 0655c097cd4714c 67e31129bb
Author: Mehdi Abaakouk <email address hidden>
Date: Wed Jan 21 10:24:54 2015 +0100
Refactor the replies waiter code
This changes improves the way of we wait for replies.
Currently, one of the rpc client is reponsible to poll the amqp connection
used for replies and passed received answers to the correct client.
In this way, we have some case if no client is waiting for a reply, the
connection is not polled and no IO are done on the wire. The direct
effect of that is we don't detect if the tcp connection is broken,
from the system point of view, the tcp connection stay alive even if someone
between the client and server have closed the connection.
This change refactors the replies waiter code by creating a background
thread responsible to poll the connection instead of a random client.
The connection lost will be detect as soon as possible even if no rpc
client are currently used the connection.
This is a mandatory change to be able to enable heartbeat on this
connection.
Related-Bug: #1371723
Related-Bug: #856764
Change-Id: I82d4029dd897ef 13ae8ba3cda84a2 fe65c8c91d2