-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Single task subpartition reconnection 2 #13490
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
Single task subpartition reconnection 2 #13490
Conversation
|
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit 67d192e (Sun Sep 27 08:22:18 UTC 2020) Warnings:
Mention the bot in a comment to re-run the automated checks. Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. DetailsThe Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
AHeise
left a comment
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.
Approach looks good. I'd definitively would like to see the field approach to store the full length, but you wrote that you will do that on the final PR, so I'm ignoring it here.
|
|
||
| import java.util.Set; | ||
|
|
||
| public class RestartIndividualFailoverStrategy implements FailoverStrategy { |
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.
As far as I have understood it, this strategy is only usable for failures in sinks (or sink-like nodes) yet, right?
For the final PR, we need to make sure that users do not pick it incorrectly. Maybe it's even too early to introduce it at the current point in time.
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.
That's right. This is for end-2-end testing purpose.
What is the purpose of the change
This PR includes a simple individual scheduler that can restart the sink for sink failure, so that we can test end-2-end for reconnection + partial partition clean-up;
I've tested multiple cases including the case
a very long record spanning over more than one buffer;short record; reading from the head of a buffer consumer; reading from the middle of a buffer consumer; and e.t.c. They all work perfectly.I've also rebased upon Kevin's change on RecordWriter's API, and Zhuzhu's change on pipelinedRegionSchedulingStrategy.
handle partial flag when sub-partition is partial #13476 handle partial flag when sub-partition is partial
Single task add partial flag in buffer #13456 Single task add a partial flag in buffer
Brief change log
(for example:)
Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
Does this pull request potentially affect one of the following parts:
@Public(Evolving): (yes / no)Documentation