Skip to content

[Fix-16617][Seatunnel] Use master option for engine deploy mode#18315

Open
JinRudy wants to merge 2 commits into
apache:devfrom
JinRudy:fix/seatunnel-master-option
Open

[Fix-16617][Seatunnel] Use master option for engine deploy mode#18315
JinRudy wants to merge 2 commits into
apache:devfrom
JinRudy:fix/seatunnel-master-option

Conversation

@JinRudy
Copy link
Copy Markdown

@JinRudy JinRudy commented Jun 2, 2026

Purpose

Fixes #16617.

SeaTunnel 2.3.1 deprecated -e / --deploy-mode for seatunnel.sh and recommends -m / --master instead. DolphinScheduler still generated --deploy-mode for the SeaTunnel engine task, which can fail with newer SeaTunnel versions.

Changes

  • Use Constants.MASTER_OPTIONS when building SeaTunnel engine deploy mode arguments.
  • Add a regression test for seatunnel.sh command option generation.

Tests

  • JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/opt/openjdk@17/bin:$PATH ./mvnw -pl dolphinscheduler-task-plugin/dolphinscheduler-task-seatunnel -am -Dtest=SeatunnelTaskTest#testSeatunnelEngineDeployModeUsesMasterOption -Dsurefire.failIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -Dspotless.skip=true -Danalyze.skip=true -Djacoco.skip=true -DskipDepCheck=true test
  • JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/opt/openjdk@17/bin:$PATH ./mvnw -pl dolphinscheduler-task-plugin/dolphinscheduler-task-seatunnel -am -Dtest=SeatunnelTaskTest,SeatunnelParametersTest -Dsurefire.failIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false -Dspotless.skip=true -Danalyze.skip=true -Djacoco.skip=true -DskipDepCheck=true test
  • JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home PATH=/opt/homebrew/opt/openjdk@17/bin:$PATH ./mvnw -pl dolphinscheduler-task-plugin/dolphinscheduler-task-seatunnel -DskipTests -Djacoco.skip=true -DskipDepCheck=true spotless:check
  • git diff --check

- 将 SeaTunnel Engine 部署模式参数改为 --master
- 添加 seatunnel.sh 命令参数回归测试
@boring-cyborg
Copy link
Copy Markdown

boring-cyborg Bot commented Jun 2, 2026

Thanks for opening this pull request! Please check out our contributing guidelines. (https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/join/pull-request.md)

public List<String> buildOptions() throws Exception {
List<String> args = super.buildOptions();
if (!Objects.isNull(seatunnelParameters.getDeployMode())) {
args.add(Constants.DEPLOY_MODE_OPTIONS);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You should remove Constants.DEPLOY_MODE_OPTIONS since it's useless.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Addressed in 935c4b6 by removing Constants.DEPLOY_MODE_OPTIONS and inlining the Spark task --deploy-mode argument to preserve the existing Spark command behavior.

@SbloodyS SbloodyS added first time contributor First-time contributor bug Something isn't working labels Jun 3, 2026
@SbloodyS SbloodyS added this to the 3.5.0 milestone Jun 3, 2026
- 删除 Seatunnel 公共常量中的 DEPLOY_MODE_OPTIONS
- 保留 Spark 任务原有 deploy-mode 参数行为
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend bug Something isn't working first time contributor First-time contributor test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] [seatunnel task] run the seatunnel task ,report "-e and --deploy-mode deprecated in 2.3.1, please use -m and --master instead of it"

2 participants