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
[FLINK-12432][runtime] Add SchedulerNG stub implementation #8452
Conversation
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. The 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:
|
flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/SchedulerNGFactoryFactory.java
Show resolved
Hide resolved
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.
Thanks for the stub implementation @GJL. LGTM. I had some minor comments which we should address before merging.
flink-core/src/main/java/org/apache/flink/configuration/JobManagerOptions.java
Show resolved
Hide resolved
final RestartStrategyFactory restartStrategyFactory) { | ||
|
||
final String schedulerName = configuration.getString(JobManagerOptions.SCHEDULER); | ||
switch (schedulerName) { |
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 works for the moment. If we want to make the scheduler truly pluggable, then we should allow to specify the class name of the SchedulerNGFactory
.
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.
Since there is no service loader currently, I think it's ok to leave it as is for now.
...runtime/src/test/java/org/apache/flink/runtime/dispatcher/SchedulerNGFactoryFactoryTest.java
Outdated
Show resolved
Hide resolved
...java/org/apache/flink/runtime/executiongraph/restart/ThrowingRestartStrategyFactoryTest.java
Outdated
Show resolved
Hide resolved
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.
Looks good to me, except for the missing doc regeneration as till has mentioned.
One minor comment as below.
...runtime/src/test/java/org/apache/flink/runtime/dispatcher/SchedulerNGFactoryFactoryTest.java
Outdated
Show resolved
Hide resolved
….reconnect-interval
Move SchedulerNG, SchedulerNGFactory, and its implementations to package org.apache.flink.runtime.scheduler.
Add new SchedulerNG stub implementation, which will represents the future default scheduler. Add feature toggle to switch between existing scheduler and stub implementation. Add ThrowingRestartStrategy to validate that in new scheduling code paths, the legacy restart strategies are not used.
Merging as soon as build is green. |
What is the purpose of the change
This PR adds a stub for the new scheduler.
Brief change log
Verifying this change
This change added tests and can be verified as follows:
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: (yes / no)Documentation