IGNITE-28738 RU testcontainers test: fix class injection, Linux fast-path, faster shutdown#1
Merged
wernerdv merged 1 commit intoJun 26, 2026
Conversation
…path, faster shutdown - testClassesJar: inject each listed class together with its nested classes (the plugin provider's anonymous classes) and add DisabledRollingUpgradeProcessor / DisabledValidationProcessor. Without this the containerized nodes fail to start (NoClassDefFoundError) and the test times out after 600s on a clean checkout. - OS-aware networking. Keep the macOS path (host<->container via published ports + ContainerAddressResolver + host.docker.internal) and add a direct Linux path: containers are reached at their Docker bridge IP, the host node is reached at the Docker network gateway. Removes the Docker-Desktop VM-proxy latency on Linux/CI. - Container shutdown wait 60s -> 10s. Graceful SIGTERM does not complete (the image entrypoint does not forward it), so the node is force-stopped anyway; this saved ~50s per node (~423s -> ~250s end to end on macOS). - SOURCE_COMMIT_HASH overridable via -Dru.source.commit.hash. - assertTrue on the post-upgrade topology waitForCondition (was silently ignored); compare verified values as boxed Integer to avoid an NPE on a missing key. Verified green on macOS. The Linux path compiles and its addressing primitives are validated, but a full Linux/CI run is still required. 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.
Fixes and improvements on top of apache#13184 (the testcontainers Rolling Upgrade test).
I ran the test on macOS and it did not pass as-is — the containerized nodes died on startup with
NoClassDefFoundError(the injected test-classes jar was missing the plugin provider's nested classes and theDisabled*Processorclasses), so the wait strategy timed out after 600s. This branch fixes that and a few related things.What's here
DisabledRollingUpgradeProcessor/DisabledValidationProcessorare added.host.docker.internalpath; Linux gets a direct path (container bridge IP + Docker network gateway), which removes the Docker-Desktop VM-proxy latency.SOURCE_COMMIT_HASHoverridable via-Dru.source.commit.hash(handy for CI).assertTrueon the topology wait (was ignored) + boxedIntegercompare in the verification loop (avoids an NPE on a missing key).Verification
Tests run: 1, Failures: 0, Errors: 0— green.🤖 Generated with Claude Code