Dashboard › sentry › Chunk upload endpoint compression flow
019db723-59d7-7ee2-81b6-e760f0bf5a4f| Project | Hits | Last recalled |
|---|---|---|
| opencode-lore | 1 | 13h ago |
Chunk upload endpoint (src/sentry/api/endpoints/chunk.py) compression & protocol: Compression is transport-only; blob storage operates on decompressed bytes. get_files() dispatches by field name (file=plain, file_gzip=gzip) OR Content-Encoding header (zstd/gzip, PR #113760). GET advertises compression: ["gzip","zstd"] unless org in chunk-upload.no-compression allowlist. No protocol version — clients feature-detect via compression list. Limits: MAX_CHUNKS_PER_REQUEST=64, MAX_REQUEST_SIZE=32MiB, chunk ≤ SENTRY_CHUNK_UPLOAD_BLOB_SIZE (8MiB). ZstdDecompressor().stream_reader() MUST pass read_across_frames=True. Streaming capped via _read_bounded → ChunkTooLarge → 400. Catch gzip.BadGzipFile, EOFError, zstandard.ZstdError → 400. Reject Content-Encoding + file_gzip combo → 400.