From 06e0e6ace028c26ae8fc688ccafdfe0cee4a1964 Mon Sep 17 00:00:00 2001 From: Murali Reddy Date: Tue, 9 Apr 2019 12:39:16 +0530 Subject: [PATCH] add debug log for ipam ring and entry updates Fixes #3627 --- ipam/ring/entry.go | 2 ++ ipam/ring/ring.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/ipam/ring/entry.go b/ipam/ring/entry.go index f82378fc..c3f04edf 100644 --- a/ipam/ring/entry.go +++ b/ipam/ring/entry.go @@ -1,6 +1,7 @@ package ring import ( + "fmt" "sort" "github.com/weaveworks/mesh" @@ -25,6 +26,7 @@ func (e *entry) Equal(e2 *entry) bool { func (e *entry) update(peername mesh.PeerName, free address.Count) { e.Peer = peername e.Version++ + common.Log.Debugln(fmt.Sprintf("Updating ring token=%s current peer=%s updated peer=%s new version=%s", e.Token, e.Peer, peername, fmt.Sprint(e.Version))) e.Free = free } diff --git a/ipam/ring/ring.go b/ipam/ring/ring.go index 3cd45099..bdbd8d8c 100644 --- a/ipam/ring/ring.go +++ b/ipam/ring/ring.go @@ -297,12 +297,14 @@ func (es entries) merge(other entries, ourPeer mesh.PeerName) (result entries, u } addToResult(*mine) previousOwner = &mine.Peer + common.Log.Debugln(fmt.Sprintf("[ring %s]: Merge token=%s mine.Peer=%s theirs.Peer=%s mine.Version=%s theirs.Version=%s", ourPeer, mine.Token, mine.Peer, theirs.Peer, fmt.Sprint(mine.Version), fmt.Sprint(theirs.Version))) case mine.Version < theirs.Version: if mine.Peer == ourPeer { // We shouldn't receive updates to our own tokens err = errNewerVersion(mine, theirs) return } addTheirs(*theirs) + common.Log.Debugln(fmt.Sprintf("[ring %s]: Merge token=%s mine.Peer=%s theirs.Peer=%s mine.Version=%s theirs.Version=%s", ourPeer, mine.Token, mine.Peer, theirs.Peer, fmt.Sprint(mine.Version), fmt.Sprint(theirs.Version))) } i++ j++ @@ -485,6 +487,7 @@ func (r *Ring) ReportFree(freespace map[address.Address]address.Count) (updated entries[i].Free = free entries[i].Version++ + common.Log.Debugln(fmt.Sprintf("[ring %s]: ReportFree token=%s peer=%s version=%s", r.Peer, entries[i].Token, entries[i].Peer, fmt.Sprint(entries[i].Version))) updated = true } return @@ -566,6 +569,7 @@ func (r *Ring) Transfer(from, to mesh.PeerName) []address.Range { if entry.Peer == from { entry.Peer = to entry.Version++ + common.Log.Debugln(fmt.Sprintf("[ring %s]: Transfer token=%s from=%s to=%s version=%s", r.Peer, entry.Token, from, to, fmt.Sprint(entry.Version))) newRanges = append(newRanges, address.Range{Start: entry.Token, End: r.Entries.entry(i + 1).Token}) } }