Comment From: wilkinsona

Solr 9's new Http2SolrClient requires Jetty 9.4. There's a PR to move to Jetty 10 but we require Jetty 11 for Jakarta EE 9 compatibility.

Comment From: wilkinsona

We auto-configure HttpSolrClient and Solr 9.0 has deprecated it in favor of Http2SolrClient. Http2SolrClient was introduced in Solr 8.x. Unlike HttpSolrClient, it depends on Jetty's HTTP client and, as noted above, it requires Jetty 9.4. That's fine in Spring Boot 2.x where we use Jetty 9.4.x by default but creates a problem in 3.0 where we require Jetty 11 (the same as Jetty 10 but with Jakarta EE 9 support).

If Solr moved to Jetty 10, I think we'd be OK as the HTTP client doesn't depend on any Servlet API, so it should also work with Jetty 11. If we stay on Solr 8, it'll work as long as we stick with HttpSolrClient and no one tries to use Http2SolrClient. If we upgrade to Solr 9, we can't use Http2SolrClient so we'd have to stick with the now-deprecated Http2SolrClient.

Given that we know that both Solr 8 and 9 won't work fully with 3.0 due to the Jetty 9 dependency, I think we may have to remove auto-configuration for Solr until it has brought its dependency up to date.