[FeatureRequest] Support ZSTD encoding for HTTP remote cache server #23463
Labels
help wanted
Someone outside the Bazel team could own this
P3
We're not considering working on this, but happy to review a PR. (No assignee)
team-Remote-Exec
Issues and PRs for the Execution (Remote) team
type: feature request
Description of the feature request:
The common remote-cache server software
bazel-remote
supports ZSTD encoding on both HTTP and GRPC protocols, and it can even store ZSTD-compressed casblobs and then serve them directly to HTTP clients.So
bazel
may also support theAccept-Encoding: zstd
HTTP requests (besidesgzip
), just like what #14041 has added into GPRC requests.Which category does this issue belong to?
Remote Execution
What underlying problem are you trying to solve with this feature?
To make HTTP traffic much smaller and also faster.
If a remote-cache server is
bazel-remote
,Accept-Encoding: zstd
will also save the server's CPU and power.Which operating system are you running Bazel on?
Ubuntu 20.04 LTS (in docker)
What is the output of
bazel info release
?release 6.5.0; while
master
on 2024-08-29 still lacks such featureIf
bazel info release
returnsdevelopment version
or(@non-git)
, tell us how you built Bazel.N/A
What's the output of
git remote get-url origin; git rev-parse HEAD
?Have you found anything relevant by searching the web?
#13344
#14041
Any other information, logs, or outputs that you want to share?
src/main/java/com/google/devtools/build/lib/remote/GrpcCacheClient.java
has ZSTD-decompression support;while
src/main/java/com/google/devtools/build/lib/remote/http/HttpCacheClient.java
usesio.netty.handler.codec.http.HttpContentDecompressor
, which only recognizesgzip
anddeflate
as said in https://netty.io/4.0/api/io/netty/handler/codec/http/HttpContentDecompressor.html.The text was updated successfully, but these errors were encountered: