-
Notifications
You must be signed in to change notification settings - Fork 361
fix(lambda-runtime,lambda-integration-tests): make spawn_graceful_shutdown_handler() async, await the extension being registered before spawning background extension handler task #992
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
Conversation
…tdown_handler() async, await the extension being registered before spawning background extension handler task
Looking into the CI failures, there are two things going wrong:
You seem to have fixed this already in a separate PR, so i'll leave it be to avoid merge conflicts:
This one is awkward. They seem to be coming from dev dependencies and integration tests only per cargo tree. I think it was due to this change on Going to try pinning back to an earlier minor version. |
…o test dependencies
I think my commit above will address the issue, I don't have perms to run the ci/cd but my cargo tree no longer shows the breaking versions. Some samples:
|
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
@jlizen can you check the lint error? |
@bnusunny I saw the lint error, it is unrelated to my code paths. I'm glad to address it but given the number of interconnected and failing ci, maybe we could first merge the various other ci fixes to avoid muddying the water? There is one here and also one on the release branch that could be pulled out? If we did that, I can cut a separate pr to get ci green prior to the release pr. |
Yeah, make sense |
📬 Issue #, if available:
n/a
✍️ Description of changes:
Fix a race condition in
spawn_graceful_shutdown_handler()
. Previously function spawned a background task that handled both registration of the non-op extension and driving the extension/signal handling. This might take longer to finish registration than the primary function handler running, which would cause a crash.Instead, we now model
spawn_graceful_shutdown_handler
as async and await the non-op registration completing. Updating the integration test as well.This would normally be a semver breaking change, but we have not yet cut a release with this functionality, so it is safe.
🔏 By submitting this pull request
cargo +nightly fmt
.cargo clippy --fix
.