cockroachdb / cockroachdb/cockroach

drpc: gRPC and DRPC servers share a single server option

Open
#154,239 0 comments 0 reactions 0 assignees View on GitHub
C-cleanup T-db-server
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.