diff options
| author | Atin Mukherjee <amukherj@redhat.com> | 2016-10-19 12:53:35 +0530 | 
|---|---|---|
| committer | Atin Mukherjee <amukherj@redhat.com> | 2016-10-24 01:01:11 -0700 | 
| commit | 3f09391c9b97f1332b0585fa553b019cf871f4a0 (patch) | |
| tree | 2077a4454a2c5cd827e857e20fd09962150a1783 | |
| parent | 3ab27b0420045f88e10e0506d08cf21308cfce70 (diff) | |
glusterd: conditionally pass uuid for EVENT_PEER_CONNECT
When a new node is probed, on the first RPC_CLNT_CONNECT peerctx->uuid is set to
NULL as the same is yet to be populated. However the subesquent (dis)connect
events would be carrying the valid UUIDs.
Solution is not to generate EVENT_PEER_CONNECT on a peer probe trigger as CLI is
already going to take care of generating the same.
>Reviewed-on: http://review.gluster.org/15678
>Smoke: Gluster Build System <jenkins@build.gluster.org>
>CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
>Reviewed-by: Samikshan Bairagya <samikshan@gmail.com>
>NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Change-Id: I2f0de054ca09f12013a6afdd8ee158c0307796b9
BUG: 1387564
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/15697
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Samikshan Bairagya <samikshan@gmail.com>
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 13 | 
1 files changed, 10 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 0750a278d7b..163db6df8db 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -5751,9 +5751,16 @@ __glusterd_peer_rpc_notify (struct rpc_clnt *rpc, void *mydata,                  peerinfo->generation = uatomic_add_return                                                     (&conf->generation, 1);                  peerctx->peerinfo_gen = peerinfo->generation; -                gf_event (EVENT_PEER_CONNECT, "host=%s;uuid=%s", -                          peerinfo->hostname, uuid_utoa (peerinfo->uuid)); - +                /* EVENT_PEER_CONNECT will only be sent if peerctx->uuid is not +                 * NULL, otherwise it indicates this RPC_CLNT_CONNECT is from a +                 * peer probe trigger and given we already generate an event for +                 * peer probe this would be unnecessary. +                 */ +                if (!gf_uuid_is_null (peerinfo->uuid)) { +                        gf_event (EVENT_PEER_CONNECT, "host=%s;uuid=%s", +                                  peerinfo->hostname, +                                  uuid_utoa (peerinfo->uuid)); +                }                  ret = glusterd_peer_dump_version (this, rpc, peerctx);                  if (ret)                          gf_msg (this->name, GF_LOG_ERROR, 0,  | 
