Skip to content

Fix/ssm deferrable exit code handling#60978

Merged
o-nikolas merged 5 commits intoapache:mainfrom
ksharlandjiev:fix/ssm-deferrable-exit-code-handling
Jan 27, 2026
Merged

Fix/ssm deferrable exit code handling#60978
o-nikolas merged 5 commits intoapache:mainfrom
ksharlandjiev:fix/ssm-deferrable-exit-code-handling

Conversation

@ksharlandjiev
Copy link
Copy Markdown
Contributor

Problem

When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.

This caused:

  • Trigger failures without sending events to the operator
  • Inability to capture exit codes for workflow routing
  • Task retry failures with the same error
  • Inconsistent behavior between deferrable and synchronous modes

This fix changes the trigger to yield failure events instead of raising exceptions for command-level failures (non-zero exit codes), while still raising exceptions for AWS-level failures (Cancelled, TimedOut, Cancelling).

Changes

  • Modified SsmRunCommandTrigger.run() to yield failure events with detailed information (exit code, status, instance ID, message)
  • Enhanced SsmRunCommandOperator.execute_complete() to handle failure events and raise RuntimeError with all details
  • Fixed status_queries from ["status"] to ["Status"] to properly display command status in logs

The fix enables proper exit code capture in deferrable mode, allowing for workflow routing based on command exit codes while maintaining the fail_on_nonzero_exit parameter behavior.

@boring-cyborg boring-cyborg Bot added area:providers provider:amazon AWS/Amazon - related issues labels Jan 23, 2026
Copy link
Copy Markdown
Contributor

@o-nikolas o-nikolas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, just one nit

Comment thread providers/amazon/src/airflow/providers/amazon/aws/operators/ssm.py Outdated
@o-nikolas o-nikolas merged commit 3ddf052 into apache:main Jan 27, 2026
89 checks passed
shreyas-dev pushed a commit to shreyas-dev/airflow that referenced this pull request Jan 29, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
shashbha14 pushed a commit to shashbha14/airflow that referenced this pull request Feb 2, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
jason810496 pushed a commit to abhijeets25012-tech/airflow that referenced this pull request Feb 3, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
When SsmRunCommandOperator runs in deferrable mode and a command exits with a non-zero code, the trigger was raising an exception instead of yielding a TriggerEvent.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providers provider:amazon AWS/Amazon - related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants