-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[BUG]: increase max payload size of log service (Go) #4534
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
Reviewer ChecklistPlease leverage this checklist to ensure your code review is thorough before approving Testing, Bugs, Errors, Logs, Documentation
System Compatibility
Quality
|
This PR fixes a bug where the log service was still limited to 4MB payload size, despite the Rust log client being updated to handle larger payloads. The change uses the shared gRPC utility with proper payload size configuration. This summary was automatically generated by @propel-code-bot |
@@ -158,7 +158,7 @@ func NewWithGrpcProvider(config Config, provider grpcutils.GrpcProvider) (*Serve | |||
s.softDeleteCleaner.Start() | |||
|
|||
log.Info("Starting GRPC server") | |||
s.grpcServer, err = provider.StartGrpcServer("coordinator", config.GrpcConfig, func(registrar grpc.ServiceRegistrar) { | |||
s.grpcServer, err = provider.StartGrpcServer("sysdb-service", config.GrpcConfig, func(registrar grpc.ServiceRegistrar) { |
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.
why this change? does anything downstream for telemetry use it are we sure nothing depends on it?
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.
the coordinator
value was not previously used because sysdb-service
was hard coded in the common helper
var listener net.Listener | ||
listener, err = net.Listen("tcp", ":"+config.PORT) | ||
|
||
_, err = grpcutils.Default.StartGrpcServer("log-service", &grpcutils.GrpcConfig{ |
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.
This line loses sharedOtel?
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.
inside of the grpcutils
package, it's using the shared otel package (, so I think this should be equivalent, but I might be missing something.
## Description of changes This restores the core functionality we were hoping to add in #4534 which is increasing the gRPC payload size. Instead of using the methods from the `grpcutils` package, this just sets the option in the existing setup so that we hopefully don't break whatever voodoo is keeping metrics collection working. - Improvements & Bug fixes - See #4534 - New functionality - See #4534 ## Test plan I ran `make test` locally, the build succeeds, but our local tests are broken for some reason. Relying on CI so that I don't have to debug yet another orthogonal issue.
The max gRPC payload/response sizes were updated for the Rust log client, but were never updated for the log service. So the `PushLogs` method was still failing when the request was > 4MB. _How are these changes tested?_ - [x] Tests pass locally with `pytest` for python, `yarn test` for js, `cargo test` for rust _Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the [docs section](https://github.com/chroma-core/chroma/tree/main/docs/docs.trychroma.com)?_ n/a checkpoint after adding default checkpoint test passing
Description of changes
The max gRPC payload/response sizes were updated for the Rust log client, but were never updated for the log service. So the
PushLogs
method was still failing when the request was > 4MB.Test plan
How are these changes tested?
pytest
for python,yarn test
for js,cargo test
for rustDocumentation Changes
Are all docstrings for user-facing APIs updated if required? Do we need to make documentation changes in the docs section?
n/a