prysmaticlabs / prysm

Go implementation of Ethereum proof of stake
https://www.offchainlabs.com
GNU General Public License v3.0
3.47k stars 1.01k forks source link

server ignores request to gzip data #14593

Open tmeinlschmidt opened 3 weeks ago

tmeinlschmidt commented 3 weeks ago

Describe the bug

version: beacon-chain:v5.0.4

was checking tcpdump as we had some issues and found following

(GET /eth/v1/beacon/blob_sidecars/10252744?indices=0&indices=1&indices=2&indices=3&indices=4 HTTP/1.1
Host: beacon:7028
User-Agent: Go-http-client/1.1
Accept: application/json
Accept-Encoding: gzip

response

Content-Type: application/json
Vary: Origin
Vary: Origin
Date: Tue, 29 Oct 2024 17:06:42 GMT
Transfer-Encoding: chunked

142720
{"data":[{"index":"0","blob":"0x3e0001fbfc...

so it ignored Accept-Encoding header and sending only plain json. Would be great if beacon can handle this correctly.

Has this worked before in a previous version?

No response

🔬 Minimal Reproduction

No response

Error

No response

Platform(s)

Linux (x86)

What version of Prysm are you running? (Which release)

5.0.4

Anything else relevant (validator index / public key)?

No response

james-prysm commented 3 weeks ago

I don't believe this is a required feature of https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getBlobSidecars. Do other clients support this encoding?

tmeinlschmidt commented 3 weeks ago

rpcdaemon (as server) and erigon (as client) works just fine and compress data.

request to beacon came from base/ptimism chain

and to be honest, didn't check other endpoints from beacon, assuming it's a general issue when returning data via http

prestonvanloon commented 3 weeks ago

Seems like a reasonable request to have the beacon chain return gzip encoded payloads when requested for the beacon API.