-
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): support commit epoch on multiple graphs at once #18819
Conversation
Please provide more elaboration in the PR's description, need more clarification.
Do you mean multiple graphs, each with different epochs can be committed together? And previously on graphs with the same epoch can be committed together?
Could you elaborate on this? Is "different graphs" in reference to the distinct graph corresponding to each streaming job?
What do you mean by "at the same time". Do you mean that for different epochs, all their barriers are collected. E.g. epoch A and epoch B all barriers from A are collected within some stream job, all barriers from B are collected within some stream job. |
Just updated the PR description. |
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
9425213 | Triggered | Generic Password | 604b5b6 | e2e_test/source/tvf/postgres_query.slt | View secret |
9425213 | Triggered | Generic Password | 604b5b6 | e2e_test/source/tvf/postgres_query.slt | View secret |
9425213 | Triggered | Generic Password | 1b013f1 | 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 secrets safely. Learn here the best practices.
- Revoke and rotate these secrets.
- 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?
Global streaming graph and the creating streaming jobs will call
commit_epoch
on hummock manager to commit the newly added data and bump the committed epoch. State table ids of newly created job will also be registered to hummock version via thecommit_epoch
.commit_epoch
must be called one by one, and should not be called concurrently.Previously, global streaming graph and each individual creating streaming job calls
commit_epoch
separately one by one. Therefore, even though both global streaming graph and some creating jobs have new epoch to commit, they should do thecommit_epoch
one by one. This is due to the limitation of thecommit_epoch
, in which we should specify a single unified epoch, and the state table ids to bump the committed epoch to this specified epoch. However, creating jobs have an epoch lagging behind the global streaming graph, and cannot docommit_epoch
with the global streaming graph due to the different epoch.In this PR, we change the
commit_epoch
to support bumping the committed epoch of different state table ids to different epoch. In this way, the global streaming graph can callcommit_epoch
together with the creating streaming jobs. We also update theGlobalBarrierManager
to callcommit_epoch
for both global streaming graph and creating jobs together when they both have data ready to commit.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.