From 19b122ae50593182a0096e3ec283a32e75535e95 Mon Sep 17 00:00:00 2001 From: Matthew Pendrey Date: Fri, 13 Dec 2024 12:16:14 +0000 Subject: [PATCH] temp fix to chainreader error when no workflows (#15678) * temp fix to chainreader error when no workflows * tidy --- core/services/workflows/syncer/workflow_registry.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/services/workflows/syncer/workflow_registry.go b/core/services/workflows/syncer/workflow_registry.go index 223fbe8e758..e68136fdc07 100644 --- a/core/services/workflows/syncer/workflow_registry.go +++ b/core/services/workflows/syncer/workflow_registry.go @@ -6,6 +6,7 @@ import ( "encoding/json" "fmt" "iter" + "strings" "sync" "time" @@ -222,8 +223,16 @@ func (w *workflowRegistry) Start(_ context.Context) error { w.lggr.Debugw("Loading initial workflows for DON", "DON", don.ID) loadWorkflowsHead, err := w.initialWorkflowsStateLoader.LoadWorkflows(ctx, don) if err != nil { - w.lggr.Errorw("failed to load workflows", "err", err) - return + // TODO - this is a temporary fix to handle the case where the chainreader errors because the contract + // contains no workflows. To track: https://smartcontract-it.atlassian.net/browse/CAPPL-393 + if !strings.Contains(err.Error(), "attempting to unmarshal an empty string while arguments are expected") { + w.lggr.Errorw("failed to load workflows", "err", err) + return + } + + loadWorkflowsHead = &types.Head{ + Height: "0", + } } reader, err := w.getContractReader(ctx)