Major Leap in Data Management: Online Snapshots Now Possible Without Hub Restarts!
Revolutionary update empowers users with seamless backup capabilities through advanced RocksDB snapshot iterators, marking a new era in data integrity and accessibility.
Commit Details:
fix: Online snapshot using rocksdb snapshot iterators (#1858) ## Motivation Do an online backup/snapshot using rocksdb snapshot iterators instead of restarting the hub. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [X] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [X] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [X] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [X] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `@farcaster/hubble` package with a fix for creating online snapshots using snapshot iterators. ### Detailed summary - Added `pub` visibility to a constant in `merkle_trie.rs` - Added a new function `internal_db_error` in `store.rs` - Updated dependencies in `Cargo.toml` - Removed functions related to tar backup and gzip in `lib.rs` - Added a new function `dbSnapshotBackup` in `lib.rs` - Updated functions related to tar backup and gzip in `rustfunctions.ts` - Added a new function `rsDbSnapshotBackup` in `dbSnapshotBackupJob.ts` - Added new imports and functions related to snapshot backup job in `dbSnapshotBackupJob.ts` - Updated `Cargo.lock` to include the `flate2` dependency > The following files were skipped due to too many changes: `apps/hubble/src/addon/Cargo.lock`, `apps/hubble/src/hubble.ts`, `apps/hubble/src/addon/src/db/rocksdb.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->