-
Notifications
You must be signed in to change notification settings - Fork 591
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(meta): commit epoch in separate group delta #18893
Conversation
sst_slice.iter() | ||
self.newly_added_sst_infos(None) | ||
.map(|sst| { | ||
// TODO: should we instead use sst.sst_id? |
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.
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.
should be sst_id
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.
LGTM.
if let Some(destroy_group_id) = &group_destroy { | ||
self.levels.remove(destroy_group_id); | ||
if is_l0_changed && let Some(levels) = self.levels.get_mut(compaction_group_id) { | ||
levels.update_l0(); |
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 think update_l0 is only need by apply_compact_ssts
, because whenever insert_new_sub_level
the stats of l0 has already been maintained incrementally.
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
9425213 | Triggered | Generic Password | c01749b | ci/scripts/e2e-source-test.sh | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
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.
LGTM
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
In #18886, we changed to generate a new sub level id in
apply_version_delta
. However, it makes the semantic of fieldsub_level_id
inIntraLevelDelta
obscure: it means to generate a new sub level id for delta generated fromcommit_epoch
, but means the target sub level id to insert for delta generated fromreport_compact_task
. In other words, the field is shared bycommit_epoch
andreport_compact_task
, but has different semantics under the two sources, which is error-prone.In this PR, we change to add a separate group delta named
NewL0SubLevel
, which contains only the new SSTs to insert. Inapply_version_delta
, forIntraLevelDelta
, we change back to still using itssub_level_id
, and forNewL0SubLevel
, we generate a new sub level id for it.We also refactor the code of
apply_version_delta
. Previously we had to callsummarize_version_deltas
to generate a summary on a list of version deltas, and then apply the summary to the hummock version. This is actually unnecessary. In this PR, we change to apply the list of version deltas one by one.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.