[Fix][Zeta] Set SeaTunnel home in cluster startup script#10786
Open
davidzollo wants to merge 3 commits intoapache:devfrom
Open
[Fix][Zeta] Set SeaTunnel home in cluster startup script#10786davidzollo wants to merge 3 commits intoapache:devfrom
davidzollo wants to merge 3 commits intoapache:devfrom
Conversation
DanielLeens
suggested changes
Apr 19, 2026
DanielLeens
left a comment
There was a problem hiding this comment.
Hi @davidzollo, I pulled this PR locally and reviewed the cluster startup path against the current dev baseline.
Local branch: seatunnel-review-10786
Head reviewed: 62a0ede061b6d1301abd29eb2845c8eed942070d
Runtime path checked:
user starts a Zeta cluster
-> bin/seatunnel-cluster.sh
-> resolves PRG_DIR / APP_DIR
-> sources config/seatunnel-env.sh
-> defaults SEATUNNEL_HOME to APP_DIR when it is not explicitly set
-> appends -Dseatunnel.home and -DSEATUNNEL_HOME to JAVA_OPTS
-> SeaTunnelServer JVM starts
-> engine/common can read the seatunnel.home system property
-> cluster-side connector/plugin resolution can use the distribution home
The normal cluster startup path does hit this change. The important property is seatunnel.home, which matches SeaTunnelProperties.SEATUNNEL_HOME. Keeping a user-provided SEATUNNEL_HOME also preserves compatibility.
Local checks performed:
git fetch upstream pull/10786/head:seatunnel-review-10786 --force: passed.git diff --stat upstream/dev...seatunnel-review-10786: 2 files,+129/-0.- Source search confirmed the engine-side property key is
seatunnel.home. - Local build/tests were not run because this review was code-level/static only.
- GitHub checks observed:
Buildis failing;Notify test workflowandlabelerare passing.
Merge conclusion
Conclusion: can merge after fixes
Blocking items:
- The PR should not be merged while the GitHub
Buildcheck is failing. I could not retrieve the failed job log through the currentghsession, butgh pr checks 10786reportsBuildas failed.
Non-blocking suggestions:
- A small extra test for the case where
SEATUNNEL_HOMEis explicitly provided would make the compatibility guarantee even clearer.
Overall evaluation:
The code change itself is focused and correct for the cluster startup path. Once CI is green, I do not see a static code blocker in this revision.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Fixes #10782.
The cluster startup scripts need to publish the effective SeaTunnel distribution home to the server JVM. Without that, cluster-side code that relies on
seatunnel.home/SEATUNNEL_HOMEcan resolve connector metadata and connector jar storage relative to the launch working directory instead of the distribution directory, so connectors under${SEATUNNEL_HOME}/connectorscan be missed.This fix intentionally does not add
${APP_DIR}/connectors/*to the server JVM global classpath, so connector classloader isolation is preserved.Changes
SEATUNNEL_HOMEto the script distribution directory in both Unix and Windows cluster startup scripts when it is not already configured.-Dseatunnel.homeand-DSEATUNNEL_HOMEto the cluster server JVM.SEATUNNEL_HOMEvalues instead of overwriting them with the fallback.SEATUNNEL_HOMEpropagation, and Windows.cmdfallback/JVM-option ordering.Tests
env JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home ./mvnw -T 3C spotless:apply -pl seatunnel-core/seatunnel-starter -am -nsu -Dmaven.gitcommitid.skip=trueenv JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home ./mvnw -T 3C -pl seatunnel-core/seatunnel-starter -Dtest=SeaTunnelClusterScriptTest -DfailIfNoTests=false test -nsu -Dmaven.gitcommitid.skip=true(Tests run: 3, Failures: 0, Errors: 0, Skipped: 0)