You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@fluss.apache.org by "litiliu (via GitHub)" <gi...@apache.org> on 2026/02/10 09:20:11 UTC
[I] ServerITCaseBase fails when stderr contains "Picked up JAVA_TOOL_OPTIONS" (withMaven in Jenkins) [fluss]
litiliu opened a new issue, #2631:
URL: https://github.com/apache/fluss/issues/2631
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar.
### Fluss version
0.8.0 (latest release)
### Please describe the bug 🐞
### Summary
`ServerITCaseBase` treats any stderr output from the spawned server process as a startup failure. In Jenkins with `withMaven`, every JVM prints a line like:
Picked up JAVA_TOOL_OPTIONS: -Dmaven.ext.class.path=".../pipeline-maven-spy.jar" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="..."
This line goes to stderr and causes CoordinatorServerITCase / TabletServerITCase to fail even though the server starts.
### Error
CoordinatorServerITCase.testRunServerUsingProcess(Path)
Server process failed to start: Picked up JAVA_TOOL_OPTIONS: ...
### Environment
- CI: Jenkins (withMaven enabled)
- JDK: 17
- Maven: Maven Wrapper (3.8.6) / Maven 3.6.1
### Reproduction
Run integration tests in a Jenkins pipeline with `withMaven` enabled:
```
java.lang.IllegalStateException:
Server process failed to start: Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dmaven.ext.class.path="/jenkins/workspace/wap-udp-fluss_add-jenkins@tmp/withMavene743bf1a/pipeline-maven-spy.jar" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="/jenkins/workspace/wap-udp-fluss_add-jenkins@tmp/withMavene743bf1a"
at org.apache.fluss.server.ServerITCaseBase.waitUntilServerStartup(ServerITCaseBase.java:123)
at org.apache.fluss.server.ServerITCaseBase.testRunServerUsingProcess(ServerITCaseBase.java:93)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(Intercept
```
### Solution
### Expected
The test should only fail on real server startup errors, not on the `Picked up JAVA_TOOL_OPTIONS` banner.
### Actual
The test fails immediately because stderr is non-empty.
### Proposed Fix
Filter out lines that start with `Picked up JAVA_TOOL_OPTIONS:` when deciding whether server startup failed, or only fail on stderr lines that indicate real errors.
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@fluss.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org