diff --git a/arbnode/node.go b/arbnode/node.go index f2ed2941fa..8be2a982cf 100644 --- a/arbnode/node.go +++ b/arbnode/node.go @@ -773,9 +773,9 @@ func (n *Node) Start(ctx context.Context) error { return fmt.Errorf("error initializing feed broadcast server: %w", err) } } - if n.InboxTracker != nil && n.BroadcastServer != nil && config.Sequencer && !config.SeqCoordinator.Enable { - // Normally, the sequencer would populate the feed backlog when it acquires the lockout. - // However, if the sequencer coordinator is not enabled, we must populate the backlog on startup. + if n.InboxTracker != nil && n.BroadcastServer != nil && config.Sequencer { + // Even if the sequencer coordinator will populate this backlog, + // we want to make sure it's populated before any clients connect. err = n.InboxTracker.PopulateFeedBacklog(n.BroadcastServer) if err != nil { return fmt.Errorf("error populating feed backlog on startup: %w", err) diff --git a/broadcaster/backlog/backlog.go b/broadcaster/backlog/backlog.go index 448bb79b13..851561f482 100644 --- a/broadcaster/backlog/backlog.go +++ b/broadcaster/backlog/backlog.go @@ -69,6 +69,7 @@ func (b *backlog) Append(bm *m.BroadcastMessage) error { segment = newBacklogSegment() b.head.Store(segment) b.tail.Store(segment) + confirmedSequenceNumberGauge.Update(int64(msg.SequenceNumber)) } prevMsgIdx := segment.End()