Skip to content

Fix the integration test cluster and window test expectations - #9152

Merged
rzo1 merged 5 commits into
masterfrom
fix/integration-tests
Oct 1, 2026
Merged

rzo1 merged 5 commits into
masterfrom
fix/integration-tests

Conversation

@rzo1

@rzo1 rzo1 commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to #9151. Before surefire 3.6.0, the integration-test job ran 0 TestNG tests, so the suite had broken without anyone noticing. With this PR, all 37 integration tests run against a real cluster and pass (about 11 minutes).

Fixes, in the order they surfaced:

  • Workers never started. worker.childopts in integration-test/config/storm.yaml used Java 8 GC logging flags (-XX:+PrintGCDateStamps, -Xloggc, …), so the worker JVM refused to start on Java 25. It now uses the unified -Xlog:gc* syntax. storm-java9.yaml, only appended for JDK 11, is removed.
  • Invalid-size window tests errored. testTumbleTime and both SlidingWindowTest tests asserted IllegalArgumentException, then built the topology anyway. They now return after the assertion.
  • Logviewer not reachable over HTTP. The tests fetch worker logs from http://<host>:8000, but logviewer.disable.http.binding defaults to true. It is enabled for the integration cluster only.
  • UI and logviewer failed to start. The binary assembly builds public/ from storm-webapp/target/classes/WEB-INF, which the Integration-Test job never builds (it only downloads the jars). run-it.sh now unpacks WEB-INF from the storm-webapp jar before packaging the distribution. This also fixes the long-standing "Cannot find static file directory … .jarWEB-INF" UI crash in CI. Release builds run the full reactor and are not affected.
  • Log timestamps failed to parse. DecoratedLogLine parsed zone-less timestamps with ZonedDateTime.parse. The formatter now uses UTC.

(The node1 host resolution fix went in with #9151.)

- worker.childopts in the integration storm.yaml still used Java 8 GC
  logging flags, so no worker JVM could start on Java 9+. Use the
  unified -Xlog syntax and drop storm-java9.yaml, which was only
  appended for JDK 11.
- The window tests asserted IllegalArgumentException for invalid sizes
  but then went on to build the topology again, failing with the same
  exception. Return after the assertion.
@rzo1 rzo1 added this to the 3.2.0 milestone Oct 1, 2026
TopoWrap fetches worker logs from http://<host>:8000, but the logviewer
has disabled its HTTP binding by default since 2018, so every window
test failed with Connection refused.
@rzo1 rzo1 self-assigned this Oct 1, 2026
rzo1 added 3 commits October 1, 2026 11:29
The binary assembly builds public/ from storm-webapp/target/classes/WEB-INF.
The Integration-Test job only downloads the built jars, so that directory
was missing, the distribution had no public/, and the UI and logviewer
failed to start. Unpack WEB-INF from the storm-webapp jar first.
The log date pattern carries no zone, so ZonedDateTime.parse failed for
every decorated log line.
@rzo1
rzo1 merged commit 653a0f8 into master Oct 1, 2026
7 checks passed
@rzo1
rzo1 deleted the fix/integration-tests branch October 1, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant