Skip to content
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): commit finish catalog in barrier manager #17428

Merged
merged 44 commits into from
Jul 16, 2024

fix doc

3598ae9
Select commit
Loading
Failed to load commit list.
Merged

refactor(meta): commit finish catalog in barrier manager #17428

fix doc
3598ae9
Select commit
Loading
Failed to load commit list.
Task list completed / task-list-completed Started 2024-07-16 09:39:13 ago

0 / 8 tasks completed

8 tasks still to be completed

Details

Required Tasks

Task Status
In order for the barrier manager to be able to finish stream job, for v1 we need to pass the entire StreamingJob struct currently. Incomplete
This is not necessary for v2, where we only need the streaming job id, and table to replace (if any). You may look at TrackingJob::pre_finish for these logics. Incomplete
As such perhaps we should separate these parameters being passed to the Command::CreateStreamingJob, to avoid redundant cloning / moving of the StreamingJob struct. Incomplete
I have written necessary rustdoc comments Incomplete
I have added necessary unit tests and integration tests Incomplete
I have added test labels as necessary. See details. Incomplete
I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934). Incomplete
My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future). Incomplete
All checks passed in ./risedev check (or alias, ./risedev c) Incomplete
My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details) Incomplete
My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users) Incomplete
when register a tx on a table id, acquire lock and check the job status. If job is creating, store the tx. If the job has been created, return with ok. If the job does not exist, return err to tell the user about it. Incomplete
On abort_all, notify all tx with err. Incomplete
Every drop/cancel streaming job ddl should remove the tx of the dropped/cancelled streaming job id. Incomplete
job has been created, and then we just return ok, with the global latest notification version Incomplete
failed to collect the first barrier. Stream manager should have got an error before calling wait_streaming_job, no need to handle. Incomplete
First barrier collected, and job status must have been turned into Creating. Even though there can be error and recovery happened, we can just store the tx anyway. It will be notified either Ok when the job finishes backfill afterward, or Err when a later error triggers a recovery and call abort_all. Incomplete