8000 [BUG] Preserve snapshots when DBFS uploads are unfinished by eddiethedean · Pull Request #59 · dmux/minilake · GitHub
[go: up one dir, main page]

Skip to content
Merged

dmux merged 4 commits into
dmux:mainfrom
eddiethedean:fix/dbfs-snapshot-persistence

Conversation

@eddiethedean
@eddiethedean eddiethedean commented Oct 25, 2026 •
Copy link
Copy Markdown
Collaborator

Summary

Fixes #31 by keeping in-progress DBFS upload handles out of persisted snapshots and saving snapshots with an atomic replacement. Serialization or write failures now leave the previous valid snapshot intact.

Changes

  • Snapshot only the DBFS handle counter; unfinished upload buffers are ephemeral and excluded.
  • Serialize the full snapshot before touching the destination file.
  • Write and fsync a temporary file beside the destination, then atomically replace the snapshot.
  • Clean up the temporary file after failures.
  • Cover open uploads across process restarts, serialization failures, and replacement failures.

Validation

  • GitHub CI passed: lint, UI, and Docker test suite.
  • The persistence regression tests passed in the local Docker suite.
  • The full local Docker suite had one unrelated admin reset failure (AlreadyExists while recreating a volume); GitHub's full Docker suite passed.

@eddiethedean
Copy link
Copy Markdown
Collaborator Author

Reviewed the full PR at commit 852b968. No high- or critical-severity issues found. All CI checks passed: lint, UI, and the full Docker test suite (408 tests passed).

This PR is ready to merge.

@dmux dmux self-assigned this Oct 27, 2026
@dmux dmux added the bug Something isn't working label Oct 27, 2026
@dmux
dmux merged commit 71272d3 into dmux:main Oct 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] An unfinished DBFS upload corrupts the entire persistence snapshot

2 participants

0