]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
msg/async: add timeout for connections which are not yet ready
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 2 Mar 2019 09:27:40 +0000 (17:27 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Thu, 18 Apr 2019 06:44:21 +0000 (14:44 +0800)
commit1fb2422e6777543cdb4381f2c8349a92221527d6
tree33f2c075f2a16d513fe674870e312aad7cc69a40
parentdd45426da1904e875c1e240f747bc0637672b5f6
msg/async: add timeout for connections which are not yet ready

It turns out the new keep_alive mechanism introduced in
9499e85b16ae865e16c6f6f83fa90349d572e322 does not make a lot of
sense if the corresponding connection is not yet ready, as we
always require the underlying connection to be **ready** in order
to send out a keep_alive message.

Since there could be various corner cases that may cause an async
connection stuck in the connecting stage, I think introducing a
timeout strategy should generally make more much sense...

Master PR: https://github.com/ceph/ceph/pull/27337

This does not follow the normal backport process because the protocol
of transport layer of Ceph has been greatly changed for Nautilus.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/common/legacy_config_opts.h
src/common/options.cc
src/msg/async/AsyncConnection.cc
src/msg/async/AsyncConnection.h