Skip to content

Preserve oversized v9 reports and retry immutable fragments - #16

Merged
quolu merged 1 commit into
mainfrom
fix/reporter-413-preserve
Oct 27, 2026
Merged

quolu merged 1 commit into
mainfrom
fix/reporter-413-preserve

Conversation

@quolu

@quolu quolu commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

When BugHub returned HTTP 413, the v9 reporter moved the full report to dead-letter and stopped retrying it. Keep the original bytes and ACK bundle pending, and use the receiver’s fragment endpoint only after an explicit split-supported response.

Persist fixed fragment IDs and byte boundaries before sending. Retry the same manifest after partial failures or lost responses, and acknowledge runtime records only after a matching report ID and full SHA-256 completion. Keep v5–v8 and controlled one-observation behavior unchanged. The v9 queue admits a 128 MiB report plus its base64 ACK envelope and keeps unaccepted reports retryable.

Validation: focused v9 fragment/ACK/retry tests, v5/v8 contracts, cancelled one-observation guard, JavaScript syntax, current-document checks and diff checks passed locally. Normal three-OS CI remains required. Receiver deployment readiness and normal host rollout/receipts are separate pending steps.

Historical 03:17 reports were no longer present in the affected hosts’ retained state; their sizes and per-product growth remain unknown.

@quolu
quolu merged commit 4a1d1a7 into main Oct 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant