Fix #815 by downgrading Dropwizard Metrics to 4.2.26

This commit is contained in:
Michael Peter Christen committed 2026-08-21 00:23:08 +02:00
1 parent f061467e23
commit fa8b0e5e32
3 files changed
+72 -6

No files matched your search

+3 -3
View File
@@ -99,15 +99,15 @@
Ivy retrieve does not remove stale revisions or replaced coordinates.
Resolve the complete public classpath into staging before touching lib/;
a failed resolve therefore leaves the last usable runtime intact. Only
after staging succeeds are stale public Jetty/Servlet jars removed and
the resolved classpath published. Private Solr jars use the distinct
after staging succeeds are stale version-sensitive jars removed and the
resolved classpath published. Private Solr jars use the distinct
solr9-bridge-* prefix and are rebuilt by build-solr9-bridge.
-->
<delete dir="${ivy.compile.stage}" failonerror="false" />
<mkdir dir="${ivy.compile.stage}" />
<ivy:retrieve conf="compile" type="jar,bundle" pathid="compile.path" pattern="${ivy.compile.stage}/[artifact]-[revision].[ext]" />
<delete failonerror="false">
<fileset dir="${lib}" includes="javax.servlet-api-*.jar,jetty-*.jar,lucene-*.jar" />
<fileset dir="${lib}" includes="javax.servlet-api-*.jar,jetty-*.jar,lucene-*.jar,jackson-*.jar,metrics-core-*.jar,metrics-jmx-*.jar" />
</delete>
<copy todir="${ivy.lib.dir}" overwrite="true">
<fileset dir="${ivy.compile.stage}" includes="**/*" />
+11 -3
View File
@@ -15,8 +15,12 @@
</dependency>
<dependency org="com.cybozu.labs" name="langdetect" rev="1.1-20120112" conf="compile->master"/>
<dependency org="com.drewnoakes" name="metadata-extractor" rev="2.20.0" />
<!-- Keep Jackson core, dataformat, and Jersey's Jakarta XML Bind module on one release line. -->
<dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.22"/>
<dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.22.1"/>
<dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.22.1"/>
<dependency org="com.fasterxml.jackson.dataformat" name="jackson-dataformat-cbor" rev="2.22.1"/>
<dependency org="com.fasterxml.jackson.module" name="jackson-module-jakarta-xmlbind-annotations" rev="2.22.1"/>
<dependency org="com.github.ben-manes.caffeine" name="caffeine" rev="3.2.4"/>
<dependency org="com.carrotsearch" name="hppc" rev="0.10.0"/>
<dependency org="com.google.guava" name="guava" rev="33.6.0-jre" conf="compile->master"/>
@@ -29,8 +33,13 @@
<dependency org="commons-codec" name="commons-codec" rev="1.22.0" />
<dependency org="commons-io" name="commons-io" rev="2.22.0" />
<dependency org="commons-logging" name="commons-logging" rev="1.4.0" />
<dependency org="io.dropwizard.metrics" name="metrics-core" rev="4.2.39"/>
<dependency org="io.dropwizard.metrics" name="metrics-jmx" rev="4.2.39" conf="compile->master"/>
<!--
Solr 9.10.1 is tested with Metrics 4.2.26. Later 4.2.x releases add a
static EWMA calibration loop which can stall startup on some JVMs
(YaCy issue #815).
-->
<dependency org="io.dropwizard.metrics" name="metrics-core" rev="4.2.26"/>
<dependency org="io.dropwizard.metrics" name="metrics-jmx" rev="4.2.26" conf="compile->master"/>
<dependency org="io.opentracing" name="opentracing-noop" rev="0.33.0"/>
<dependency org="io.opentracing" name="opentracing-util" rev="0.33.0"/>
<!--
@@ -50,7 +59,6 @@
<dependency org="org.apache.calcite" name="calcite-core" rev="1.42.0" conf="compile->master"/>
<dependency org="org.apache.calcite" name="calcite-linq4j" rev="1.42.0" conf="compile->master"/>
<dependency org="org.apache.commons" name="commons-math3" rev="3.6.1" />
<dependency org="org.apache.commons" name="commons-lang3" rev="3.20.0" />
<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.5.14"/>
<dependency org="org.apache.httpcomponents" name="httpmime" rev="4.5.14"/>
<dependency org="org.apache.james" name="apache-mime4j-core" rev="0.8.14" conf="compile->master"/>
+58
View File
@@ -45,6 +45,9 @@ server_jetty_version=12.0.37
bridge_jetty_version=10.0.26
solr_version=9.10.1
lucene_version=9.12.3
metrics_version=4.2.26
jackson_annotations_version=2.22
jackson_version=2.22.1
for artifact in core api scripting solrj solrj-streaming solrj-zookeeper; do
grep -E "org=\"org.apache.solr\" name=\"solr-$artifact\" rev=\"$solr_version\" conf=\"solr9-bridge->master\"" ivy.xml >/dev/null 2>&1 || \
@@ -56,6 +59,27 @@ for artifact in analysis-common backward-codecs classification codecs expression
fail "lucene-$artifact must be on version $lucene_version"
done
for artifact in core jmx; do
grep -E "org=\"io.dropwizard.metrics\" name=\"metrics-$artifact\" rev=\"$metrics_version\"" ivy.xml >/dev/null 2>&1 || \
fail "metrics-$artifact must match Solr 9.10.1's tested version $metrics_version"
done
grep -E "org=\"com.fasterxml.jackson.core\" name=\"jackson-annotations\" rev=\"$jackson_annotations_version\"" ivy.xml >/dev/null 2>&1 || \
fail "jackson-annotations must be on version $jackson_annotations_version"
for coordinate in \
'com.fasterxml.jackson.core jackson-core' \
'com.fasterxml.jackson.core jackson-databind' \
'com.fasterxml.jackson.dataformat jackson-dataformat-cbor' \
'com.fasterxml.jackson.module jackson-module-jakarta-xmlbind-annotations'; do
set -- $coordinate
grep -E "org=\"$1\" name=\"$2\" rev=\"$jackson_version\"" ivy.xml >/dev/null 2>&1 || \
fail "$2 must be on version $jackson_version"
done
commons_lang_declarations=$(grep -c 'org="org.apache.commons" name="commons-lang3"' ivy.xml || true)
[ "$commons_lang_declarations" -eq 1 ] || \
fail "commons-lang3 must have exactly one direct declaration"
for artifact in jetty-http jetty-io jetty-proxy jetty-security jetty-server jetty-util; do
grep -E "org=\"org.eclipse.jetty\" name=\"$artifact\" rev=\"$server_jetty_version\" conf=\"compile->default\"" ivy.xml >/dev/null 2>&1 || \
fail "$artifact $server_jetty_version must be on the production compile classpath"
@@ -124,6 +148,40 @@ if [ -d lib ]; then
[ "$public_lucene_count" -gt 0 ] || \
fail "no Lucene $lucene_version artifacts found"
for artifact in metrics-core metrics-jmx; do
count=0
for jar_path in lib/$artifact-*.jar; do
[ -e "$jar_path" ] || continue
count=$((count + 1))
[ "$(basename "$jar_path")" = "$artifact-$metrics_version.jar" ] || \
fail "unexpected $artifact revision on the runtime classpath: $jar_path"
done
[ "$count" -eq 1 ] || \
fail "expected exactly one $artifact $metrics_version jar, found $count"
done
for artifact in jackson-core jackson-databind jackson-dataformat-cbor jackson-module-jakarta-xmlbind-annotations; do
count=0
for jar_path in lib/$artifact-*.jar; do
[ -e "$jar_path" ] || continue
count=$((count + 1))
[ "$(basename "$jar_path")" = "$artifact-$jackson_version.jar" ] || \
fail "unexpected $artifact revision on the runtime classpath: $jar_path"
done
[ "$count" -eq 1 ] || \
fail "expected exactly one $artifact $jackson_version jar, found $count"
done
jackson_annotations_count=0
for jar_path in lib/jackson-annotations-*.jar; do
[ -e "$jar_path" ] || continue
jackson_annotations_count=$((jackson_annotations_count + 1))
[ "$(basename "$jar_path")" = "jackson-annotations-$jackson_annotations_version.jar" ] || \
fail "unexpected jackson-annotations revision on the runtime classpath: $jar_path"
done
[ "$jackson_annotations_count" -eq 1 ] || \
fail "expected exactly one jackson-annotations $jackson_annotations_version jar, found $jackson_annotations_count"
servlet_api_count=0
for artifact in lib/*servlet-api-*.jar; do
[ -e "$artifact" ] || continue