You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add optional snapshot compression defaults and standby integration (#149)
* Add configurable snapshot compression with async standby support
* Add CH snapshot compression restore coverage
* Skip transient compression temp files during snapshot copy
* Clarify async snapshot compression restore behavior
* Reduce snapshot compression test races
* Restore compression test parallelism
* Unify snapshot restore cancellation behavior
* Apply suggestions from code review
Co-authored-by: Steven Miller <sjmiller609@gmail.com>
* Add snapshot compression metrics
* Fix snapshot compression review feedback
* Update Stainless model config
* Serialize shared initrd rebuilds
* Fix disabled snapshot defaults fallback
* Make snapshot compression fully opt-in
* Fix snapshot compression restore races
* Fix optional standby body handling
* Fix standby snapshot compression races
* Normalize standby snapshot compression copies
* Handle optional standby bodies outside generated code
* Fix snapshot compression cleanup races
* Clarify snapshot compression metrics state
* Return bad request for invalid standby input
* Use native-first snapshot codecs with Go fallback
* Normalize snapshot compression algorithms case-insensitively
* Tighten standby compression validation handling
* Reduce compression levels in integration tests to avoid CI timeout
The compression integration tests were using zstd level 19 and lz4 level 9,
which are very slow for compressing ~1GB memory files. After merging main
(which added more integration tests to lib/instances), the total package
test time exceeded the 20-minute CI timeout.
Reduce to level 3 for both zstd and lz4 high-level cases. The tests still
exercise the full compression/decompression pipeline across both algorithms
and multiple levels (1 and 3 for zstd, 0 and 3 for lz4).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Reduce compression integration test cycles to fit CI timeout
Five compression cycles (each involving VM standby + compress + restore +
boot + exec readiness) consistently exceed the 20-minute CI timeout after
merging main. Reduce to three cycles: one in-flight zstd, one completed
zstd, and one completed lz4. This still exercises both algorithms and
both the in-flight/completed code paths.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Address PR review feedback: add OpenAPI descriptions, fix dst.Close() error handling
- Add descriptions to snapshot_policy and compression fields in openapi.yaml
per Steven's review comments
- Check dst.Close() errors in runGoCompression and runGoDecompression to
prevent silently corrupt snapshot files on delayed write failures
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Address review feedback: add server-side compression validation, log metadata errors
- Validate algorithm (zstd/lz4) and per-algorithm level ranges in
toDomainSnapshotCompressionConfig instead of passing through unchecked
- Log metadata update errors in compression jobs instead of silently
discarding them
- Normalize algorithm to lowercase in config struct after validation
- Fix misleading test name (OmitsLevel -> PreservesLevel)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix snapshot compression review follow-ups
* Fix standby fork compression race
---------
Co-authored-by: sjmiller609 <7516283+sjmiller609@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
returnnil, fmt.Errorf("level must be between %d and %d for zstd, got %d", snapshot.MinSnapshotCompressionZstdLevel, snapshot.MaxSnapshotCompressionZstdLevel, level)
returnnil, fmt.Errorf("level must be between %d and %d for lz4, got %d", snapshot.MinSnapshotCompressionLz4Level, snapshot.MaxSnapshotCompressionLz4Level, level)
0 commit comments