netann: ignore unknown channel updat on startup

Since the funding manager might be in process of adding the edge to the
graph, we ignore the error.
This commit is contained in:
Johan T. Halseth 2021-01-26 15:33:45 +01:00
parent 39f51b5568
commit 3485a7874f
No known key found for this signature in database
GPG Key ID: 15BAADA29DA20D26
2 changed files with 15 additions and 2 deletions

@ -182,6 +182,16 @@ func (m *ChanStatusManager) start() error {
"in the process of closing.", c.FundingOutpoint) "in the process of closing.", c.FundingOutpoint)
continue continue
// If we are in the process of opening a channel, the funding
// manager might not have added the ChannelUpdate to the graph
// yet. We'll ignore the channel for now.
case err == ErrUnableToExtractChanUpdate:
log.Warnf("Unable to find channel policies for %v, "+
"skipping. This is typical if the channel is "+
"in the process of being opened.",
c.FundingOutpoint)
continue
case err != nil: case err != nil:
return err return err
} }

@ -11,6 +11,10 @@ import (
"github.com/lightningnetwork/lnd/lnwire" "github.com/lightningnetwork/lnd/lnwire"
) )
// ErrUnableToExtractChanUpdate is returned when a channel update cannot be
// found for one of our active channels.
var ErrUnableToExtractChanUpdate = fmt.Errorf("unable to extract ChannelUpdate")
// ChannelUpdateModifier is a closure that makes in-place modifications to an // ChannelUpdateModifier is a closure that makes in-place modifications to an
// lnwire.ChannelUpdate. // lnwire.ChannelUpdate.
type ChannelUpdateModifier func(*lnwire.ChannelUpdate) type ChannelUpdateModifier func(*lnwire.ChannelUpdate)
@ -107,8 +111,7 @@ func ExtractChannelUpdate(ownerPubKey []byte,
} }
} }
return nil, fmt.Errorf("unable to extract ChannelUpdate for channel %v", return nil, ErrUnableToExtractChanUpdate
info.ChannelPoint)
} }
// UnsignedChannelUpdateFromEdge reconstructs an unsigned ChannelUpdate from the // UnsignedChannelUpdateFromEdge reconstructs an unsigned ChannelUpdate from the