From 74c55411473ec365f53edf9bc0054fc67d034d73 Mon Sep 17 00:00:00 2001 From: ziggie Date: Wed, 28 May 2025 13:45:32 +0200 Subject: [PATCH] brontide: increase logging when processing gossip msgs We add logging to we can draw conclusions how long the processing of gossip message last and potentially see whether the syncer buffer channel size is a bottleneck in processing. --- discovery/gossiper.go | 2 -- peer/brontide.go | 29 ++++++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/discovery/gossiper.go b/discovery/gossiper.go index 4b2f4f220..0b59c8af9 100644 --- a/discovery/gossiper.go +++ b/discovery/gossiper.go @@ -860,8 +860,6 @@ func (d *AuthenticatedGossiper) stop() { func (d *AuthenticatedGossiper) ProcessRemoteAnnouncement(ctx context.Context, msg lnwire.Message, peer lnpeer.Peer) chan error { - log.Debugf("Processing remote msg %T from peer=%x", msg, peer.PubKey()) - errChan := make(chan error, 1) // For messages in the known set of channel series queries, we'll diff --git a/peer/brontide.go b/peer/brontide.go index cd7645aee..26d02d3e7 100644 --- a/peer/brontide.go +++ b/peer/brontide.go @@ -1995,9 +1995,32 @@ func newDiscMsgStream(p *Brontide) *msgStream { // so that a parent context can be passed in here. ctx := context.TODO() - // TODO(yy): `ProcessRemoteAnnouncement` returns an error chan - // and we need to process it. - p.cfg.AuthGossiper.ProcessRemoteAnnouncement(ctx, msg, p) + p.log.Debugf("Processing remote msg %T", msg) + + errChan := p.cfg.AuthGossiper.ProcessRemoteAnnouncement( + ctx, msg, p, + ) + + // Start a goroutine to process the error channel for logging + // purposes. + // + // TODO(ziggie): Maybe use the error to potentially punish the + // peer depending on the error ? + go func() { + select { + case <-p.cg.Done(): + return + + case err := <-errChan: + if err != nil { + p.log.Warnf("Error processing remote "+ + "msg %T: %v", msg, + err) + } + } + + p.log.Debugf("Processed remote msg %T", msg) + }() } return newMsgStream(