-
Notifications
You must be signed in to change notification settings - Fork 41
🚀 Speculative agent autoscaling #664
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
arybolovlev
left a comment
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.
All in all, looks good, thank you! 👍🏻 I’ve left a few cosmetic, logging-related comments.
🪵 Since this change introduces a new way of calculating pending runs, it needs to be clearly documented in the changelog. This entry is currently missing. The PR description can provide additional context, so anyone who wants to understand the change in more detail can refer to it.
Mock tests are something we have missed. However, there are a few issues with them (I might be missing something, so please correct me):
-
There is no new make target for running them separately.
-
They currently run together with the E2E tests and fail.
-
As mentioned above, the
mockspackage fromgo-tfeis imported, and a new folder/file has been added, but it is not used.
We can either postpone these as part of a larger testing effort or fix them properly now.
I fixed the failure in the test. It strangely worked well when I created the test first. |
6f55a6a to
d6ec5a2
Compare
7052215 to
517cbcf
Compare
Rollback Plan
If a change needs to be reverted, we will publish an updated version of the library.
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.
Description
Adding support for scaling agents when plan-only runs are queued. This will run them parallelly and improve performance for workspaces with large speculative runs queued for each pull request.
Currently, the new algorithm that calculates the agents required for executing pending runs, counts one agent per workspace. This does not scale for speculative runs where we don't need runs to wait in a queue and run them on agents parallelly instead. This change will increment the required agents count when there is run of type "plan-only" which will resolve the issue.
Usage Example
References
Community Note