From b5060847be0aad8a76be7cad27a2b2cab742383d Mon Sep 17 00:00:00 2001 From: Oleg Kovalov <oleg@hey.com> Date: Thu, 23 Jan 2025 16:34:02 +0100 Subject: [PATCH] do 1 more fetch before subscribe --- store/store.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/store/store.go b/store/store.go index 287acef1..d7962bc8 100644 --- a/store/store.go +++ b/store/store.go @@ -231,6 +231,10 @@ func (s *Store[H]) GetByHeight(ctx context.Context, height uint64) (H, error) { return zero, errors.New("header/store: height must be bigger than zero") } + if h, err := s.getByHeight(ctx, height); err == nil || ctx.Err() != nil { + return h, err + } + // if the requested 'height' was not yet published // we subscribe to it if head := s.contiguousHead.Load(); head == nil || height > (*head).Height() {