Repository navigation
fix(tests): cross the large-array threshold with 64 wide rows instead of 120k - #8939
Merged
Merged
Conversation
… of 120k The durable-manifest test built 120,000 small rows (~16 MB). Compaction walks every element (a promise, Object.entries and JSON.stringify per row and per field), so the test ran 575-1522 ms on healthy CI runners and 10.6 s on a contended one, timing out. 64 rows whose payloads sum to LARGE_VALUE_THRESHOLD_BYTES cross the same threshold with the same assertions; the 9 MB string tests beside it run in ~50 ms.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
There was a problem hiding this comment.
No issues found across 1 file
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’ve reached your flex budget. Increase your flex budget or wait for usage to reset.
Turn on auto-fix | Re-trigger cubic
Contributor
|
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
execute-request.test.ts > compacts large array result fields to manifests when execution context is durabletimed out at 10s in CI (run 38300495470,checks / test (1/2)).It built 120,000 small rows (~16 MB). Compaction does a promise plus several
JSON.stringifycalls for every row, so its cost grows with the number of rows, not their total size. On healthy runners the test took 575–1,522 ms (median 743 ms) and was always the slowest test in the file. On a contended runner it took 10.6s.The test now returns 64 rows whose payloads add up to
LARGE_VALUE_THRESHOLD_BYTES. The array is just over the threshold and each row is well under it, so it exercises the same path: an array over the threshold in a durable context becomes a manifest. The assertions are unchanged except thattotalCountnow equalsrowCount. Across the last 100ciruns this was the only failure of the test. No timeout was raised.Test plan
testshards: the case passes, in well under the old ~0.7s median