Native (non-Docker) test mode with Windows support#6
Merged
Conversation
13194e5 to
200e363
Compare
jajik
suggested changes
May 25, 2026
jajik
left a comment
Member
There was a problem hiding this comment.
A few things caught my eye (but frankly, these huge PRs are hard to review).
Member
|
Some failures are caused by the old httpd url (https://dlcdn.apache.org/httpd/httpd-2.4.66.tar.gz -> https://dlcdn.apache.org/httpd/httpd-2.4.67.tar.gz). |
Contributor
Author
|
@jajik Thanks, I just found out. I switched to archive instead of using mirror. I don't want to dig into CI everyday :) |
Contributor
|
It seems that #6 (comment) is last unresolved thread .... |
Member
|
(Of course, it would be nice to squash the commits meaningfully.) |
Add NativeWildFlyWorker, NativeHttpdBalancer, NativeUndertowBalancer, NativePortAllocator, NativeProcessManager, and NativeServerExtractor for running tests against locally installed servers instead of Docker containers. Introduce TestMode and factory methods on Balancer.create()/WildFlyWorker.create() to dispatch on -Dtest.mode=native. Includes config caching for faster startup, process tree management, httpd binary and config discovery on Windows/Linux, idempotent balancer configuration, standalone.xml backup/restore, and updated architecture documentation.
Disable HTTP keep-alive and HTTP/2 in Undertow mod_cluster filter for reliable routing. Fix health-check-interval and broken-node-timeout units to milliseconds and reduce to 1s/3s. Use System.exit instead of halt in exit.jsp for clean TCP teardown. Also: fix port offset handling for multiple native balancers, fix StickySessionForce test capture, relax stop-context threshold to 15, use stricter request count on Linux with relaxed threshold on Windows, tag CPU load test as docker-only, disable testNodeTimeout (JBEAP-9624), and remove redundant post-failover verification request.
Prevent EJB client from bypassing the balancer via topology discovery by disabling it in EjbClientAppBuilder. Bind native workers to 127.0.0.1 instead of 0.0.0.0. Add TRACE logging for org.wildfly.httpclient, org.jboss.ejb.client, and org.jboss.remoting. Disable testStatefulEjbStickiness due to WildFly bug WFLY-21930 (malformed routing cookie path).
Add StickySessionTest across OS/JDK combinations (Ubuntu JDK 17+21 Docker, Windows JDK 21 native). Use single-line shell commands for Windows compatibility, extract shared CI variables, and rework matrix as cross-product of os/java/balancer with excludes. Also switch httpd source download to archive.apache.org for permanent URL retention.
Clean up stale SSL configs on native httpd balancer start to prevent duplicate Listen directives. Replace sed-based VirtualHost patching with a shipped mod_proxy_cluster_ssl.conf config file. Use Path.of for platform-safe SSL subpath joins. Add SslFailoverTest to CI matrix.
Extract shared isWindows() to TestMode, removing 5 private copies. Extract WFLYSRV0025 startup pattern constant to WildFlyWorker base class. Add missing Javadoc to Balancer, WildFlyWorker, CommandResult, and ContainerUtils. Update bug reference from JBEAP-33250 to WFLY-21930.
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.
Architecture changes
Test fixes
Disabled tests
CI