graphdb: pass context to PruneGraphNodes

This commit is contained in:
Elle Mouton committed 2026-02-25 16:11:46 +02:00
1 parent 072244ee18
commit 13668ce45f
6 files changed
+9 -9

No files matched your search

+2 -2
View File
@@ -268,7 +268,7 @@ func (b *Builder) Start() error {
// Finally, before we proceed, we'll prune any unconnected nodes // Finally, before we proceed, we'll prune any unconnected nodes
// from the graph in order to ensure we maintain a tight graph // from the graph in order to ensure we maintain a tight graph
// of "useful" nodes. // of "useful" nodes.
err = b.cfg.Graph.PruneGraphNodes() err = b.cfg.Graph.PruneGraphNodes(context.TODO())
if err != nil && if err != nil &&
!errors.Is(err, graphdb.ErrGraphNodesNotFound) { !errors.Is(err, graphdb.ErrGraphNodesNotFound) {
@@ -638,7 +638,7 @@ func (b *Builder) pruneZombieChans() error {
// With the channels pruned, we'll also attempt to prune any nodes that // With the channels pruned, we'll also attempt to prune any nodes that
// were a part of them. // were a part of them.
err = b.cfg.Graph.PruneGraphNodes() err = b.cfg.Graph.PruneGraphNodes(context.TODO())
if err != nil && !errors.Is(err, graphdb.ErrGraphNodesNotFound) { if err != nil && !errors.Is(err, graphdb.ErrGraphNodesNotFound) {
return fmt.Errorf("unable to prune graph nodes: %w", err) return fmt.Errorf("unable to prune graph nodes: %w", err)
} }
+2 -2
View File
@@ -494,8 +494,8 @@ func (c *ChannelGraph) PruneGraph(spentOutputs []*wire.OutPoint,
// any nodes from the channel graph that are currently unconnected. This ensure // any nodes from the channel graph that are currently unconnected. This ensure
// that we only maintain a graph of reachable nodes. In the event that a pruned // that we only maintain a graph of reachable nodes. In the event that a pruned
// node gains more channels, it will be re-added back to the graph. // node gains more channels, it will be re-added back to the graph.
func (c *ChannelGraph) PruneGraphNodes() error { func (c *ChannelGraph) PruneGraphNodes(ctx context.Context) error {
nodes, err := c.db.PruneGraphNodes() nodes, err := c.db.PruneGraphNodes(ctx)
if err != nil { if err != nil {
return err return err
} }
+1 -1
View File
@@ -4044,7 +4044,7 @@ func TestPruneGraphNodes(t *testing.T) {
require.NoError(t, graph.UpdateEdgePolicy(ctx, edge1)) require.NoError(t, graph.UpdateEdgePolicy(ctx, edge1))
// We'll now initiate a around of graph pruning. // We'll now initiate a around of graph pruning.
require.NoError(t, graph.PruneGraphNodes()) require.NoError(t, graph.PruneGraphNodes(ctx))
// At this point, there should be 3 nodes left in the graph still: the // At this point, there should be 3 nodes left in the graph still: the
// source node (which can't be pruned), and node 1+2. Nodes 1 and two // source node (which can't be pruned), and node 1+2. Nodes 1 and two
+1 -1
View File
@@ -390,7 +390,7 @@ type Store interface { //nolint:interfacebloat
// unconnected. This ensures that we only maintain a graph of reachable // unconnected. This ensures that we only maintain a graph of reachable
// nodes. In the event that a pruned node gains more channels, it will // nodes. In the event that a pruned node gains more channels, it will
// be re-added back to the graph. // be re-added back to the graph.
PruneGraphNodes() ([]route.Vertex, error) PruneGraphNodes(ctx context.Context) ([]route.Vertex, error)
// PruneGraph prunes newly closed channels from the channel graph in // PruneGraph prunes newly closed channels from the channel graph in
// response to a new block being solved on the network. Any transactions // response to a new block being solved on the network. Any transactions
+1 -1
View File
@@ -1620,7 +1620,7 @@ func (c *KVStore) PruneGraph(spentOutputs []*wire.OutPoint,
// any nodes from the channel graph that are currently unconnected. This ensure // any nodes from the channel graph that are currently unconnected. This ensure
// that we only maintain a graph of reachable nodes. In the event that a pruned // that we only maintain a graph of reachable nodes. In the event that a pruned
// node gains more channels, it will be re-added back to the graph. // node gains more channels, it will be re-added back to the graph.
func (c *KVStore) PruneGraphNodes() ([]route.Vertex, error) { func (c *KVStore) PruneGraphNodes(_ context.Context) ([]route.Vertex, error) {
var prunedNodes []route.Vertex var prunedNodes []route.Vertex
err := kvdb.Update(c.db, func(tx kvdb.RwTx) error { err := kvdb.Update(c.db, func(tx kvdb.RwTx) error {
nodes := tx.ReadWriteBucket(nodeBucket) nodes := tx.ReadWriteBucket(nodeBucket)
+2 -2
View File
@@ -2802,8 +2802,8 @@ func (s *SQLStore) forEachChanInSCIDList(ctx context.Context, db SQLQueries,
// source nodes. // source nodes.
// //
// NOTE: part of the Store interface. // NOTE: part of the Store interface.
func (s *SQLStore) PruneGraphNodes() ([]route.Vertex, error) { func (s *SQLStore) PruneGraphNodes(ctx context.Context) (
var ctx = context.TODO() []route.Vertex, error) {
var prunedNodes []route.Vertex var prunedNodes []route.Vertex
err := s.db.ExecTx(ctx, sqldb.WriteTxOpt(), func(db SQLQueries) error { err := s.db.ExecTx(ctx, sqldb.WriteTxOpt(), func(db SQLQueries) error {