From e058c93343f06adf13d250f2be6b7da1078eb040 Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Wed, 4 Jun 2025 16:32:30 +0900 Subject: [PATCH] Enhance log message in creating watchdog receive socket. This is a follow up commit to: cea80281d Retry bind on watchdog receive socket. Use getnameinfo() so that log messages contain hostname, rather just "TCP". --- src/watchdog/watchdog.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/watchdog/watchdog.c b/src/watchdog/watchdog.c index 065a69c33..df3454b8a 100644 --- a/src/watchdog/watchdog.c +++ b/src/watchdog/watchdog.c @@ -907,13 +907,27 @@ wd_create_recv_socket(int port) { bool bind_is_done; int bind_tries; + int ret; + char buf[INET6_ADDRSTRLEN + 1]; + + memset(buf, 0, sizeof(buf)); + if ((ret = getnameinfo((struct sockaddr *) walk->ai_addr, walk->ai_addrlen, + buf, sizeof(buf), NULL, 0, NI_NUMERICHOST)) != 0) + { + ereport(LOG, + (errmsg("failed to create INET domain socket"), + errdetail("getnameinfo() failed: \"%s\"", gai_strerror(ret)))); + } + + ereport(LOG, + (errmsg("setting up watchdog receive socket for %s:%d", buf, port))); if ((sock = socket(walk->ai_family, walk->ai_socktype, walk->ai_protocol)) < 0) { /* socket create failed */ ereport(LOG, (errmsg("failed to create watchdog receive socket"), - errdetail("create socket failed with reason: \"%m\""))); + errdetail("create socket on %s:%d failed with reason: \"%m\"", buf, port))); continue; } @@ -966,7 +980,7 @@ wd_create_recv_socket(int port) /* bind failed */ ereport(LOG, (errmsg("failed to create watchdog receive socket. retrying..."), - errdetail("bind on \"TCP:%d\" failed with reason: \"%m\"", port))); + errdetail("bind on \"%s:%d\" failed with reason: \"%m\"", buf, port))); sleep(1); } else @@ -977,7 +991,7 @@ wd_create_recv_socket(int port) { ereport(LOG, (errmsg("failed to create watchdog receive socket"), - errdetail("bind on \"TCP:%d\" failed with reason: \"%m\"", port))); + errdetail("bind on %s:%d failed", buf, port))); close(sock); continue; } @@ -987,7 +1001,7 @@ wd_create_recv_socket(int port) /* listen failed */ ereport(LOG, (errmsg("failed to create watchdog receive socket"), - errdetail("listen failed with reason: \"%m\""))); + errdetail("listen on %s:%d failed with reason: \"%m\"", buf, port))); close(sock); continue; } -- 2.39.5