diff --git a/node/pkg/watchers/evm/connectors/poller.go b/node/pkg/watchers/evm/connectors/poller.go index 5068d9c48..cc430f2d5 100644 --- a/node/pkg/watchers/evm/connectors/poller.go +++ b/node/pkg/watchers/evm/connectors/poller.go @@ -67,10 +67,14 @@ func (b *BlockPollConnector) run(ctx context.Context) error { break } logger.Error("polling encountered an error", zap.Error(err)) + + // Wait an interval before trying again. We stay in this loop so that we + // try up to three times before causing the watcher to restart. + time.Sleep(b.Delay) } if err != nil { - b.errFeed.Send("polling encountered an error") + b.errFeed.Send(fmt.Sprint("polling encountered an error: ", err)) } timer.Reset(b.Delay) }