-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SFN] Execution of Reentrant Distributed Map States #10763
Conversation
4077e54
to
6c3bb2d
Compare
LocalStack Community integration with Pro 2 files ±0 2 suites ±0 1h 37m 29s ⏱️ +18s Results for commit 9f9c75d. ± Comparison against base commit 3c06fd4b. This pull request removes 5 and adds 11 tests. Note that renamed tests count towards both.
This pull request skips 1 test.
♻️ This comment has been updated with latest results. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
I added a small suggestion for a comment to clarify the intent of the test scenarios.
...stepfunctions/templates/scenarios/statemachines/map_state_config_distributed_reentrant.json5
Outdated
Show resolved
Hide resolved
...ctions/templates/scenarios/statemachines/map_state_config_distributed_reentrant_lambda.json5
Show resolved
Hide resolved
# Replace MapRunArns with fixed values to circumvent random ordering issues. | ||
sfn_snapshot.add_transformer( | ||
JsonpathTransformer( | ||
jsonpath="$..mapRunArn", replacement="map_run_arn", replace_reference=False |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you manually check (e.g., using SNAPSHOT_RAW=1
) that we return the correct ARN in the right format here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can confirm we do produce the correct ARN format, and we do have tests that validate this aspect of MapRuns. However, here I decided to skip this check to avoid crowding the test state with ordering reordering logic. We can however still validate that for each map input the correct output (and events) are computed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reasonable. No need to double-check if we have other tests covering this part 💯
Motivation
Currently the StepFunctions v2 interpreter is unable to execute reentrant distributed map states. This is due to a lack of end of evaluation cleanups, which means the workers activate logic does not start any new workers. This PR addresses such issue and adds relevant snapshot tests. Addresses: #10662
Changes