Expected Behavior
The published example examples/src/parallel/parallel_first_successful.py accesses results.successful_results on
the return value of context.parallel(...). That attribute does not exist on BatchResult anywhere in src/.
Running the example raises AttributeError: 'BatchResult' object has no attribute 'successful_results'.
The three parallel branches all complete successfully; the failure is purely in the example's post-processing
of the result object.
The example returns "First successful result: Task 1" (or whichever branch completes first) without an
exception.
Actual Behavior
The durable execution fails with:
ErrorType: AttributeError
ErrorMessage: 'BatchResult' object has no attribute 'successful_results'
The execution history shows all three parallel branches reaching StepSucceeded and ContextSucceeded for the
parallel context before the handler crashes.
Steps to Reproduce
- git clone https://github.com/aws/aws-durable-execution-sdk-python.git
- cd aws-durable-execution-sdk-python
- grep -n "successful_results" examples/src/parallel/parallel_first_successful.py → matches line 23
- grep -rn "successful_results" src/ → no matches
- Deploy examples/src/parallel/parallel_first_successful.py as a durable Lambda (or run via the in-repo local
test runner) and invoke it.
SDK Version
1.5.0
Python Version
3.12
Is this a regression?
No
Last Working Version
No response
Additional Context
examples/src/parallel/parallel_first_successful.py:23:
first_result = (
results.successful_results[0] if results.successful_results else "None"
)
BatchResult class: src/aws_durable_execution_sdk_python/concurrency/models.py:88. Members defined on the
class:
succeeded, failed, started, status, has_failure, throw_if_error, get_results, get_errors, success_count,
failure_count, started_count, total_count, from_dict, from_items, to_dict.
No successful_results.
BatchResult Protocol: src/aws_durable_execution_sdk_python/types.py:83. Only declares get_results(). No
successful_results.
Expected Behavior
The published example examples/src/parallel/parallel_first_successful.py accesses results.successful_results on
the return value of context.parallel(...). That attribute does not exist on BatchResult anywhere in src/.
Running the example raises AttributeError: 'BatchResult' object has no attribute 'successful_results'.
The three parallel branches all complete successfully; the failure is purely in the example's post-processing
of the result object.
The example returns "First successful result: Task 1" (or whichever branch completes first) without an
exception.
Actual Behavior
The durable execution fails with:
ErrorType: AttributeError
ErrorMessage: 'BatchResult' object has no attribute 'successful_results'
The execution history shows all three parallel branches reaching StepSucceeded and ContextSucceeded for the
parallel context before the handler crashes.
Steps to Reproduce
test runner) and invoke it.
SDK Version
1.5.0
Python Version
3.12
Is this a regression?
No
Last Working Version
No response
Additional Context
examples/src/parallel/parallel_first_successful.py:23:
first_result = (
results.successful_results[0] if results.successful_results else "None"
)
BatchResult class: src/aws_durable_execution_sdk_python/concurrency/models.py:88. Members defined on the
class:
succeeded, failed, started, status, has_failure, throw_if_error, get_results, get_errors, success_count,
failure_count, started_count, total_count, from_dict, from_items, to_dict.
No successful_results.
BatchResult Protocol: src/aws_durable_execution_sdk_python/types.py:83. Only declares get_results(). No
successful_results.