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

[CELEBORN-1700] Flink supports fallback to vanilla Flink built-in shuffle implementation #2932

Closed
wants to merge 3 commits into from

Conversation

SteNicholas
Copy link
Member

@SteNicholas SteNicholas commented Nov 20, 2024

What changes were proposed in this pull request?

Flink supports fallback to vanilla Flink built-in shuffle implementation.

Why are the changes needed?

When quota is unenough or workers are unavailable, RemoteShuffleMaster does not support fallback to NettyShuffleMaster, and RemoteShuffleEnvironment does not support fallback to NettyShuffleEnvironment at present. Flink should support fallback to vanilla Flink built-in shuffle implementation for unenough quota and unavailable workers.

Flink Shuffle Fallback

Does this PR introduce any user-facing change?

  • Introduce ShuffleFallbackPolicy interface to determine whether fallback to vanilla Flink built-in shuffle implementation.
/**
 * The shuffle fallback policy determines whether fallback to vanilla Flink built-in shuffle
 * implementation.
 */
public interface ShuffleFallbackPolicy {

  /**
   * Returns whether fallback to vanilla flink built-in shuffle implementation.
   *
   * @param shuffleContext The job shuffle context of Flink.
   * @param celebornConf The configuration of Celeborn.
   * @param lifecycleManager The {@link LifecycleManager} of Celeborn.
   * @return Whether fallback to vanilla flink built-in shuffle implementation.
   */
  boolean needFallback(
      JobShuffleContext shuffleContext,
      CelebornConf celebornConf,
      LifecycleManager lifecycleManager);
}
  • Introduce celeborn.client.flink.shuffle.fallback.policy config to support shuffle fallback policy configuration.

How was this patch tested?

  • RemoteShuffleMasterSuiteJ#testRegisterJobWithForceFallbackPolicy
  • WordCountTestBase#celeborn flink integration test with fallback - word count

@SteNicholas
Copy link
Member Author

SteNicholas commented Nov 20, 2024

Ping @reswqa, @codenohup, @RexXiong.

Copy link
Member

@reswqa reswqa left a comment

Choose a reason for hiding this comment

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

Thanks for the update, LGTM.

Copy link
Contributor

@codenohup codenohup left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for your contribution!

@SteNicholas
Copy link
Member Author

Ping @RexXiong, @FMX.

Copy link
Contributor

@RexXiong RexXiong left a comment

Choose a reason for hiding this comment

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

LGTM, except a minor

@RexXiong RexXiong closed this in 9cd6d96 Nov 27, 2024
@RexXiong
Copy link
Contributor

Thanks, merge to main(v0.6.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants