From 999fb8174ae6bb34354cb8c6f85f769cb64e8ae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Mon, 3 Mar 2025 13:29:44 +0100 Subject: [PATCH] fix(core): Gracefully handle missing tasks metadata (#13632) --- .../core/src/execution-engine/workflow-execute.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/core/src/execution-engine/workflow-execute.ts b/packages/core/src/execution-engine/workflow-execute.ts index a5cea5cd11..55440d50b7 100644 --- a/packages/core/src/execution-engine/workflow-execute.ts +++ b/packages/core/src/execution-engine/workflow-execute.ts @@ -462,10 +462,15 @@ export class WorkflowExecute { let metaRunData: ITaskMetadata; for (const nodeName of Object.keys(metadata)) { for ([index, metaRunData] of metadata[nodeName].entries()) { - runData[nodeName][index].metadata = { - ...(runData[nodeName][index].metadata ?? {}), - ...metaRunData, - }; + const taskData = runData[nodeName]?.[index]; + if (taskData) { + taskData.metadata = { ...taskData.metadata, ...metaRunData }; + } else { + Container.get(ErrorReporter).error( + new UnexpectedError('Taskdata missing at the end of an execution'), + { extra: { nodeName, index } }, + ); + } } } }