From 39d778b681dd90075c81aa90f4ca405939991f5c Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Mon, 14 Jan 2019 10:30:28 +0800 Subject: [PATCH] crimson/net: fix unittest_seastar_messenger failure unittest_seastar_messenger is failed since updated the seastar repo. std::system_error (error system:22, Invalid argument) will be raised from `listener->accept()`, which will be re-raised and not be captured. This fix is to print error logs for the unexpected exceptions in `SocketMessenger::start()` and not raise them again. Signed-off-by: Yingxin Cheng --- src/crimson/net/SocketMessenger.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/crimson/net/SocketMessenger.cc b/src/crimson/net/SocketMessenger.cc index 9891d6191f49a..6fe4932f3e93e 100644 --- a/src/crimson/net/SocketMessenger.cc +++ b/src/crimson/net/SocketMessenger.cc @@ -22,6 +22,12 @@ using namespace ceph::net; +namespace { + seastar::logger& logger() { + return ceph::get_logger(ceph_subsys_ms); + } +} + SocketMessenger::SocketMessenger(const entity_name_t& myname, const std::string& logic_name, uint32_t nonce) @@ -70,7 +76,7 @@ seastar::future<> SocketMessenger::start(Dispatcher *disp) }).handle_exception_type([this] (const std::system_error& e) { // stop gracefully on connection_aborted if (e.code() != error::connection_aborted) { - throw e; + logger().error("{} unexpected error during accept: {}", *this, e); } }); } -- 2.39.5