-
Notifications
You must be signed in to change notification settings - Fork 525
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): separate inject_barrier_RPC and collect_over_RPC #3129
Conversation
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.
This implementation seems to make the barrier stuffs much more complicated and harder to read. I'm also wondering if this is really necessary for concurrent checkpoints. Let's have an offline talk on weekdays.
Codecov Report
@@ Coverage Diff @@
## main #3129 +/- ##
==========================================
- Coverage 73.59% 73.59% -0.01%
==========================================
Files 744 744
Lines 102029 102080 +51
==========================================
+ Hits 75092 75126 +34
- Misses 26937 26954 +17
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 Codecov can now indicate which changes are the most critical in Pull Requests. 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.
The code looks cleaner now. Good job.
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.
Much clearer now! Generally in the right way.
94dc5ea
to
aeaf77c
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.
Rest LGTM.
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. Great job!
What's changed and what's your intention?
We separate
inject_barrier_RPC
andbarrier_complete_RPC
.Previously, When we inject barrier to CN, the RPC did not return until all collection tasks were complete.
Now , the
inject_barrier_RPC
can return when we send barrier to all source actor, thenbarrier_manager
will sendbarrier_complete_RPC
to CN wait collection.In concurrent checkpoint, We need source to send the barrier in order. So we separate
inject_barrier_RPC
andbarrier_complete_RPC
. We can inject barrier with single thread to ensure orderly, and concurrently wait for the collection.Checklist
./risedev check
(or alias,./risedev c
)Refer to a related PR or issue link (optional)
#2184