From b4ba7b75d4028d463141c84fa89de754ddefd282 Mon Sep 17 00:00:00 2001 From: kaichao Date: Thu, 21 Dec 2023 08:44:51 +0800 Subject: [PATCH] chore: stop light filter node by default (#964) --- waku/v2/node/wakunode2.go | 1 + waku/v2/protocol/filter/client.go | 27 ++++++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/waku/v2/node/wakunode2.go b/waku/v2/node/wakunode2.go index fa975bdd..a499ab71 100644 --- a/waku/v2/node/wakunode2.go +++ b/waku/v2/node/wakunode2.go @@ -529,6 +529,7 @@ func (w *WakuNode) Stop() { w.store.Stop() w.legacyFilter.Stop() w.filterFullNode.Stop() + w.filterLightNode.Stop() if w.opts.enableDiscV5 { w.discoveryV5.Stop() diff --git a/waku/v2/protocol/filter/client.go b/waku/v2/protocol/filter/client.go index 38449ae1..b992d74a 100644 --- a/waku/v2/protocol/filter/client.go +++ b/waku/v2/protocol/filter/client.go @@ -112,19 +112,23 @@ func (wf *WakuFilterLightNode) Stop() { wf.CommonService.Stop(func() { wf.h.RemoveStreamHandler(FilterPushID_v20beta1) if wf.subscriptions.Count() > 0 { - res, err := wf.unsubscribeAll(wf.Context()) - if err != nil { - wf.log.Warn("unsubscribing from full nodes", zap.Error(err)) - } - - for _, r := range res.Errors() { - if r.Err != nil { - wf.log.Warn("unsubscribing from full nodes", zap.Error(r.Err), logging.HostID("peerID", r.PeerID)) + go func() { + defer func() { + _ = recover() + }() + res, err := wf.unsubscribeAll(wf.Context()) + if err != nil { + wf.log.Warn("unsubscribing from full nodes", zap.Error(err)) } - } - // - wf.subscriptions.Clear() + for _, r := range res.Errors() { + if r.Err != nil { + wf.log.Warn("unsubscribing from full nodes", zap.Error(r.Err), logging.HostID("peerID", r.PeerID)) + } + + } + wf.subscriptions.Clear() + }() } }) } @@ -617,6 +621,7 @@ func (wf *WakuFilterLightNode) unsubscribeAll(ctx context.Context, opts ...Filte if params.wg != nil { params.wg.Done() } + _ = recover() }() paramsCopy := params.Copy()