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

feat: scheduling splits when creating a materialized view #1788

Merged
merged 13 commits into from
Apr 12, 2022

Conversation

shanicky
Copy link
Contributor

@shanicky shanicky commented Apr 12, 2022

What's changed and what's your intention?

PLEASE DO NOT LEAVE THIS EMPTY !!!

This PR initially provides the ability to create materialized view from source

When creating the materialized view, the fragmenter generates the corresponding fragment by slicing the graph, and each fragement generates the corresponding actor group by setting the parallelism, during which the stream source actor is found by SourceNode matching and a one-time split scheduling is performed, Split is the abstraction of the external partition in the Source, and when the actor is created later, it will start the subscription and consume according to the split information.

The subsequent design will asynchronize the split assign and push the split assignment/addition asynchronously through config change barrier after the overall startup, so as to obtain the ability to add dynamic splits and shorten the time to create mv

Checklist

  • I have written necessary docs and comments
  • I have added necessary unit tests and integration tests

Refer to a related PR or issue link (optional)

@codecov
Copy link

codecov bot commented Apr 12, 2022

Codecov Report

Merging #1788 (b897739) into main (6b68bf1) will decrease coverage by 0.11%.
The diff coverage is 20.52%.

@@            Coverage Diff             @@
##             main    #1788      +/-   ##
==========================================
- Coverage   71.33%   71.22%   -0.12%     
==========================================
  Files         605      605              
  Lines       78729    78931     +202     
==========================================
+ Hits        56163    56217      +54     
- Misses      22566    22714     +148     
Flag Coverage Δ
rust 71.22% <20.52%> (-0.12%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/compute/src/rpc/service/stream_service.rs 0.00% <ø> (ø)
src/connector/src/base.rs 0.00% <0.00%> (ø)
...nnector/src/filesystem/s3/source/s3_file_reader.rs 0.00% <0.00%> (ø)
src/connector/src/kafka/enumerator/client.rs 0.00% <0.00%> (ø)
src/connector/src/kafka/source/reader.rs 0.00% <0.00%> (ø)
src/connector/src/kafka/split.rs 0.00% <0.00%> (ø)
src/connector/src/kinesis/split.rs 0.00% <0.00%> (ø)
src/connector/src/pulsar/split.rs 0.00% <0.00%> (ø)
src/meta/src/manager/catalog_v2.rs 19.57% <0.00%> (-0.11%) ⬇️
src/meta/src/rpc/server.rs 0.00% <0.00%> (ø)
... and 16 more

📣 Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

Shanicky Chen and others added 12 commits April 12, 2022 17:50
Signed-off-by: Shanicky Chen <shanicky@MacBook-Pro-M1-Pro.local>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
Signed-off-by: Peng Chen <peng@singularity-data.com>
@shanicky shanicky marked this pull request as ready for review April 12, 2022 09:51
@CLAassistant
Copy link

CLAassistant commented Apr 12, 2022

CLA assistant check
All committers have signed the CLA.

@shanicky shanicky enabled auto-merge (squash) April 12, 2022 10:01
Signed-off-by: Peng Chen <peng@singularity-data.com>
todo!()
}
}
let bootstrap_servers = properties.get(KAFKA_CONFIG_BROKER_KEY).ok_or_else(|| {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consider make it a func in common/

src/connector/src/kafka/source/reader.rs Show resolved Hide resolved
Copy link
Contributor

@pangzhenzhou pangzhenzhou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@shanicky shanicky merged commit 62aba2a into main Apr 12, 2022
@shanicky shanicky deleted the peng/source-manager-v2 branch April 12, 2022 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants