Files
twenty/packages
Sonarly Claude Code 111acc328e Fix Lambda invocation race condition by checking function state before invoke
https://sonarly.com/issue/26728?type=bug

Workflow code steps fail when a Lambda function exists but is still in Pending state, because the build-status check only verifies existence and layer configuration without checking the function's readiness state.

Fix: Prevent Lambda invocation while function is in Pending state

checkLambdaExecutorBuildStatus() returned canSkip=true for Lambda functions in Pending state
      because it only checked existence and layer configuration, not Configuration.State.
      When canSkip=true, buildLambdaExecutor() skips the lock entirely and never calls
      waitFunctionActive(), so execute() invokes a Pending function → 409 ResourceConflictException.
      This race is triggered when concurrent workflow steps (Promise.all in executeFromSteps)
      hit the same Lambda while it's being created or updated by another invocation.

checkLambdaExecutorBuildStatus() — line 987

Added lambdaExecutor.Configuration?.State === 'Active' to the canSkip condition.
        This ensures the build is only skipped when the Lambda function is fully Active.
        If the function exists but is Pending/Inactive/Failed, canSkip will be false,
        forcing the caller into the locked ensureLambdaExecutor() path which calls
        waitFunctionActive() or waitFunctionUpdated().
2026-04-15 18:21:26 +00:00
..
2026-04-13 15:13:11 +02:00