grpc / grpc/grpc-go

encoding: Introduce CompressorV2 API

Open
#9,130 0 comments 0 reactions 0 assignees View on GitHub
Area: RPC Features P2 Type: API Change
Dominant language
Go
Stars
23.1k
Forks
4.8k
Avg merge
2d 1h
Merged PRs (30d)
43

Description

To address #7017, the following symbols are being updated in #9036:
1. [`Compressor` interface](https://github.com/grpc/grpc-go/blob/660208049b96ff6232e8c7212905b3e357b5bf42/encoding/encoding.go#L61)
2. [`RegisterCompressor`](https://github.com/grpc/grpc-go/blob/660208049b96ff6232e8c7212905b3e357b5bf42/encoding/encoding.go#L87)
3. [`GetCompressor`](https://github.com/grpc/grpc-go/blob/660208049b96ff6232e8c7212905b3e357b5bf42/encoding/encoding.go#L95)
4. [`SetSendCompressor`](https://github.com/grpc/grpc-go/blob/660208049b96ff6232e8c7212905b3e357b5bf42/server.go#L2147)

To provide a migration path for users, the changes will be made in the following order:
- [ ] Introduce V2 symbols and deprecate V1 (symbols with no suffix): #9036
- [ ] Wait for 1 release.
- [ ] Update the V1 symbols to match the V2 signatures. Mark the V2 symbols as deprecated.
- [ ] Wait for 1 release.
- [ ] Remove the V2 symbols.

Contributor guide

Open the contributing guide

Research direction

Start by reading encoding/encoding.go and server.go at the linked Compressor, RegisterCompressor, GetCompressor, and SetSendCompressor symbols, then inspect issue #9036 to understand the first migration step. Confirm which V2 symbols and deprecations remain after that work; completion follows the staged migration checklist and release waits described here.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.