Commit 704571aa authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

example/hello_sock: reduce spdk_sock_recv() logs on errors



When error is reported from spdk_sock_recv(),
we still let the hello_sock_recv_poll() poller to
execute for one more second via hello_sock_close_timeout_poll().

Few cases where we perform negative tests with expected
failures, generates pretty long logs in order of megabytes.

This patch uses newly added SPDK_ERRLOG_RATELIMIT() to
limit to one error message per second.

While not completely necessary, prevent attempting to call
hello_sock_quit() multiple times while draining.

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: If1f8feecd0a0e0d0650e0feaf9230af40cb6c0f3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22514


Reviewed-by: default avatarKrzysztof Karas <krzysztof.karas@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent 548ee33a
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -199,8 +199,13 @@ hello_sock_recv_poll(void *arg)
			return SPDK_POLLER_IDLE;
		}

		/* This poller drains recv buffer until hello_sock_close_timeout_poll()
		 * runs out. Which starts when hello_sock_quit() is called.
		 * Quit the application just once, then patiently await the unregister. */
		if (ctx->rc == 0) {
			hello_sock_quit(ctx, -1);
		SPDK_ERRLOG("spdk_sock_recv() failed, errno %d: %s\n",
		}
		SPDK_ERRLOG_RATELIMIT("spdk_sock_recv() failed, errno %d: %s\n",
				      errno, spdk_strerror(errno));
		return SPDK_POLLER_BUSY;
	}