[ci] test native Maven transport (remove wagon workaround)#6224
Conversation
|
I think this PR is on the right track. We are masking download progress on ci as it's massively polluting the logs. I would remove the flags from the build invocations which are timing out here. In theory we should never require the eb repo to be available. Maven central and exist-db.org as fallback should handle all dependencies. Caveat xqts snapshots awaiting a v7 release, only available from github. We need to figure out why both mvn central and exist-db.org are not doing it. |
|
The test workflow file has an issue and did not run
|
|
[This response was co-authored with Claude Code. -Joe] @line-o Thanks for catching that! You're right — |
|
@joewiz Is it expected that all tests fail with this PR applied? |
|
[This response was co-authored with Claude Code. -Joe] The latest CI run shows all test jobs failing by timeout rather than actual test failures — unit tests passed ( |
|
Our PRs had simultaneous CI runs. From what I understand this means we share resources, so I ll restart some jobs to see if they are still slow. |
Remove the stale maven.resolver.transport=wagon from global MAVEN_OPTS. This was added in March 2023 (commit 77592f6, message "testing") as a workaround for early Maven 3.9.0 native transport instability. mvnd 1.0.3 bundles Maven 3.9.11 where native transport is stable. Add Aether native transport timeout flags (10s connect, 30s read) to the Maven Build step via step-level MAVEN_OPTS, to bound hangs on unreachable repos (repo.exist-db.org CLOSE_WAIT, repo.evolvedbinary.com 504 on CI runners). Add --offline to license:check — the develop Maven cache always has the required license artifact, so network contact is unnecessary and was causing 7+ min timeouts. Also remove the redundant -DtrimStackTrace=false from each mvnd invocation — it is already set in the global MAVEN_OPTS and inherited. Note: -D'dependency-check.skip' and -D'license.skip' must remain on the mvnd command lines, not in MAVEN_OPTS. Maven's @parameter property resolution only picks up Maven user properties (command-line -D), not JVM system properties (MAVEN_OPTS -D). Bare -Dproperty on the Maven command line is treated as property=true by Maven's CLI parser. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
aef8cbe to
9f10d94
Compare
|
All checks have passed! If this looks good and it's merged, I'll rebase my PRs so we can hopefully see tests passing again. Thanks! |
… update statuses - Replace closed eXist-db#6213 (v2/jetty-12-upgrade) with eXist-db#6145 (feature/websocket-core) - Add CI Health Note explaining known noise: integration hangs, container image HTTP 502, XQTS runner Saxon 12 crash, and complementary empty-match failures in eXist-db#6212/eXist-db#6218 - Update XQTS runner: eXist-db#45 closed, eXist-db#49 is the active PR - Update cross-repo PR table accordingly - Update "Also Ready to Merge" table: mark eXist-db#6142, eXist-db#6146 merged; eXist-db#6186 superseded by eXist-db#6224; correct eXist-db#6087 approver; add status notes for eXist-db#6182, eXist-db#6184 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Test branch to validate removing the stale
maven.resolver.transport=wagonsetting from globalMAVEN_OPTSand switching to Maven Resolver's native HTTP transport with explicit timeout configuration.Context
The
maven.resolver.transport=wagonflag was added in March 2023 (commit77592f63f5, message "testing") as a workaround for early Maven 3.9.0 instability. mvnd 1.0.3 now bundles Maven 3.9.11, where native transport is stable. The flag is stale and was identified as part of investigating CI hang issues (see #6186).Two unreliable repos cause CI hangs with wagon:
repo.exist-db.org— accepts TCP, then sends FIN → CLOSE_WAIT; wagon waits indefinitelyrepo.evolvedbinary.com— returns HTTP 504 from CI runners; completely unreachableChanges
maven.resolver.transport=wagonfrom globalMAVEN_OPTS— lets mvnd use native transport (Maven 3.9.11 default)MAVEN_OPTSon Maven Build:aether.connector.basic.connectTimeout=10000,aether.connector.basic.requestTimeout=30000(10s connect, 30s read)--offlineto license check — the develop Maven cache always has all required artifacts; eliminates 7+ min timeouts from unreachable reposWhat to watch
If native transport works correctly, Maven Build should complete on all platforms without wagon-induced hangs. If there are artifact resolution failures that wagon previously masked, they'll surface as explicit download errors rather than silent hangs.
Related: #6186