-
Notifications
You must be signed in to change notification settings - Fork 590
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
refactor(meta): persist hummock version checkpoint in object store #8631
Conversation
fe019ab
to
6316464
Compare
1027737
to
02532e2
Compare
Codecov Report
@@ Coverage Diff @@
## main #8631 +/- ##
==========================================
- Coverage 70.81% 70.73% -0.08%
==========================================
Files 1171 1172 +1
Lines 194337 194549 +212
==========================================
+ Hits 137619 137621 +2
- Misses 56718 56928 +210
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 13 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
As |
We can further make external reader (java binding) independent of meta service, if we
|
.into_iter() | ||
.next() | ||
.ok_or_else(|| anyhow!("hummock version checkpoint not found in meta store"))?; | ||
let mut redo_state = hummock_version_checkpoint; |
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.
let mut redo_state = hummock_version_checkpoint; | |
let mut redo_state = hummock_version_checkpoint_builder.await?; |
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.
hummock_version_checkpoint_builder.await?
is called before self.meta_store.snapshot().await
by intention, to ensure resulted version is <= meta store snapshot, because subsequently we can always get a matching version for that meta store snapshot by replaying version delta.
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.
Rest LGTM. Great job!
# Conflicts: # dashboard/proto/gen/hummock.ts # src/meta/src/hummock/manager/mod.rs # src/meta/src/hummock/manager/versioning.rs # src/storage/hummock_sdk/src/lib.rs # src/storage/src/hummock/sstable_store.rs
rename and add metrics
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
more detail here.
Also adapt meta backup to this change, because it has to read/write to both meta store and object store now.
Checklist For Contributors
./risedev check
(or alias,./risedev c
)Checklist For Reviewers
Documentation
Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.
Release note