Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ For production, TAG ships manifests, Compose files, and guides under [`deploy/`]
2. **Cache Hit**: Returns cached object with `X-Cache: HIT` header
3. **Cache Miss**: Forwards request to upstream Tigris, caches response, returns with `X-Cache: MISS`

For directly streamed upstream responses, TAG aborts the downstream response if copying the body fails. It does not complete a truncated prefix as a successful response. Clients may see a transport or body-read error.

For streamed PUT and DELETE operations, an upstream 2xx still triggers cache invalidation or a tiered marker when caching is enabled. A delivery error alone does not prove the mutation failed.

### Request Coalescing

When multiple concurrent requests arrive for the same uncached object:
Expand Down
8 changes: 8 additions & 0 deletions docs/s3-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,14 @@ All bucket operations support both `/{bucket}` and `/{bucket}/` path forms for c
| AbortMultipartUpload | DELETE | `/{bucket}/{key}?uploadId=` | |
| ListParts | GET | `/{bucket}/{key}?uploadId=` | |

## Response Delivery

The direct-streaming path forwards the upstream status and headers before streaming the body. If copying a response body fails after headers are sent, TAG aborts the downstream response instead of completing its framing around the received prefix. Clients may see a transport error or body-read error. TAG does not append S3 error XML after commitment.

For directly streamed PUT and DELETE operations, an upstream 2xx still triggers cache invalidation or a tiered marker when caching is enabled, even if response delivery fails. A delivery error alone does not establish that the mutation failed.

This describes the direct-streaming path. Operations that capture an upstream body for XML processing use a separate response path.

## AWS Chunked Transfer Encoding

TAG supports AWS chunked transfer encoding (streaming SigV4), used by tools like [warp](https://github.com/minio/warp) and many AWS SDKs for large uploads.
Expand Down
Loading
Loading