Repository navigation
Update to Litestream 0.5.17 (#78, updated to main) - #81
Merged
Merged
Conversation
The bundled binary moves from 0.3.13 to 0.5.17. Release tarballs are pinned by sha256 in Upstream::CHECKSUMS and verified in memory before extraction; a sidecar exe/<platform>/litestream.sha256 records what was packaged so a cached binary from an earlier version is re-downloaded instead of shipped. The darwin zip assets are gone upstream, so rubyzip goes too. Litestream 0.5 replaced generations, snapshots and wal with TXID-numbered LTX files. Commands gains ltx and status; the three removed methods and rake tasks stay for one release as tombstones that explain the change. The dashboard reads status (local, no daemon) and ltx (replica) through the same commands, isolates a command failure to the one database, and lets anything else raise. Generator template, dummy config and README use the 0.5 shape: one replica: per database, root snapshot: block.
# Conflicts: # CHANGELOG.md # test/test_litestream.rb
Litestream pads columns with at least two spaces, while status has headers such as "local txid" and values such as "231 kB" and "no database", so splitting on any whitespace misaligned every column of `rake litestream:status`. The README now says which 0.3 configs survive the upgrade (a one-entry replicas: list does; several replicas stop replicate from starting, and the Puma plugin then stops Puma), that 0.15.x is the release to roll back to, and shows status output as the 0.5.17 binary prints it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
|
Follow-up from running 0.5.17 in production: three caveats (deploy overlap, stalled compaction, a connection leak fixed upstream but not yet released) and suggested next steps are in #84. |
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.
Carries @cole-robertson's #78 unchanged, merged with main, plus one review commit.
Checked against the real 0.5.17 binary (Linux container, file replica): replicate through the gem, process detection,
databases/status/ltxwithjson: trueand as tables,statuswith a relative path,restore -o,Litestream.verify!, and the dashboard'sLitestream.databases. A backup written by 0.3.13 restores with 0.5.17. The pinned checksums match upstream'schecksums.txt, andrake packagereplaces cached 0.3.13 binaries with 0.5.17.Review commit:
rake litestream:statusprinted misaligned columns: 0.5'sstatustable has headers likelocal txidand values like231 kBandno database, and the table parser split on any whitespace. Litestream pads columns with at least two spaces, so the parser now splits on that. The new test fails without the fix.replicas:list with one entry still works under 0.5. With more than one,replicaterefuses to start, and the Puma plugin then stops Puma, so the notes now say to cut down to one replica before upgrading. Rollback now points to 0.15.x, and thestatusexamples match real output.This is a breaking release (removed commands, config shape, no age encryption in 0.5), so it should ship as a new minor version at least.
🤖 Generated with Claude Code