From 53f9724a0fc085d0911265785a68dddcedafcc3a Mon Sep 17 00:00:00 2001 From: ssilagadze <ssilagadze@purestorage.com> Date: Fri, 7 Jun 2024 10:52:10 +0200 Subject: [PATCH] clear map properly --- internal/metamorph/processor.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/metamorph/processor.go b/internal/metamorph/processor.go index bed9a9811..917749a44 100644 --- a/internal/metamorph/processor.go +++ b/internal/metamorph/processor.go @@ -265,13 +265,13 @@ func (p *Processor) StartProcessMinedCallbacks() { }() } -func (p *Processor) CheckAndUpdate(statusUpdatesMap *map[chainhash.Hash]store.UpdateStatus) { - if len(*statusUpdatesMap) == 0 { +func (p *Processor) CheckAndUpdate(statusUpdatesMap map[chainhash.Hash]store.UpdateStatus) { + if len(statusUpdatesMap) == 0 { return } statusUpdates := make([]store.UpdateStatus, 0, p.processStatusUpdatesBatchSize) - for _, distinctStatusUpdate := range *statusUpdatesMap { + for _, distinctStatusUpdate := range statusUpdatesMap { statusUpdates = append(statusUpdates, distinctStatusUpdate) } @@ -279,8 +279,6 @@ func (p *Processor) CheckAndUpdate(statusUpdatesMap *map[chainhash.Hash]store.Up if err != nil { p.logger.Error("failed to bulk update statuses", slog.String("err", err.Error())) } - - *statusUpdatesMap = map[chainhash.Hash]store.UpdateStatus{} } func (p *Processor) StartProcessStatusUpdatesInStorage() { @@ -306,10 +304,14 @@ func (p *Processor) StartProcessStatusUpdatesInStorage() { } if len(statusUpdatesMap) >= p.processStatusUpdatesBatchSize { - p.CheckAndUpdate(&statusUpdatesMap) + p.CheckAndUpdate(statusUpdatesMap) + statusUpdatesMap = map[chainhash.Hash]store.UpdateStatus{} } case <-ticker.C: - p.CheckAndUpdate(&statusUpdatesMap) + if len(statusUpdatesMap) > 0 { + p.CheckAndUpdate(statusUpdatesMap) + statusUpdatesMap = map[chainhash.Hash]store.UpdateStatus{} + } } } }()