Merge pull request #7095 from yyforyongyu/funding-locked

funding: wait for one sec if funding locked is not received
This commit is contained in:
Oliver Gugger 2022-11-02 09:27:41 +01:00 committed by GitHub
commit ae6006a84e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -149,6 +149,10 @@ certain large transactions](https://github.com/lightningnetwork/lnd/pull/7100).
so that the user can specify fees during channel creation time in addition so that the user can specify fees during channel creation time in addition
to the default configuration. to the default configuration.
* [Sleep for one second when funding locked message is not
received](https://github.com/lightningnetwork/lnd/pull/7095) to avoid CPU
spike.
## Code Health ## Code Health
* [test: use `T.TempDir` to create temporary test * [test: use `T.TempDir` to create temporary test

View File

@ -1021,7 +1021,14 @@ func (f *Manager) stateStep(channel *channeldb.OpenChannel,
if !received { if !received {
// We haven't received FundingLocked, so we'll continue // We haven't received FundingLocked, so we'll continue
// to the next iteration of the loop. // to the next iteration of the loop after sleeping for
// one second.
select {
case <-time.After(1 * time.Second):
case <-f.quit:
return ErrFundingManagerShuttingDown
}
return nil return nil
} }
@ -2952,6 +2959,7 @@ func (f *Manager) receivedFundingLocked(node *btcec.PublicKey,
// Avoid a tight loop if peer is offline. // Avoid a tight loop if peer is offline.
if _, err := f.waitForPeerOnline(node); err != nil { if _, err := f.waitForPeerOnline(node); err != nil {
log.Errorf("Wait for peer online failed: %v", err)
return false, err return false, err
} }