cockroachdb / cockroachdb/cockroach
drpc: gRPC and DRPC servers share a single server option
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
`serverOpts` in `pkg/rpc/settings.go` is applied to both `NewServerEx` (gRPC) and `NewDRPCServer`.
https://github.com/cockroachdb/cockroach/blob/cb0be5ffdd1589843614ae5a84114c3d8e726cd2/pkg/rpc/settings.go#L124-L130
https://github.com/cockroachdb/cockroach/blob/cb0be5ffdd1589843614ae5a84114c3d8e726cd2/pkg/rpc/context.go#L87-L97
https://github.com/cockroachdb/cockroach/blob/cb0be5ffdd1589843614ae5a84114c3d8e726cd2/pkg/rpc/drpc.go#L200-L207
But both of them should have separate options like `gRPCServerOptions` and `DRPCServerOptions`, which would provide a clean way to configure DRPC-specific options in future.
Jira issue: CRDB-54828
Contributor guide
Research direction
Start in pkg/rpc/settings.go, then trace the server option use in pkg/rpc/context.go and pkg/rpc/drpc.go. Compare NewServerEx and NewDRPCServer and verify that each server can be configured independently; the issue is done when separate options are available for gRPC and DRPC.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100