-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Make nodepool concurrent ops scale better #12488
Conversation
This prevents Terraform from making massive number of requests at the same time.
Hello! I am a robot. Tests will require approval from a repository maintainer to run. @ScottSuarez, a repository maintainer, has been assigned to review your changes. If you have not received review feedback within 2 business days, please leave a comment on this PR asking them to take a look. You can help make sure that review is quick by doing a self-review and by running impacted tests locally. |
Hi there, I'm the Modular magician. I've detected the following information about your changes: Diff reportYour PR generated some diffs in downstreams - here they are.
|
Tests analyticsTotal tests: 219 Click here to see the affected service packages
🟢 All tests passed! View the build log |
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.
We should look to upstream this locking behavior to retryWhileIncompatibleOperation
.
This resource already has custom locking behavior on these calls. If we want to customize that behavior we should customize that function. That would mean passing that operation back and doing the wait within that function rather then introducing a secondary locking mechanism. Otherwise this will be difficult to interpret and new additions will also need to remember to implement this same behavior you have here.
Hi there, I'm the Modular magician. I've detected the following information about your changes: Diff reportYour PR generated some diffs in downstreams - here they are.
|
Tests analyticsTotal tests: 219 Click here to see the affected service packages
🟢 All tests passed! View the build log |
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 think it would be a good idea to sync over a gvc and talk about this a bit!
mmv1/third_party/terraform/services/container/resource_container_node_pool.go.tmpl
Outdated
Show resolved
Hide resolved
mmv1/third_party/terraform/services/container/resource_container_node_pool.go.tmpl
Outdated
Show resolved
Hide resolved
mmv1/third_party/terraform/services/container/resource_container_node_pool.go.tmpl
Outdated
Show resolved
Hide resolved
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.
Looks good overall, thanks for making the change. I'd ask to uplevel the comments in the code that refer to which functions take which locks. That part is more or less evident from the code itself - but it's not clear to an external viewer why that is done. You explain that in a later comment, but I would not expect the reader to be able to find it without guidance.
mmv1/third_party/terraform/services/container/node_config.go.tmpl
Outdated
Show resolved
Hide resolved
Co-authored-by: Scott Suarez <[email protected]>
Hi there, I'm the Modular magician. I've detected the following information about your changes: Diff reportYour PR generated some diffs in downstreams - here they are.
|
Thanks for your patience here :) |
Thank you Scott and Alex for the review! |
The purpose of this change is to stagger operation creations, but still keeps operations concurrent, so that operations are not bottlenecked on creation and fail.
To achieve the above,
Release Note Template for Downstream PRs (will be copied)
See Write release notes for guidance.