Skip to content

feat(upload): Table of common error codes - #20072

Merged
jjbayer merged 2 commits into
masterfrom
feat/resumable-upload-errors
Oct 19, 2026
Merged

jjbayer merged 2 commits into
masterfrom
feat/resumable-upload-errors

Conversation

@jjbayer

@jjbayer jjbayer commented Oct 19, 2026

Copy link
Copy Markdown
Member

DESCRIBE YOUR PR

Adds a table of errors codes to the upload guide. Common errors (like auth) or unexpected errors (like 500) are omitted.

Closes INGEST-1303

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.
Select exactly one option. For deadlines, replace YYYY-MM-DD with the due date. You can update this information later by editing the PR description.

  • Urgent deadline (GA date, etc.): YYYY-MM-DD
  • Other deadline: YYYY-MM-DD
  • No deadline: Not urgent, can wait up to 1 week+

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

@linear-code

linear-code Bot commented Oct 19, 2026

Copy link
Copy Markdown

INGEST-1303

@vercel

vercel Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
develop-docs Ready Ready Preview Oct 19, 2026 10:45am UTC
1 Skipped Deployment
Project Deployment Actions Updated
sentry-docs Ignored Ignored Preview Oct 19, 2026 10:45am UTC

Request Review

@github-actions github-actions Bot added the sdk-develop-docs PRs touching develop-docs/sdk label Oct 19, 2026
@jjbayer
jjbayer requested review from a team and tobias-wilfert October 19, 2026 08:14
@github-actions github-actions Bot added the Priority: Normal Docs review has no urgent deadline label Oct 19, 2026
@cursor

cursor Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

The plan checks client errors, MDX runtime 404 logs, and not-found counts for the upload guide. An issue escalates when those 404 logs appear or client errors rise. The plan also checks SDK page load volume.

Rollout complete

Services: develop-docs.

Plan

What changed

The resumable upload guide now shows a table of common upload error status codes and fixes. The compression section now says byte sizes apply before any form of Content-Encoding. The table omits auth failures and unexpected 500 responses. develop-docs must deploy before this page is live.

Risk

Invalid MDX can 404 the upload guide when runtime compile runs. A render fault can raise client errors on SDK documentation pages. Wrong error text can send SDK authors to a bad fix. Telemetry cannot see that text.

Intended effect

This change only adds and rewords documentation. No metric shows that the new table or the compression sentence is present. absent and confirmed look the same in telemetry. Do not treat a quiet error rate as success.

Regression watch

A bad table can 404 this page or raise client errors on SDK pages. The upload guide itself had zero page loads in the baseline window. Use the SDK slice and site-wide errors instead.

Signal Baseline Window Source Rule
Client error events vs docs.page.load 2.4% pooled. 24 error events. 983 page loads. Hourly error counts 0-8 2026-10-18T08:14:48Z/2026-10-19T08:14:48Z Sentry sentry/develop-docs errors count() and metric docs.page.load Hold the 24h pooled share in 0-7%. Hold hourly error counts in 0-8
Logs MDX file not found at runtime, returning 404 0 events 2026-10-18T08:14:48Z/2026-10-19T08:14:48Z Sentry sentry/develop-docs logs message:"*MDX file not found at runtime returning 404*" Hold at 0
docs.page.not_found requested_path:sdk/telemetry 0. Site-wide not-found was 1 on self-hosted/backup only 2026-10-18T08:14:48Z/2026-10-19T08:14:48Z Sentry sentry/develop-docs metric docs.page.not_found query requested_path:"sdk/telemetry" Hold at 0
docs.page.load page_type:sdk 143 in 24h. Hourly 0-32 2026-10-18T08:14:48Z/2026-10-19T08:14:48Z Sentry sentry/develop-docs metric docs.page.load query page_type:sdk Hold hourly values in 0-32. A 24h total far below 143 during like hours may mean SDK pages fail to render

If error events rise, inspect new titles for MDX or table render faults. Hours with fewer than 15 page loads can push the error share above 7% without a real fault.

Not observable

Exact-path docs.page.load for /sdk/telemetry/attachments/upload/ was 0. Volume on that URL cannot confirm a regression. Pageload duration for that URL also had zero samples. Table wording accuracy has no telemetry.


| Status | Error Text | Solution |
| ----------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| 400 Bad Request | `Missing X-Decoded-Content-Length header` | Specify the size of the request body before applying `Content-Length`. |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does "before applying Content-Length" mean?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the wording is a bit clumsy but what would be needed is to, add the X-Decoded-Content-Length header with the size before any content encodings are done.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrased.

@tobias-wilfert tobias-wilfert left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice

| 400 Bad Request | `Missing X-Decoded-Content-Length header` | Specify the size of the request body before applying `Content-Length`. |
| 400 Bad Request | `non-final chunk {chunk_length} is smaller than upload granularity {upload_granularity}` | Use chunks of at least `Upload-Min-Chunk-Size` bytes, in multiples of `Upload-Chunk-Granularity`, except for the final chunk. |
| 409 Conflict | `upload offset mismatch (server holds {offset} bytes)` | Make a `HEAD` request to obtain the server's current state. |
| 413 Payload Too Large | `Chunk of {chunk_length} bytes exceeds the remaining {remaining} bytes` | The initial `Upload-Length` was wrong. |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: The The initial Upload-Length was wrong. under solution reads funky.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrased.

@jjbayer
jjbayer merged commit 39005e3 into master Oct 19, 2026
25 checks passed
@jjbayer
jjbayer deleted the feat/resumable-upload-errors branch October 19, 2026 11:02
@cursor

cursor Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Verified in production

  • The live upload guide includes the new error table and compression wording.

This branch was successfully deployed

1 active deployment
Preview – develop-docs — 6e510002 Deployed Oct 19, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: Normal Docs review has no urgent deadline sdk-develop-docs PRs touching develop-docs/sdk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants