From f713b93f01d522f7e4ef0a2f3af52a2f86c94ee0 Mon Sep 17 00:00:00 2001 From: Sergi Rene Date: Tue, 27 Aug 2024 16:12:48 +0200 Subject: [PATCH] fix(manager): applylocalblock change mutex (#1036) (cherry picked from commit fe0f3cb63cd64cd8aa84d93e5d12cae681d1405e) --- block/retriever.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/block/retriever.go b/block/retriever.go index e07bcfa61..05aaedcd0 100644 --- a/block/retriever.go +++ b/block/retriever.go @@ -84,6 +84,9 @@ func (m *Manager) syncFromDABatch() error { } func (m *Manager) applyLocalBlock(height uint64) error { + defer m.retrieverMu.Unlock() + m.retrieverMu.Lock() + block, err := m.Store.LoadBlock(height) if err != nil { return fmt.Errorf("load block: %w", gerrc.ErrNotFound) @@ -96,12 +99,10 @@ func (m *Manager) applyLocalBlock(height uint64) error { return fmt.Errorf("validate block from local store: height: %d: %w", height, err) } - m.retrieverMu.Lock() err = m.applyBlock(block, commit, types.BlockMetaData{Source: types.LocalDb}) if err != nil { return fmt.Errorf("apply block from local store: height: %d: %w", height, err) } - m.retrieverMu.Unlock() return nil }