-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: shed: blockstore/vlog to car export cmds #8265
Conversation
Codecov Report
@@ Coverage Diff @@
## master #8265 +/- ##
==========================================
- Coverage 40.52% 40.29% -0.24%
==========================================
Files 675 676 +1
Lines 73524 73878 +354
==========================================
- Hits 29798 29771 -27
- Misses 38505 38880 +375
- Partials 5221 5227 +6
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know badger internals so this review is fairly shallow with only some high level fearmongering about repo lock safety. Even without knowing badger the general idea of car to badger seems really nice.
Usage: "convert badger blockstore .vlog to .car", | ||
Flags: []cli.Flag{ | ||
&cli.PathFlag{ | ||
Name: "vlog", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For my own curiosity: what is a badger vlog? I see a bunch of .vlog
files under datastore repos. What is the meaning of each vlog subunit? Is it a partition of data based on the key for example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's basically an append-only (afaiu) k-v write log. The Entry
/header
structs below tell you more exactly what is in those files
|
||
var datastoreVlog2CarCmd = &cli.Command{ | ||
Name: "vlog2car", | ||
Usage: "convert badger blockstore .vlog to .car", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any warnings needed about the daemon needing to be turned off as in the following utility?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not seeing any interaction with the repo lock file, any chance for problems if the node is online?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vlog files are append-only, so that's (probably) fine
Just some tools to get data out of big badger datastores, and into car files.