feat(depot): support disabling sqlite compaction via config#5205
Conversation
|
Stack for rivet-dev/rivet
Get stack: |
Code Review: feat(depot): support disabling sqlite compaction via configSummaryThis PR adds a new unstable configuration option unstable_disable_compaction to allow SQLite compaction to be disabled. The feature is implemented across the config layer, Depot conveyer commit logic, and pegboard-envoy database initialization. The changes are well-scoped and follow existing patterns. Strengths
Issues and Recommendations1. Logic Flow Clarity in apply.rs (Minor) File: engine/packages/depot/src/conveyer/commit/apply.rs When compaction_enabled is false, last_deltas_available_at_ms is set to None even though it is only consumed when compaction is enabled. The logic is correct but could confuse future readers. A short inline comment explaining that the value is only read when compaction is active would clarify intent. 2. Test Coverage Gap (Minor) File: engine/packages/depot/tests/conveyer_commit.rs The test validates core behavior when Db is constructed without a compaction signaler, but does not exercise the full config-based path from ws_to_tunnel_task.rs. Not a blocker, but an integration test covering the full path would add confidence. 3. Pre-existing TODO in ws_to_tunnel_task.rs The compaction_signaler closure contains a pre-existing TODO for incomplete hot compaction work. When compaction is disabled via config the signaler is never created, so the TODO is moot in that code path. Worth tracking in a follow-up whether this relates to the disable feature or a separate hot-compaction enablement effort. Verification Checklist
Minor Notes
RecommendationApprove - The PR is well-structured and ready to merge. The suggestions above are non-blocking improvements for clarity and coverage. |
afb6652 to
3364f3e
Compare
a12c0dc to
0bb5420
Compare
3364f3e to
4f150cc
Compare
0bb5420 to
1fc77bb
Compare
No description provided.