diff --git a/channeldb/db.go b/channeldb/db.go index 92a49c2f8..1079cfd4c 100644 --- a/channeldb/db.go +++ b/channeldb/db.go @@ -329,6 +329,7 @@ var dbTopLevelBuckets = [][]byte{ metaBucket, closeSummaryBucket, outpointBucket, + historicalChannelBucket, } // Wipe completely deletes all saved state within all used buckets within the diff --git a/channeldb/db_test.go b/channeldb/db_test.go index c0b9bd79c..2773437f1 100644 --- a/channeldb/db_test.go +++ b/channeldb/db_test.go @@ -717,10 +717,11 @@ func TestFetchHistoricalChannel(t *testing.T) { // Create a an open channel in the database. channel := createTestChannel(t, cdb, openChannelOption()) - // First, try to lookup a channel when the bucket does not - // exist. + // First, try to lookup a channel when nothing is in the bucket. As the + // bucket is auto-created (on start up), we'll get a channel not found + // error. _, err = cdb.FetchHistoricalChannel(&channel.FundingOutpoint) - if err != ErrNoHistoricalBucket { + if err != ErrChannelNotFound { t.Fatalf("expected no bucket, got: %v", err) } diff --git a/contractcourt/channel_arbitrator.go b/contractcourt/channel_arbitrator.go index cc4c83ba6..4dadfa950 100644 --- a/contractcourt/channel_arbitrator.go +++ b/contractcourt/channel_arbitrator.go @@ -618,6 +618,8 @@ func (c *ChannelArbitrator) relaunchResolvers(commitSet *CommitSet, // If we don't find this channel, then it may be the case that it // was closed before we started to retain the final state // information for open channels. + case err == channeldb.ErrNoHistoricalBucket: + fallthrough case err == channeldb.ErrChannelNotFound: log.Warnf("ChannelArbitrator(%v): unable to fetch historical "+ "state", c.cfg.ChanPoint) @@ -1947,6 +1949,8 @@ func (c *ChannelArbitrator) prepContractResolutions( // If we don't find this channel, then it may be the case that it // was closed before we started to retain the final state // information for open channels. + case err == channeldb.ErrNoHistoricalBucket: + fallthrough case err == channeldb.ErrChannelNotFound: log.Warnf("ChannelArbitrator(%v): unable to fetch historical "+ "state", c.cfg.ChanPoint)