From 10c7839798afb2c1303e7e487768fd2b600996d3 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 19 Jan 2021 01:39:26 +0200 Subject: [PATCH] Remove unreachable and unnecessary code in gossip membership (#2295) In gossip, alive messages are stored in membership stores, and they also have logical timestamps. When a peer learns of an alive message with a higher logical timestamp of its latest alive message (for a specific peer), it enters learnExistingMembers() and tentatively updates the latest envelope and gossip message of what is store in the membership store. However, for completeness, the code checks if the membership store already contains an earlier instance, and if not, populates the membership store with a new instance. This population is not needed, because the code only enters the function if it already knows the peer, hence the membership store contains an earlier instance. This commit simply removes the unneeded code path where the instance is unknown despite the fact that we know about the peer already. Change-Id: Ia91cb35eabe18a8771ad12a30b06489892a2b49f Signed-off-by: Yacov Manevich (cherry picked from commit a4a8520772cb2a1d2d73c6f53dbf8fae872c006f) Co-authored-by: Yacov Manevich --- gossip/discovery/discovery_impl.go | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gossip/discovery/discovery_impl.go b/gossip/discovery/discovery_impl.go index 1da96254ea4..988c0d7bdb3 100644 --- a/gossip/discovery/discovery_impl.go +++ b/gossip/discovery/discovery_impl.go @@ -869,11 +869,7 @@ func (d *gossipDiscoveryImpl) learnExistingMembers(aliveArr []*protoext.SignedGo alive.lastSeen = time.Now() alive.seqNum = am.Timestamp.SeqNum - if am := d.aliveMembership.MsgByID(m.GetAliveMsg().Membership.PkiId); am == nil { - d.logger.Debug("Adding", am, "to aliveMembership") - msg := &protoext.SignedGossipMessage{GossipMessage: m.GossipMessage, Envelope: am.Envelope} - d.aliveMembership.Put(m.GetAliveMsg().Membership.PkiId, msg) - } else { + if am := d.aliveMembership.MsgByID(m.GetAliveMsg().Membership.PkiId); am != nil { d.logger.Debug("Replacing", am, "in aliveMembership") am.GossipMessage = m.GossipMessage am.Envelope = m.Envelope