diff --git a/packages/cli/src/workflow-runner.ts b/packages/cli/src/workflow-runner.ts index 0f1f37b71d..0413f71bac 100644 --- a/packages/cli/src/workflow-runner.ts +++ b/packages/cli/src/workflow-runner.ts @@ -15,6 +15,7 @@ import type { IWorkflowExecutionDataProcess, } from 'n8n-workflow'; import { + ApplicationError, ErrorReporterProxy as ErrorReporter, ExecutionCancelledError, Workflow, @@ -381,6 +382,17 @@ export class WorkflowRunner { let job: Job; let hooks: WorkflowHooks; try { + // check to help diagnose PAY-2100 + if ( + data.executionData?.executionData?.nodeExecutionStack?.length === 0 && + config.getEnv('deployment.type') === 'internal' + ) { + await this.executionRepository.setRunning(executionId); // set `startedAt` so we display it correctly in UI + throw new ApplicationError('Execution to enqueue has empty node execution stack', { + extra: { executionData: data.executionData }, + }); + } + job = await this.scalingService.addJob(jobData, { priority: realtime ? 50 : 100 }); hooks = WorkflowExecuteAdditionalData.getWorkflowHooksWorkerMain(