-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Add --remote_max_concurrency_per_connection
#27466
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
RELNOTES: The new `--remote_max_concurrency_per_connection` can be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior.
|
@bazel-io flag 8.5.0 |
tjgq
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.
Since the discussion in #25232 doesn't clarify why this helps, can you summarize your findings in this PR's description, so we can preserve an understanding of why we added this flag?
Good point, done! Let me know if you would prefer more details. |
|
@bazel-io fork 9.0.0 |
The stack traces obtained bazelbuild#25232 (comment) indicate that all gRPC threads are waiting on events when the hang reported in bazelbuild#25232 occurs, with no other threads being active except for the virtual threads blocked on upload futures. This situation is reminiscent of grpc/grpc-java#8334 (comment) and further experimentation showed that reducing the maximum number of concurrent requests per gRPC connection down to 20 (from 100) resolved the hangs. Reducing the number to 50 made them less likely. Since it is not clear that there is a single number that avoids hangs for all backends while not sacrificing performance with some, this change makes the limit configurable for further experimentation. RELNOTES: The new `--remote_max_concurrency_per_connection` can be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior. Work towards bazelbuild#25232 Closes bazelbuild#27466. PiperOrigin-RevId: 828555281 Change-Id: I901cfb13be7f4f0a4ef1d406845d96e88cecd02f
The stack traces obtained #25232 (comment) indicate that all gRPC threads are waiting on events when the hang reported in #25232 occurs, with no other threads being active except for the virtual threads blocked on upload futures. This situation is reminiscent of grpc/grpc-java#8334 (comment) and further experimentation showed that reducing the maximum number of concurrent requests per gRPC connection down to 20 (from 100) resolved the hangs. Reducing the number to 50 made them less likely. Since it is not clear that there is a single number that avoids hangs for all backends while not sacrificing performance with some, this change makes the limit configurable for further experimentation. RELNOTES: The new `--remote_max_concurrency_per_connection` can be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior. Work towards #25232 Closes #27466. PiperOrigin-RevId: 828555281 Change-Id: I901cfb13be7f4f0a4ef1d406845d96e88cecd02f Commit 51a3f0e Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
|
@bazel-io fork 8.5.0 |
The stack traces obtained bazelbuild#25232 (comment) indicate that all gRPC threads are waiting on events when the hang reported in bazelbuild#25232 occurs, with no other threads being active except for the virtual threads blocked on upload futures. This situation is reminiscent of grpc/grpc-java#8334 (comment) and further experimentation showed that reducing the maximum number of concurrent requests per gRPC connection down to 20 (from 100) resolved the hangs. Reducing the number to 50 made them less likely. Since it is not clear that there is a single number that avoids hangs for all backends while not sacrificing performance with some, this change makes the limit configurable for further experimentation. RELNOTES: The new `--remote_max_concurrency_per_connection` can be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior. Work towards bazelbuild#25232 Closes bazelbuild#27466. PiperOrigin-RevId: 828555281 Change-Id: I901cfb13be7f4f0a4ef1d406845d96e88cecd02f
The stack traces obtained #25232 (comment) indicate that all gRPC threads are waiting on events when the hang reported in #25232 occurs, with no other threads being active except for the virtual threads blocked on upload futures. This situation is reminiscent of grpc/grpc-java#8334 (comment) and further experimentation showed that reducing the maximum number of concurrent requests per gRPC connection down to 20 (from 100) resolved the hangs. Reducing the number to 50 made them less likely. Since it is not clear that there is a single number that avoids hangs for all backends while not sacrificing performance with some, this change makes the limit configurable for further experimentation. RELNOTES: The new `--remote_max_concurrency_per_connection` can be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior. Work towards #25232 Closes #27466. PiperOrigin-RevId: 828555281 Change-Id: I901cfb13be7f4f0a4ef1d406845d96e88cecd02f Commit 51a3f0e Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
The stack traces obtained #25232 (comment) indicate that all gRPC threads are waiting on events when the hang reported in #25232 occurs, with no other threads being active except for the virtual threads blocked on upload futures.
This situation is reminiscent of grpc/grpc-java#8334 (comment) and further experimentation showed that reducing the maximum number of concurrent requests per gRPC connection down to 20 (from 100) resolved the hangs. Reducing the number to 50 made them less likely. Since it is not clear that there is a single number that avoids hangs for all backends while not sacrificing performance with some, this change makes the limit configurable for further experimentation.
RELNOTES: The new
--remote_max_concurrency_per_connectioncan be used to specify the maximum number of concurrent gRPC requests Bazel will issue on a single connection to the server. The default value of 100 matches the previous behavior.Work towards #25232