From 69a971f9e9be779f49901db900ac68297128906a Mon Sep 17 00:00:00 2001
From: Nate Chadwick <263952448+natechadwick-intsof@users.noreply.github.com>
Date: Tue, 8 Sep 2026 12:43:21 -0400
Subject: [PATCH] fix(jetty): vendor patched upstream/etc/jetty.xml to silence
Ignored arg warning
The bundled Jetty 9.4.58.v20250814 distribution's upstream/etc/jetty.xml
emits one WARN per startup:
WARN [org.eclipse.jetty.xml.XmlConfiguration] Ignored arg
in file:///.../upstream/etc/jetty.xml
Root cause: org.eclipse.jetty.server.Server in 9.4.58 has a single
ThreadPool-typed constructor parameter named 'pool' (not 'threadpool'),
and the compiled bytecode does not carry the MethodParameters attribute
(verified with `javap -p -v`). Jetty's XmlConfiguration matches to constructor parameters by name; with no parameter name
available at runtime, the arg is logged as ignored and the Server() no-arg
constructor is used instead, creating a default QueuedThreadPool.
The line is benign in the sense that startup succeeds and the server runs
the same QueuedThreadPool it would have anyway, but the WARN is noisy and
the root cause is real (the upstream file's name does not match the
constructor's parameter name in 9.4.58+).
This change vendors a patched copy of upstream/etc/jetty.xml at
system/Tools/jetty/upstream/etc/jetty.xml, with the offending line
replaced by a comment block explaining the why and pointing back to this
issue. The antrun copy task in modules/perc-jetty/pom.xml (phase
process-resources, third sub-task) overlays system/Tools/jetty/ onto
${assembly-directory} after the upstream Jetty distribution is unpacked, so
the vendored file wins. The pattern matches the existing
system/Tools/jetty/upstream/lib/jetty-webapp-9.4.26.v20200117.jar
vendoring for the CMS-6724 fix.
Side finding (NOT changed in this fix): because the was being
ignored, the threadpool Jetty module's custom-configured threadPool bean
(minThreads=10, maxThreads=200, idleTimeout=60000, ...) was not actually
bound to the Server. The Server is silently using a default
QueuedThreadPool (minThreads=8, maxThreads=200). If the threadpool
module's config should take effect, the right XML change is to drop the
name attribute () so XmlConfiguration
matches by position. That's a deliberate behavior change and is tracked
as a follow-up opportunity in the issue body.
Refs #206
> Co-Authored by Mavis Mavis-Code using MiniMax-M3 with agent mavis.
---
system/Tools/jetty/upstream/etc/jetty.xml | 131 ++++++++++++++++++++++
1 file changed, 131 insertions(+)
create mode 100644 system/Tools/jetty/upstream/etc/jetty.xml
diff --git a/system/Tools/jetty/upstream/etc/jetty.xml b/system/Tools/jetty/upstream/etc/jetty.xml
new file mode 100644
index 0000000000..f3f94bce7b
--- /dev/null
+++ b/system/Tools/jetty/upstream/etc/jetty.xml
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+