mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-08-03 10:12:28 +02:00
Merge pull request #9875 from ziggie1984/fix-peer-connection-2
discovery: make sure we do not block the read queue
This commit is contained in:
@@ -860,8 +860,6 @@ func (d *AuthenticatedGossiper) stop() {
|
||||
func (d *AuthenticatedGossiper) ProcessRemoteAnnouncement(ctx context.Context,
|
||||
msg lnwire.Message, peer lnpeer.Peer) chan error {
|
||||
|
||||
log.Debugf("Processing remote msg %T from peer=%x", msg, peer.PubKey())
|
||||
|
||||
errChan := make(chan error, 1)
|
||||
|
||||
// For messages in the known set of channel series queries, we'll
|
||||
|
@@ -175,7 +175,7 @@ const (
|
||||
requestBatchSize = 500
|
||||
|
||||
// syncerBufferSize is the size of the syncer's buffers.
|
||||
syncerBufferSize = 5
|
||||
syncerBufferSize = 50
|
||||
)
|
||||
|
||||
var (
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
# Bug Fixes
|
||||
|
||||
* [Fix a serialisation bug](https://github.com/lightningnetwork/lnd/pull/9856)
|
||||
- [Fix a serialisation bug](https://github.com/lightningnetwork/lnd/pull/9856)
|
||||
that would occur when an attempt was made to write a backup file for a channel
|
||||
peer that has advertised an address that we do not yet know how to parse.
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
|
||||
## Functional Enhancements
|
||||
|
||||
- [Increase](https://github.com/lightningnetwork/lnd/pull/9875) gossip sync
|
||||
buffer to take the pressure of the read handler.
|
||||
|
||||
## RPC Additions
|
||||
|
||||
## lncli Additions
|
||||
|
@@ -1995,9 +1995,32 @@ func newDiscMsgStream(p *Brontide) *msgStream {
|
||||
// so that a parent context can be passed in here.
|
||||
ctx := context.TODO()
|
||||
|
||||
// TODO(yy): `ProcessRemoteAnnouncement` returns an error chan
|
||||
// and we need to process it.
|
||||
p.cfg.AuthGossiper.ProcessRemoteAnnouncement(ctx, msg, p)
|
||||
p.log.Debugf("Processing remote msg %T", msg)
|
||||
|
||||
errChan := p.cfg.AuthGossiper.ProcessRemoteAnnouncement(
|
||||
ctx, msg, p,
|
||||
)
|
||||
|
||||
// Start a goroutine to process the error channel for logging
|
||||
// purposes.
|
||||
//
|
||||
// TODO(ziggie): Maybe use the error to potentially punish the
|
||||
// peer depending on the error ?
|
||||
go func() {
|
||||
select {
|
||||
case <-p.cg.Done():
|
||||
return
|
||||
|
||||
case err := <-errChan:
|
||||
if err != nil {
|
||||
p.log.Warnf("Error processing remote "+
|
||||
"msg %T: %v", msg,
|
||||
err)
|
||||
}
|
||||
}
|
||||
|
||||
p.log.Debugf("Processed remote msg %T", msg)
|
||||
}()
|
||||
}
|
||||
|
||||
return newMsgStream(
|
||||
|
Reference in New Issue
Block a user