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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to