[
https://issues.apache.org/jira/browse/SOLR-15955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17633940#comment-17633940
]
Houston Putman commented on SOLR-15955:
---------------------------------------
Ok, I have determined the cause.
So we do some fun stuff with {{lib/}} and {{lib/ext/}} in the solr/server
module. Basically we have an explicit list of server deps that go to {{lib/}}
and an explicit set of logging/metrics libs that go to {{lib/ext/}}, however we
filter out the {{lib/}} jars from {{lib/ext/}} in case there are any
overlapping libraries. This used to work, because there were no logging libs
that jetty depended on. However starting with Jetty 10, some jetty libraries
depend on slf4j-api, which means that slf4j-api no longer lives in
{{lib/ext/}}, it lives in {{lib/}}. The prometheus exporter doesn't have
{{lib/}} on its classpath, just {{lib/ext/}} , its lib directory and the
WEB-INF lib directory as well. Therefore the prom-exp no longer has access to
the slf4j-api jar.
There are jars duplicated in the solr server {{lib/}} are duplicated in the
WEB-INF lib directory, which are determined by the
{{jettyClientImplementation}} configuration in the solr:core gradle module.
So a solution could be either:
* Change the prometheus exporter build to only exclude dependencies from
{{lib/ext/}} and {{WEB-INF/lib}}
* Add the Solr Server {{lib/}} to the prometheus exporter classpath
* Add slf4j-api to the {{jettyClientImplementation}} configuration so that it
gets duplicated to WEB-INF/lib.
I probably vote for the first option over the others.
> Update Jetty dependency to 10
> -----------------------------
>
> Key: SOLR-15955
> URL: https://issues.apache.org/jira/browse/SOLR-15955
> Project: Solr
> Issue Type: Task
> Components: clients - java, Server, SolrJ
> Reporter: Mark Robert Miller
> Assignee: Kevin Risden
> Priority: Major
> Fix For: main (10.0)
>
> Time Spent: 15h 50m
> Remaining Estimate: 0h
>
> Jetty 9 is going end of life - I have a patch for the minimal changes needed
> to move to 10. Jetty 11 is the same as 10, but moves the javax package to
> jakarta, which the hdfs test dependency on jetty conflicts with.
> There is still an unresolved issue with S3 tests and their Jetty dependency,
> even with 10, that I’m still looking into. I’ll put up a PR tomorrow with a
> few more details. It may be without a resolution for the S3 test dependency
> yet, looking into what might be done.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]