]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test/crimson: better error message when bind fails 37326/head
authorKefu Chai <kchai@redhat.com>
Wed, 23 Sep 2020 06:18:52 +0000 (14:18 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 23 Sep 2020 06:19:34 +0000 (14:19 +0800)
See also: https://tracker.ceph.com/issues/47324

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/test/crimson/test_messenger.cc

index 5a826b591e23b98ea14a1e49714d3e1c7bf02c91..429509c435235a50f9052c89aaf7456c94277525 100644 (file)
@@ -1599,8 +1599,18 @@ class FailoverTestPeer : public Dispatcher {
     cmd_msgr->set_auth_server(&dummy_auth);
     auto chained_dispatchers = seastar::make_lw_shared<ChainedDispatchers>();
     chained_dispatchers->push_back(*this);
-    return cmd_msgr->bind(entity_addrvec_t{cmd_peer_addr}).then([this, chained_dispatchers]() mutable {
+    return cmd_msgr->bind(entity_addrvec_t{cmd_peer_addr}).then(
+      [this, chained_dispatchers]() mutable {
       return cmd_msgr->start(chained_dispatchers);
+    }).handle_exception_type([cmd_peer_addr](const std::system_error& e) {
+      if (e.code() == std::errc::address_in_use) {
+        logger().error("FailoverTestPeer::init({}) "
+                       "likely there is another instance of "
+                       "unittest_seastar_messenger running", cmd_peer_addr);
+      } else {
+        logger().error("FailoverTestPeer::init({}): {}", cmd_peer_addr, e.what());
+      }
+      abort();
     });
   }