From 8d8f07c3aa0843debc15371c715046049a52e118 Mon Sep 17 00:00:00 2001 From: Elliot Hallam Date: Thu, 27 Feb 2025 10:46:16 +0000 Subject: [PATCH] [WIP] feat(ds-replayer): build a ds replayer for replaying txs --- zk/replayer/replayer.go | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/zk/replayer/replayer.go b/zk/replayer/replayer.go index cacb9344164..67f46c7206a 100644 --- a/zk/replayer/replayer.go +++ b/zk/replayer/replayer.go @@ -47,9 +47,20 @@ func (r *Replayer) Run(ctx context.Context) error { var progress uint64 go func() { - if err := dsClient.ReadAllEntriesToChannel(); err != nil { - log.Error("Failed to read all entries to channel", "error", err) - return + for { + func() { + defer func() { + if r := recover(); r != nil { + log.Error("Recovered from panic in ReadAllEntriesToChannel", "panic", r) + } + }() + + if err := dsClient.ReadAllEntriesToChannel(); err != nil { + log.Error("Failed to read all entries to channel, retrying...", "error", err) + time.Sleep(1 * time.Second) + return + } + }() } }()