From 0dcdc8d9d797ed43d305fb3e3437c2576305ac46 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee Date: Thu, 16 Apr 2015 17:54:24 +0530 Subject: glusterd: log improvement in glusterd_peer_rpc_notify If ping time out is enabled glusterd can receive a disconnect event from a peer which has been already deleted resulting into a critical log printed. This patch ensures that critical message is logged only when its a connect event. Change-Id: I67d9aa3f60195e08af7dfc8a42683422aaf90a00 BUG: 1212437 Signed-off-by: Atin Mukherjee Reviewed-on: http://review.gluster.org/10272 Tested-by: Gluster Build System Reviewed-by: Gaurav Kumar Garg Tested-by: NetBSD Build System Reviewed-by: Krishnan Parthasarathi --- xlators/mgmt/glusterd/src/glusterd-handler.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'xlators/mgmt/glusterd/src/glusterd-handler.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index ff5707bab28..7ead1f5ab70 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -5007,12 +5007,17 @@ __glusterd_peer_rpc_notify (struct rpc_clnt *rpc, void *mydata, peerinfo = glusterd_peerinfo_find_by_generation (peerctx->peerinfo_gen); if (!peerinfo) { - /* Peerinfo should be available at this point. Not finding it - * means that something terrible has happened + /* Peerinfo should be available at this point if its a connect + * event. Not finding it means that something terrible has + * happened. For non-connect event we might end up having a null + * peerinfo, so log at debug level. */ - gf_msg (THIS->name, GF_LOG_CRITICAL, ENOENT, + gf_msg (THIS->name, (RPC_CLNT_CONNECT == event) ? + GF_LOG_CRITICAL : GF_LOG_DEBUG, ENOENT, GD_MSG_PEER_NOT_FOUND, "Could not find peer " - "%s(%s)", peerctx->peername, uuid_utoa (peerctx->peerid)); + "%s(%s)", peerctx->peername, + uuid_utoa (peerctx->peerid)); + ret = -1; goto out; } -- cgit