-
Notifications
You must be signed in to change notification settings - Fork 275
feature: Compression for memfile/rootfs assets #2034
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
levb
wants to merge
136
commits into
lev-paths-refactor
Choose a base branch
from
lev-compression-final
base: lev-paths-refactor
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 62 commits
Commits
Show all changes
136 commits
Select commit
Hold shift + click to select a range
9b6ec99
initial state merged from compression-v3, pre-discussion with tomas a…
levb ae986e9
feat(compression): NFS cache streaming, chunker cleanup, benchmark tu…
levb 94cb420
feat(compression): cleanup dead code, simplify upload options, re-ena…
levb 5e89a34
feat(compression): store build file info in V4 header, remove compres…
levb 31f12f3
restored iac
levb fe2360f
restored .github
levb e1d4430
Merge branch 'main' into lev-compression-final
levb cab697f
reduce diff, 1
levb 15a3184
reduce diff, 2
levb 700bc50
reduce diff, 3
levb 75b555c
reduce diff, 4
levb 004d7b4
reduce diff, 5
levb 542abdf
reduce diff, 6 + lint
levb 4ef3742
reduce diff, 7
levb 9cee311
reduce diff, comments
levb 5fe8ab0
reduce diff, comments +1
levb 3910a56
reduce diff, more
levb b9f3e41
more adjustments
levb 741543a
Merge cache write paths, fix FD leak and PartUploader cleanup
levb a71d8ed
lint
levb 1a76650
chore: auto-commit generated changes
github-actions[bot] 221d815
restored 4MB fetches for uncompressed
levb 163fa36
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 68291f3
lint
levb 2d788f3
Switch checksum to hash uncompressed data instead of compressed
levb 1f81688
Per-file-type and per-use-case compression config via LD context
levb 4de232f
Stream compressed bytes to NFS cache during fetch, not after
levb b65050f
Port P2P chunk transfer and integrate with compression (pre-merge)
levb 29c7dc4
Merge branch 'main' into lev-compression-final
levb 6e34846
Merge remote-tracking branch 'e2b' into lev-compression-final
levb c963ebc
Address PR review comments: docs, naming, and comment improvements
levb 7001eb8
Add tests for Cache dirty-bit operations (isCached, setIsCached, dirt…
levb b94f4b9
Replace []atomic.Bool with []atomic.Uint64 bitset in Cache dirty trac…
levb 9fd2c32
chore: auto-commit generated changes
github-actions[bot] 9bec864
restored packages/orchestrator/internal/cfg/model.go
levb 1322274
restored packages/orchestrator/cmd/smoketest/smoke_test.go
levb fe2904e
Simplify fetchSession: pass *Cache directly, single-block API
levb 36730fc
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 6e7b735
renamed precomputed for clarity
levb 51813fd
Precompute OTEL attributes for runFetch RemoteReads timer
levb fec7473
Pass explicit nil for transitionHeaders in peerBlob.Exists, simplify …
levb e443f26
Consolidate storage mocks into single storagemocks package
levb 34b61c0
reduce diff
levb a954ffd
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 0f58787
Rename framedfile.go back to seekable.go, add seekable_test.go
levb 77671d6
moved Size around to reduce the diff
levb 43f6de9
Rename ReadAtBuildSeekable → GetBuildFrame, reduce diff vs main
levb 0feaf54
Restore main.go init order to match main, keep only InitDecoders addi…
levb 207bbfe
inspect-build: add BUILD INFO, fix validator, hide mappings by default
levb 29ed016
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 209cad3
lint
levb 7616150
Simplify progressive compressed read and add write-through for compre…
levb 9bf48de
Rename seekable→framed in peerclient and enable LZ4 block checksums
levb cdbda51
Consolidate fsPartUploader with MemPartUploader
levb 41d4e25
Env-driven benchmark, bench.sh runner, and fix header race in UploadV…
levb 2cad5d8
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 19182e2
Add complex code path diagrams to compression doc, fix inaccuracies
levb b8c65d9
Unify diagram format: replace all mermaid with ASCII pseudocode
levb 89376fd
Update benchmark results with fresh run (10x cold, auto-calibrated ca…
levb 9b4fda2
Fix benchmark throttle simulation and update results
levb c23faf1
Refactor CompressStream to batch-parallel design; rename compression …
levb 5b17679
Migrate LZ4 from streaming frame format to raw block API
levb 51f89f9
Replace FramedUploadOptions with env-driven CompressConfig; encapsula…
levb bdb5403
Replace FramedUploadOptions with env-driven CompressConfig; encapsula…
levb 1646e4f
Show compression type in inspect-build output
levb f4f5d37
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 6a61dcc
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb dd31c9e
Resolve merge conflicts with main, port truncation fixes to FramedFile
levb c4209a7
chore: auto-commit generated changes
github-actions[bot] 4c1336f
Merge remote-tracking branch 'e2b/main' into lev-compression-final
levb 5a536f5
Simplify CLI tools: consolidate storage, deduplicate, add validation
levb 293fa0c
Restore CLAUDE.md to upstream main state
levb 3f09e88
more cmd simplification
levb fa354d6
Consolidate storage mocks: move to consumer packages
levb 4474aba
Explicit per-frame integrity: zstd CRC, remove unused OnFrame callback
levb 3676b65
Consolidate compression pools, remove dead code
levb f0beeaf
Refactor CompressStream: upload concurrency, pipeline safety, public API
levb d9d28d9
Split TemplateBuild into BuildUploader interface with U/C implementat…
levb 8f0b92e
chore: auto-commit generated changes
github-actions[bot] 9655804
Add compression to CI integ tests
levb d4f87d7
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 8648d3d
Fix TargetPartSize 50TiB fallback, LZ4 incompressible data, add uploa…
levb 98d216e
CI: switch to LZ4 level 0, restore parallel=4, bump test timeout to 20m
levb c2b7d87
CI: disable compression for baseline comparison on our branch
levb d433414
Reduce diff with main: restore comments, colors, NopResolver
levb a6d7ef1
Rename cache.go variables: shorter C-style names, markRangeCached
levb c86d94f
CI: enable zstd level 2 compression for integration tests
levb f99d2e8
Restore NopResolver in resume-build, rename cache vars
levb 9b83cc8
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 8e930e6
Rename block interfaces: Reader→FramedBlockReader, GetBlock→SliceBlock
levb 53e8bf8
Fix review issues: panic recovery ordering, dead code, markRangeCache…
levb 148f3ee
Remove stored path/FT from StorageDiff and Chunker; derive per-fetch
levb c1bdd02
mocks cleanup
levb 4e715a1
reduce diff, more mocks
levb 1c59570
P2P review fixes: consolidate uploaded atomics, error handling, tests
levb d0a93c3
Add ReadFrame unit tests for edge cases
levb f9982f1
Return BuildMap by value from GetShiftedMapping to avoid hot-path alloc
levb a4c1c56
Replace bubble sort with slices.SortFunc in ValidateHeader
levb 8fe43b9
Propagate FrameTable.Subset errors from MergeMappings
levb f8b1587
CI: switch to zstd level 1 (fastest) for integration tests
levb 2efef61
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb f254330
V4 header: store uncompressed size prefix, avoid 64 MiB allocation
levb 0b46622
Restore completeUpload defer, remove redundant comments and code
levb fca072d
Fix data race: CloneForUpload must deep-copy Metadata
levb 0a7fbef
chore: auto-commit generated changes
github-actions[bot] e5d9315
Add separate compressed integration test job to avoid 2.5x CI slowdown
levb 364f2f9
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 4c70617
chore: auto-commit generated changes
github-actions[bot] ca9d785
PR cleanup: remove benchmarking artifacts, stale doc, and review fixes
levb 3bdbeb6
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 5d975d5
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 7691321
feat(storage): add compression primitives — FrameTable, codec pools, …
levb cf85907
feat(storage): add compressed upload pipeline, CompressConfig, and pa…
levb 3cb0bb1
feat(header): V4 header format with FrameTable serialization, BuildFi…
levb 4c6962a
refactor(storage): cleanup compression primitives for PR review
levb 3dc2ceb
Merge branch 'main' into lev-compression-final
levb 2c65691
chore: auto-commit generated changes
github-actions[bot] 588e451
merge lev-compression-primitives into lev-compression-final
levb 00149d4
fix(storage): address PR review — LZ4 streaming API, upload goroutine…
levb be428aa
Merge branch 'lev-compression-primitives' of github.com:e2b-dev/infra…
levb beb8824
reconcile primitives merge with lev-compression-review
levb 14f595d
self review — minimize diff with main, fix bugs, consolidate mocks
levb dd51be6
Merge branch 'lev-compression-primitives' into lev-compression-final
levb 6a6c30e
fix(ci): remove duplicate compressed integration test job
levb 14d948d
chore: auto-commit generated changes
github-actions[bot] a0c35da
refactor(storage): address PR #2246 review feedback
levb 44e137b
refactor(storage): simplify TemplateFiles API
levb f6ee184
Merge branch 'lev-compression-final' of github.com:e2b-dev/infra into…
levb 07a1a71
fix(header): address PR #2246 review feedback
levb 5bb0cba
refactor(sandbox): split build uploader into v3/v4 files
levb e768fee
Merge remote-tracking branch 'e2b/main' into lev-compression-final
levb 2725dbd
Merge branch 'main' of github.com:e2b-dev/infra into lev-compression-…
levb 6074558
Refactor storage read path: replace FramedFile with Seekable + Stream…
levb 1d11e38
Merge branch 'lev-paths-refactor' into tttt
levb 7fba8cb
Reduce diff with base, fix compression bugs, add read path OTEL
levb 50de536
chore: auto-commit generated changes
github-actions[bot] File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,3 +17,5 @@ go.work.sum | |
| .vscode/mise-tools | ||
| /packages/fc-kernels | ||
| /packages/fc-versions | ||
| /compress-build | ||
| /inspect-build | ||
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.