-
Notifications
You must be signed in to change notification settings - Fork 611
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: remove create_source/sync_source rpc in CN(#5269) #5654
Conversation
97041eb
to
3bebd35
Compare
Codecov Report
@@ Coverage Diff @@
## main #5654 +/- ##
==========================================
- Coverage 74.31% 74.29% -0.03%
==========================================
Files 923 924 +1
Lines 144284 144308 +24
==========================================
- Hits 107228 107211 -17
- Misses 37056 37097 +41
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. 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.
StreamSource part LGTM, I tested it with kafka source and it works fine, including the addition of the new kafka partition.
@PanQL please sign the SLA. |
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
After a simple test, after merging this PR with #5648, we can migrate/scale the StreamSourceActor to the newly joined node at will. cc @yezizp2012 @KeXiangWang |
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.
Good work!
Please resolve the comments before getting it merged. 🥰 |
dcd4c76
to
7193886
Compare
abf81f8
to
c3b6474
Compare
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. Good work! 🚀
let mut sources = mgr.get_sources()?; | ||
if let Some(source_desc) = sources.get(table_id) { | ||
return Ok(source_desc.clone()); | ||
} |
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 it would be better to move this single-flight logic to the TableSourceManager
(or something else) itself to avoid exposing the inner structure. Besides, the trait and the Mem
impl can also be cleaned up.
Let's do this in future PRs!
…m source. Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
…urce rpc - move create_table_source logic into SourceDescBuilder - remove create_source rpc in CN - remove sync_source rpc in CN - fix all unittests' complaination Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
Signed-off-by: Qinglin Pan <[email protected]>
c3b6474
to
56db28b
Compare
Co-authored-by: Bugen Zhao <[email protected]> Signed-off-by: Qinglin Pan <[email protected]>
e514e81
to
1ae7117
Compare
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 Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
we wrap source info into SourceNode, so that SourceExecutorBuilder can build stream source without local source manager. By this way, we can avoid calling create_souce rpc of CNs when creating a new stream source.
Please explain IN DETAIL what the changes are in this PR and why they are needed:
Checklist
./risedev check
(or alias,./risedev c
)Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.
Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
#5269