Repository navigation
fix(tests): stop integration suite hanging on Infinispan :latest (16.3) - #15
Merged
rigazilla merged 1 commit intoOct 19, 2026
Merged
Conversation
Infinispan server :latest advanced from 16.0.x to 16.3.0, whose cli.sh no longer exits on stdin EOF when fed a command via a pipe — it drops into an interactive session and blocks forever. createCacheViaCLI (copied into 13 integration files) wrapped that in system() with no timeout, so the whole suite hung until the 30-min CI job was cancelled (GetIntegrationTests was simply the first cache-creating suite ctest reached after Ping). Run the CLI in batch mode (cli.sh -c <url> -f -) so it executes the command and exits at EOF; verified on both 16.0.7 and 16.3.0. Add a per-test ctest TIMEOUT 300 to every integration suite so a future stall fails fast instead of burning the whole job budget. Not pinning the image: 16.3.0 is fully compatible — ctest -L integration is 18/18 green against real docker on :latest. The earlier local 'connection reset' was a rootless-podman networking artifact (identical on 16.0.7). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Symptom
Integration-test CI started hanging on Oct 9:
GetIntegrationTestsbegins, emits nothing, and the job is cancelled at the 30-mintimeout-minuteslimit (leaving an orphandockerprocess). Only the Ubuntu job runs integration tests (Fedora is build-only, Windows doesn't build them), so it looked Ubuntu-specific.mainlast ran green on 2026-09-25; the branches since are docs-only on top of it, so the code is identical — the trigger is environmental.Root cause
The tests pull
quay.io/infinispan/server:latest(never pinned).:latestadvanced from 16.0.x to 16.3.0, and 16.3'scli.sh, when fed a command through a pipe (echo 'create cache …' | cli.sh -c <url>), runs the command but no longer exits on stdin EOF — it drops into an interactive session and blocks forever. ThecreateCacheViaCLIhelper (copied into 13 integration files) wraps that insystem("… >/dev/null 2>&1")with no timeout, so the whole suite hangs.GetIntegrationTestsis simply the first cache-creating suite ctest reaches after Ping.Reproduced locally against both 16.3.0 (hangs) and 16.0.7 (exits cleanly).
Fix
cli.sh -c <url> -f -(reads commands from stdin, exits at EOF). Applied to all 13createCacheViaCLIcopies. Verified on both 16.0.7 and 16.3.0.TIMEOUT 300to every integration suite, so a future version regression that stalls a subprocess fails in minutes instead of burning the 30-min job. (Slowest real suite,TopologyIntegrationTests, is ~117s — comfortable headroom.)Not pinning the image
16.3.0 is fully compatible —
ctest -L integrationis 18/18 green against real docker on:latest(16.3.0) (verified locally 2026-10-12, total ~7 min). An earlier localConnection reset by peeron the Get ops turned out to be a rootless-podman networking artifact (identical on known-good 16.0.7, absent under real docker), not a version regression. So:latestis left unpinned rather than frozen.Verification
ctest -L integration→100% tests passed, 0 tests failed out of 18against docker:latest(16.3.0).GetIntegrationTestsalone: 8/8, 10.9s (vs the 30-min hang).docs/DECISIONS.md.🤖 Generated with Claude Code