@@ -153,7 +153,8 @@ ConnectProcessor::init_destination() {
153153 } else {
154154 if (!last_ec_) {
155155 // no backends
156- last_ec_ = make_error_code (std::errc::no_such_file_or_directory);
156+ log_debug (" init_destination(): the destinations list is empty" );
157+ last_ec_ = make_error_code (DestinationsErrc::kNoDestinations );
157158 }
158159
159160 stage (Stage::Error);
@@ -194,6 +195,9 @@ stdx::expected<Processor::Result, std::error_code> ConnectProcessor::resolve() {
194195 destination->hostname (), std::to_string (destination->port ()));
195196
196197 if (!resolve_res) {
198+ log_debug (" resolve(%s,%d) failed: %s:%s" , destination->hostname ().c_str (),
199+ destination->port (), resolve_res.error ().category ().name (),
200+ resolve_res.error ().message ().c_str ());
197201 destination->connect_status (resolve_res.error ());
198202
199203 stage (Stage::NextDestination);
@@ -463,6 +467,10 @@ stdx::expected<Processor::Result, std::error_code> ConnectProcessor::connect() {
463467
464468 return Result::SendableToServer;
465469 } else {
470+ log_debug (" connect(%s, %d) failed: %s:%s" ,
471+ server_endpoint_.address ().to_string ().c_str (),
472+ server_endpoint_.port (), connect_res.error ().category ().name (),
473+ connect_res.error ().message ().c_str ());
466474 connection ()->connect_error_code (ec);
467475
468476 stage (Stage::ConnectFinish);
@@ -651,7 +659,10 @@ stdx::expected<Processor::Result, std::error_code> ConnectProcessor::error() {
651659
652660 connection ()->connect_error_code (ec);
653661
654- if (ec == std::errc::no_such_file_or_directory) {
662+ log_debug (" ConnectProcessor::error(): %s:%s" , ec.category ().name (),
663+ ec.message ().c_str ());
664+
665+ if (ec == DestinationsErrc::kNoDestinations ) {
655666 log_error (" no backend available to connect to" );
656667 } else {
657668 log_fatal_error_code (" connecting to backend failed" , ec);
@@ -664,7 +675,7 @@ stdx::expected<Processor::Result, std::error_code> ConnectProcessor::error() {
664675 //
665676 // don't retry as router may run into an infinite loop.
666677 ConnectionPoolComponent::get_instance ().clear ();
667- } else if (ec == std::errc::no_such_file_or_directory &&
678+ } else if (ec == DestinationsErrc:: kNoDestinations &&
668679 connection ()->get_destination_id ().empty ()) {
669680 // if there are no destinations for a fresh connect, close the
670681 // acceptor-ports
0 commit comments