novatechflow opened a new issue, #687: URL: https://github.com/apache/wayang/issues/687
## Summary `OtherSerializationTests.multiDataQuantaExecuteTest` intermittently fails on newer macOS with: - expected lines: `3` - actual lines: `0` Linux and older macOS pass. ## Failure - Module: `wayang-api/wayang-api-scala-java` - Test: `org.apache.wayang.api.serialization.OtherSerializationTests#multiDataQuantaExecuteTest` - Error: `Number of lines in the file should match ==> expected: <3> but was: <0>` ## Root Cause Async execution spawns a child JVM in `org.apache.wayang.api.async.runAsyncBody` but: 1. Uses fragile classpath resolution (`java.class.path`) under Surefire isolation. 2. Does not forward parent JVM module access args (`--add-opens`, `--add-exports`). 3. Does not fail when child exits non-zero. When the child fails to start/execute correctly, parent flow still continues, and output files remain empty. ## Expected If async worker fails, test should fail with explicit worker error (not empty-file assertion), and classpath/module args should be propagated so worker can run consistently across OS/JDK combinations. ## Proposed Fix - Build child classpath from context `URLClassLoader` (fallback to `java.class.path`). - Forward parent `--add-opens` / `--add-exports` args. - Throw on non-zero child exit code. ## Changed File - `wayang-api/wayang-api-scala-java/src/main/scala/org/apache/wayang/api/async/package.scala` -- 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]
