jingi723 opened a new pull request, #73881:
URL: https://github.com/apache/airflow/pull/73881

   `StepFunctionGetExecutionOutputOperator` raises `JSONDecodeError` when 
`DescribeExecution` returns an ordinary error such as `States.TaskFailed`. AWS 
documents [`error` as a 
string](https://docs.aws.amazon.com/step-functions/latest/apireference/API_DescribeExecution.html#API_DescribeExecution_ResponseSyntax),
 whereas `output` contains JSON data.
   
   Return non-JSON errors unchanged, including empty strings. Preserve 
JSON-decoded error return values for compatibility and keep invalid success 
output and service exceptions visible. Document that fetching an error may 
complete the Airflow task successfully; checking remote execution success 
remains the responsibility of `StepFunctionExecutionSensor`. The documentation 
also explains the constraints on string results with `multiple_outputs` and 
dynamic task mapping.
   
   Validation on Python 3.10 in the official Linux/amd64 Breeze CI image:
   
   - Regression tests against the unchanged operator: 4 failed, 5 passed. With 
the fix, the related Step Functions operator, hook, sensor and trigger suite: 
38 passed.
   - Regression tests use a real boto3 client and hook with botocore `Stubber`; 
a separate local synthetic HTTP-response experiment also exercised the botocore 
response parser. Neither contacts AWS.
   - Regular and manual prek checks passed, including provider mypy; 
commit-message checks and `git diff --check` passed.
   - Selective-check completed. The wider dependent-provider, Airflow-version, 
documentation-build and system-test matrices were not run locally. Actual AWS 
executions and full task-runner/XCom integration were not tested.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — OpenAI Codex (GPT-6)
   
   Generated-by: OpenAI Codex (GPT-6) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to