From b5bc9c8fbe6b11f259c47695d2417f73c1a33b92 Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Fri, 20 Jun 2025 09:04:54 +0200 Subject: [PATCH 1/2] graph/db: check for nil policies In the graph/db code, we should always expect to deal with potentially nil ChannelEdgePolicy pointers and so we should always do a nil check before making use of the struct. --- graph/db/graph.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/graph/db/graph.go b/graph/db/graph.go index 7150107a2..692406096 100644 --- a/graph/db/graph.go +++ b/graph/db/graph.go @@ -351,10 +351,16 @@ func (c *ChannelGraph) MarkEdgeLive(chanID uint64) error { info := infos[0] + var policy1, policy2 *models.CachedEdgePolicy + if info.Policy1 != nil { + policy1 = models.NewCachedPolicy(info.Policy1) + } + if info.Policy2 != nil { + policy2 = models.NewCachedPolicy(info.Policy2) + } + c.graphCache.AddChannel( - models.NewCachedEdge(info.Info), - models.NewCachedPolicy(info.Policy1), - models.NewCachedPolicy(info.Policy2), + models.NewCachedEdge(info.Info), policy1, policy2, ) } From 5b0a9501ad1a0ac097fc6ed1ef31920517725ea1 Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Fri, 20 Jun 2025 09:06:16 +0200 Subject: [PATCH 2/2] graph/db: remove ChannelEdgePolicy nil warning logs Since it is not a bug for us to not yet have the policy info for a channel, we can remove these potentially spammy log lines. --- graph/db/kv_store.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/graph/db/kv_store.go b/graph/db/kv_store.go index bb5512750..62dda158d 100644 --- a/graph/db/kv_store.go +++ b/graph/db/kv_store.go @@ -530,18 +530,12 @@ func (c *KVStore) ForEachChannelCacheable(cb func(*models.CachedEdgeInfo, cachedPolicy1 = models.NewCachedPolicy( policy1, ) - } else { - log.Warnf("ChannelEdgePolicy not "+ - "found using %v", key1) } if policy2 != nil { cachedPolicy2 = models.NewCachedPolicy( policy2, ) - } else { - log.Warnf("ChannelEdgePolicy not "+ - "found using %v", key2) } return cb(