Skip to content
This repository was archived by the owner on Aug 23, 2023. It is now read-only.

Commit

Permalink
drop node updates that are older then info we already have
Browse files Browse the repository at this point in the history
  • Loading branch information
woodsaj authored and Dieterbe committed Oct 29, 2018
1 parent 69e1dd3 commit ed4e98a
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions cluster/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,10 @@ func (c *MemberlistManager) NotifyJoin(node *memberlist.Node) {
if member.Name == c.nodeName {
member.local = true
}
c.members[node.Name] = member
existing, ok := c.members[node.Name]
if !ok || member.Updated.After(existing.Updated) {
c.members[node.Name] = member
}
c.clusterStats()
}

Expand Down Expand Up @@ -270,8 +273,11 @@ func (c *MemberlistManager) NotifyUpdate(node *memberlist.Node) {
if member.Name == c.nodeName {
member.local = true
}
c.members[node.Name] = member
log.Infof("CLU manager: HTTPNode %s at %s has been updated - %s", node.Name, node.Addr.String(), node.Meta)
existing, ok := c.members[node.Name]
if !ok || member.Updated.After(existing.Updated) {
c.members[node.Name] = member
log.Infof("CLU manager: HTTPNode %s at %s has been updated - %s", node.Name, node.Addr.String(), node.Meta)
}
c.clusterStats()
}

Expand Down Expand Up @@ -353,6 +359,7 @@ func (c *MemberlistManager) SetState(state NodeState) {
node := c.members[c.nodeName]
node.State = state
node.Updated = time.Now()
node.StateChange = time.Now()
c.members[c.nodeName] = node
c.Unlock()
nodeReady.Set(state == NodeReady)
Expand Down

0 comments on commit ed4e98a

Please sign in to comment.