This is an automated email from the ASF dual-hosted git repository.
janhoy pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_10x by this push:
new c596000b8a7 SOLR-17161 Create the solrj-jetty module (#4038)
c596000b8a7 is described below
commit c596000b8a70571bbae5549abc41cc875123f81a
Author: Jan Høydahl <[email protected]>
AuthorDate: Mon Jan 12 21:19:09 2026 +0100
SOLR-17161 Create the solrj-jetty module (#4038)
Co-authored-by: Kevin Risden <[email protected]>
Co-authored-by: David Smiley <[email protected]>
(cherry picked from commit 38c56e77d153b8df684d4065f597f38a8f26ee56)
---
.../unreleased/SOLR-17161-separate-jetty-solrj.yml | 9 +++
gradle/maven/defaults-maven.gradle | 1 +
settings.gradle | 1 +
solr/benchmark/build.gradle | 1 +
solr/core/build.gradle | 1 +
.../apache/solr/update/StreamingSolrClients.java | 5 +-
solr/cross-dc-manager/build.gradle | 1 +
solr/cross-dc-manager/gradle.lockfile | 8 +--
solr/modules/analysis-extras/build.gradle | 2 +-
solr/modules/analysis-extras/gradle.lockfile | 14 ++---
solr/modules/clustering/gradle.lockfile | 14 ++---
solr/modules/cross-dc/build.gradle | 1 +
solr/modules/cuvs/gradle.lockfile | 14 ++---
solr/modules/extraction/gradle.lockfile | 6 +-
solr/modules/gcs-repository/gradle.lockfile | 14 ++---
solr/modules/jwt-auth/build.gradle | 13 ++++-
solr/modules/langid/gradle.lockfile | 14 ++---
solr/modules/language-models/gradle.lockfile | 14 ++---
solr/modules/ltr/gradle.lockfile | 14 ++---
solr/modules/opentelemetry/gradle.lockfile | 14 ++---
solr/modules/s3-repository/gradle.lockfile | 14 ++---
solr/modules/scripting/gradle.lockfile | 14 ++---
solr/modules/sql/gradle.lockfile | 14 ++---
solr/solr-ref-guide/build.gradle | 1 +
.../pages/basic-authentication-plugin.adoc | 2 +
.../modules/deployment-guide/pages/solrj.adoc | 30 +++++++++-
.../pages/major-changes-in-solr-10.adoc | 2 +-
solr/solrj-jetty/build.gradle | 67 ++++++++++++++++++++++
solr/{solrj => solrj-jetty}/gradle.lockfile | 50 ++++------------
.../solrj/jetty/AuthenticationStoreHolder.java | 0
.../client/solrj/jetty/CloudJettySolrClient.java | 0
.../jetty/ConcurrentUpdateJettySolrClient.java | 46 +++++++++++++--
.../client/solrj/jetty/HttpJettySolrClient.java | 0
.../client/solrj/jetty/HttpListenerFactory.java | 0
.../solr/client/solrj/jetty/LBJettySolrClient.java | 0
.../jetty/PreemptiveBasicAuthClientCustomizer.java | 0
.../apache/solr/client/solrj/jetty/SSLConfig.java | 0
.../solrj/jetty/SolrBasicAuthentication.java | 0
.../solr/client/solrj/jetty/package-info.java | 0
...oncurrentUpdateJettySolrClientBadInputTest.java | 0
...ntUpdateJettySolrClientMultiCollectionTest.java | 0
.../jetty/ConcurrentUpdateJettySolrClientTest.java | 3 +-
.../HttpJettySolrClientCompatibilityTest.java | 0
.../solrj/jetty/HttpJettySolrClientProxyTest.java | 0
.../solrj/jetty/HttpJettySolrClientTest.java | 0
solr/solrj-streaming/build.gradle | 1 +
solr/solrj-zookeeper/build.gradle | 1 +
solr/solrj/build.gradle | 43 +++++++++++---
solr/solrj/gradle.lockfile | 39 ++++++-------
.../solrj/impl/ConcurrentUpdateBaseSolrClient.java | 67 ++++++++++++++++++----
.../client/solrj/impl/SolrClientCustomizer.java | 3 +-
solr/test-framework/build.gradle | 1 +
52 files changed, 383 insertions(+), 176 deletions(-)
diff --git a/changelog/unreleased/SOLR-17161-separate-jetty-solrj.yml
b/changelog/unreleased/SOLR-17161-separate-jetty-solrj.yml
new file mode 100644
index 00000000000..219a0ba6871
--- /dev/null
+++ b/changelog/unreleased/SOLR-17161-separate-jetty-solrj.yml
@@ -0,0 +1,9 @@
+title: Separate out a new solrj-jetty module, meaning users can opt in to the
jetty http client only if they need it. Also makes
ConcurrentUpdateBaseSolrClient client independent.
+type: changed
+authors:
+ - name: Jan Høydahl
+ - name: David Smiley
+ - name: Kevin Risden
+links:
+ - name: SOLR-17161
+ url: https://issues.apache.org/jira/browse/SOLR-17161
diff --git a/gradle/maven/defaults-maven.gradle
b/gradle/maven/defaults-maven.gradle
index fa47290feef..2b2da08d198 100644
--- a/gradle/maven/defaults-maven.gradle
+++ b/gradle/maven/defaults-maven.gradle
@@ -28,6 +28,7 @@ configure(rootProject) {
":solr:cross-dc-manager",
":solr:core",
":solr:solrj",
+ ":solr:solrj-jetty",
":solr:solrj-streaming",
":solr:solrj-zookeeper",
":solr:test-framework",
diff --git a/settings.gradle b/settings.gradle
index 08cee48a39a..dfbc62b5654 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -38,6 +38,7 @@ includeBuild("build-tools/missing-doclet")
include ":platform"
include "solr:api"
include "solr:solrj"
+include "solr:solrj-jetty"
include "solr:solrj-zookeeper"
include "solr:solrj-streaming"
include "solr:core"
diff --git a/solr/benchmark/build.gradle b/solr/benchmark/build.gradle
index 48c97747f04..eeb67b7dbf7 100644
--- a/solr/benchmark/build.gradle
+++ b/solr/benchmark/build.gradle
@@ -44,6 +44,7 @@ dependencies {
implementation project(':solr:test-framework')
implementation project(':solr:core')
implementation project(':solr:solrj')
+ implementation project(':solr:solrj-jetty')
implementation project(':solr:solrj-streaming')
implementation libs.apache.lucene.core
diff --git a/solr/core/build.gradle b/solr/core/build.gradle
index 7662b8af3b6..ea97b09eba6 100644
--- a/solr/core/build.gradle
+++ b/solr/core/build.gradle
@@ -48,6 +48,7 @@ dependencies {
api project(':solr:api')
api project(':solr:solrj')
+ implementation project(':solr:solrj-jetty')
api project(':solr:solrj-zookeeper')
api project(':solr:solrj-streaming')
diff --git
a/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
b/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
index 1b281abf802..dc0b5d77556 100644
--- a/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
+++ b/solr/core/src/java/org/apache/solr/update/StreamingSolrClients.java
@@ -151,8 +151,9 @@ class ErrorReportingConcurrentUpdateSolrClient extends
ConcurrentUpdateJettySolr
}
@Override
- public void onSuccess(Response resp, InputStream respBody) {
- req.trackRequestResult(resp, respBody, true);
+ public void onSuccess(Object responseMetadata, InputStream respBody) {
+ Response jettyResponse = (Response) responseMetadata;
+ req.trackRequestResult(jettyResponse, respBody, true);
}
static class Builder extends ConcurrentUpdateJettySolrClient.Builder {
diff --git a/solr/cross-dc-manager/build.gradle
b/solr/cross-dc-manager/build.gradle
index f037f8b85f9..e6b120190f2 100644
--- a/solr/cross-dc-manager/build.gradle
+++ b/solr/cross-dc-manager/build.gradle
@@ -46,6 +46,7 @@ dependencies {
runtimeOnly libs.lmax.disruptor
testImplementation project(':solr:test-framework')
+ testImplementation project(':solr:solrj-jetty')
testImplementation libs.apache.lucene.testframework
testImplementation libs.carrotsearch.randomizedtesting.runner
testImplementation libs.junit.junit
diff --git a/solr/cross-dc-manager/gradle.lockfile
b/solr/cross-dc-manager/gradle.lockfile
index 0525d371c69..6d9a1f75569 100644
--- a/solr/cross-dc-manager/gradle.lockfile
+++ b/solr/cross-dc-manager/gradle.lockfile
@@ -157,11 +157,11 @@
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=compileClasspath,jarValidation
org.eclipse.jetty.ee10:jetty-ee10-servlets:12.0.27=solrPlatformLibs
org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=solrPlatformLibs
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/analysis-extras/build.gradle
b/solr/modules/analysis-extras/build.gradle
index f7fa13c8f76..5b4d13a038f 100644
--- a/solr/modules/analysis-extras/build.gradle
+++ b/solr/modules/analysis-extras/build.gradle
@@ -28,7 +28,7 @@ dependencies {
implementation libs.apache.lucene.analysis.icu
runtimeOnly libs.apache.lucene.analysis.morfologik
implementation libs.apache.lucene.analysis.opennlp
-
+
implementation libs.onnxruntime
runtimeOnly libs.apache.lucene.analysis.smartcn
runtimeOnly libs.apache.lucene.analysis.stempel
diff --git a/solr/modules/analysis-extras/gradle.lockfile
b/solr/modules/analysis-extras/gradle.lockfile
index dbe29ed75be..468e0bf930f 100644
--- a/solr/modules/analysis-extras/gradle.lockfile
+++ b/solr/modules/analysis-extras/gradle.lockfile
@@ -132,22 +132,22 @@
org.carrot2:morfologik-stemming:2.1.9=jarValidation,runtimeClasspath,runtimeLibs
org.codehaus.woodstox:stax2-api:4.2.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/clustering/gradle.lockfile
b/solr/modules/clustering/gradle.lockfile
index b24313a58e9..30dc522b34a 100644
--- a/solr/modules/clustering/gradle.lockfile
+++ b/solr/modules/clustering/gradle.lockfile
@@ -120,22 +120,22 @@
org.carrot2:carrot2-core:4.8.1=compileClasspath,jarValidation,runtimeClasspath,r
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/cross-dc/build.gradle
b/solr/modules/cross-dc/build.gradle
index bfcb128ce59..4d90227db79 100644
--- a/solr/modules/cross-dc/build.gradle
+++ b/solr/modules/cross-dc/build.gradle
@@ -32,6 +32,7 @@ dependencies {
api project(':solr:core')
implementation project(':solr:solrj')
implementation project(':solr:solrj-zookeeper')
+ implementation project(':solr:solrj-jetty')
implementation libs.slf4j.api
implementation libs.apache.kafka.clients
diff --git a/solr/modules/cuvs/gradle.lockfile
b/solr/modules/cuvs/gradle.lockfile
index 14aeb4c97a5..6a3f907187a 100644
--- a/solr/modules/cuvs/gradle.lockfile
+++ b/solr/modules/cuvs/gradle.lockfile
@@ -121,22 +121,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/extraction/gradle.lockfile
b/solr/modules/extraction/gradle.lockfile
index 6d2d54df0c6..1d826f5a82d 100644
--- a/solr/modules/extraction/gradle.lockfile
+++ b/solr/modules/extraction/gradle.lockfile
@@ -125,9 +125,9 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/gcs-repository/gradle.lockfile
b/solr/modules/gcs-repository/gradle.lockfile
index d06f7741d3b..12be94a7176 100644
--- a/solr/modules/gcs-repository/gradle.lockfile
+++ b/solr/modules/gcs-repository/gradle.lockfile
@@ -172,22 +172,22 @@
org.codehaus.woodstox:stax2-api:4.2.2=apiHelper,jarValidation,runtimeClasspath,r
org.conscrypt:conscrypt-openjdk-uber:2.5.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/jwt-auth/build.gradle
b/solr/modules/jwt-auth/build.gradle
index 7cf05aa2cef..80cb694fb3a 100644
--- a/solr/modules/jwt-auth/build.gradle
+++ b/solr/modules/jwt-auth/build.gradle
@@ -19,12 +19,21 @@ apply plugin: 'java-library'
description = 'JWT / OpenID Connect / OAuth2 authentication plugin'
+// This is a hacky way to use permitTestUnusedDeclared with bom declared
dependencies.
+// See
https://github.com/gradle-dependency-analyze/gradle-dependency-analyze/issues/108
+configurations {
+ constraintsOnly
+ permitTestUnusedDeclared.extendsFrom constraintsOnly
+ implementation.extendsFrom constraintsOnly
+}
+
dependencies {
- implementation platform(project(':platform'))
- implementation platform(libs.fasterxml.jackson.bom)
+ constraintsOnly platform(project(':platform'))
+ constraintsOnly platform(libs.fasterxml.jackson.bom)
implementation project(':solr:core')
implementation project(':solr:solrj')
+ implementation project(':solr:solrj-jetty')
implementation libs.bc.jose4j
diff --git a/solr/modules/langid/gradle.lockfile
b/solr/modules/langid/gradle.lockfile
index 3977ee35d6c..9a63aaa0d63 100644
--- a/solr/modules/langid/gradle.lockfile
+++ b/solr/modules/langid/gradle.lockfile
@@ -122,22 +122,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/language-models/gradle.lockfile
b/solr/modules/language-models/gradle.lockfile
index 219a3da0757..99e1a7c62c7 100644
--- a/solr/modules/language-models/gradle.lockfile
+++ b/solr/modules/language-models/gradle.lockfile
@@ -134,22 +134,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/ltr/gradle.lockfile b/solr/modules/ltr/gradle.lockfile
index 27d3b90b3e6..a8952d51b54 100644
--- a/solr/modules/ltr/gradle.lockfile
+++ b/solr/modules/ltr/gradle.lockfile
@@ -120,22 +120,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/opentelemetry/gradle.lockfile
b/solr/modules/opentelemetry/gradle.lockfile
index 3ab5d6b9260..5212ab9c137 100644
--- a/solr/modules/opentelemetry/gradle.lockfile
+++ b/solr/modules/opentelemetry/gradle.lockfile
@@ -153,22 +153,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/s3-repository/gradle.lockfile
b/solr/modules/s3-repository/gradle.lockfile
index 27fa7ef3dc5..d5527e8ea27 100644
--- a/solr/modules/s3-repository/gradle.lockfile
+++ b/solr/modules/s3-repository/gradle.lockfile
@@ -157,28 +157,28 @@
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClass
org.eclipse.jetty.ee10:jetty-ee10-servlets:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty.websocket:jetty-websocket-core-client:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.websocket:jetty-websocket-core-common:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.websocket:jetty-websocket-core-server:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.websocket:jetty-websocket-jetty-api:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.websocket:jetty-websocket-jetty-common:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-ee:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-xml:12.0.27=jarValidation,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/scripting/gradle.lockfile
b/solr/modules/scripting/gradle.lockfile
index 84b57b5c595..17c9ca30769 100644
--- a/solr/modules/scripting/gradle.lockfile
+++ b/solr/modules/scripting/gradle.lockfile
@@ -119,22 +119,22 @@
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/modules/sql/gradle.lockfile b/solr/modules/sql/gradle.lockfile
index b092272424c..3476553f483 100644
--- a/solr/modules/sql/gradle.lockfile
+++ b/solr/modules/sql/gradle.lockfile
@@ -143,22 +143,22 @@
org.codehaus.janino:janino:3.1.11=jarValidation,runtimeClasspath,runtimeLibs,tes
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath
diff --git a/solr/solr-ref-guide/build.gradle b/solr/solr-ref-guide/build.gradle
index 2893ab70b4d..3876671f080 100644
--- a/solr/solr-ref-guide/build.gradle
+++ b/solr/solr-ref-guide/build.gradle
@@ -546,6 +546,7 @@ dependencies {
// For the SolrJ examples
testImplementation project(":solr:core")
testImplementation project(":solr:solrj")
+ testImplementation project(":solr:solrj-jetty")
testRuntimeOnly project(":solr:modules:sql")
testImplementation project(":solr:test-framework")
testImplementation libs.junit.junit
diff --git
a/solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc
index 9121f0046fd..f84361e0e94 100644
---
a/solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc
+++
b/solr/solr-ref-guide/modules/deployment-guide/pages/basic-authentication-plugin.adoc
@@ -339,6 +339,8 @@ It also doesn't work with the many `SolrClient` methods
which don't consume `Sol
HttpJettySolrClient & HttpJdkSolrClient support setting the credentials at the
client level when building it.
This will ensure all requests issued with this particular client get the Basic
Authentication headers set.
+NOTE: The examples below use `HttpJettySolrClient`, which requires the
`solr-solrj-jetty` maven dependency.
+
[source,java]
----
var client = new HttpJettySolrClient.Builder(solrUrl)
diff --git a/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
b/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
index c96421826cc..40f2dea68d9 100644
--- a/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
+++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc
@@ -54,6 +54,32 @@ For projects built with Gradle, place the following in your
`build.gradle`:
compile group: 'org.apache.solr', name: 'solr-solrj', version:
'{solr-full-version}'
----
+==== Optional Jetty Module
+
+If you want to use Jetty-based HTTP clients (`HttpJettySolrClient`,
`ConcurrentUpdateJettySolrClient`,
+`LBJettySolrClient`, or `CloudJettySolrClient`), you need to add the maven
dependency `solr-solrj-jetty`:
+
+[source,xml,subs="verbatim,attributes"]
+----
+<dependency>
+ <groupId>org.apache.solr</groupId>
+ <artifactId>solr-solrj-jetty</artifactId>
+ <version>{solr-full-version}</version>
+</dependency>
+----
+
+For Gradle:
+
+[source,groovy,subs="attributes"]
+----
+compile group: 'org.apache.solr', name: 'solrj-solrj-jetty', version:
'{solr-full-version}'
+----
+
+Alternatively, you can use `HttpJdkSolrClient` from the base `solr-solrj`
artifact,
+which uses Java's built-in HTTP client and has no additional dependencies.
+
+==== Other Optional Modules
+
If you want to use `CloudSolrClient` _and_ have it talk directly to ZooKeeper,
you will need to add a dependency on the `solr-solrj-zookeeper` artifact.
If you want to build and use
xref:query-guide:streaming-expressions.adoc[Streaming Expressions] classes in
your Java code, you will need to add a dependency on the `solr-solrj-streaming`
artifact.
@@ -95,11 +121,11 @@ Requests are sent in the form of
{solr-javadocs}/solrj/org/apache/solr/client/so
`SolrClient` has a few concrete implementations, each geared towards a
different usage-pattern or resiliency model:
--
{solr-javadocs}/solrj/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.html[`HttpJettySolrClient`]
- a general purpose client based on Jetty HttpClient. Supports HTTP/2 and
HTTP/1.1, async, non-blocking. Most used & tested.
+-
{solr-javadocs}/solrj-jetty/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.html[`HttpJettySolrClient`]
- a general purpose client based on Jetty HttpClient. Supports HTTP/2 and
HTTP/1.1, async, non-blocking. Most used & tested.
-
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.html[`HttpJdkSolrClient`]
- a general purpose client based on JDK HttpClient. Supports HTTP/2 and
HTTP/1.1, async, non-blocking. Has no dependencies.
-
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/LBSolrClient.html[`LBSolrClient`]
- an internal client that delegates to other clients pointed at different URLs
for fail-over/availability. Adjusts the list of "in-service" nodes based on
node health.
-
{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/CloudSolrClient.html[`CloudSolrClient`]
- the ideal client for SolrCloud. Using the "cluster state", it routes
requests to the optimal nodes, including splitting out the documents in an
UpdateRequest to different nodes.
--
{solr-javadocs}/solrj/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.html[`ConcurrentUpdateJettySolrClient`]
- geared towards indexing-centric workloads.
+-
{solr-javadocs}/solrj-jetty/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.html[`ConcurrentUpdateJettySolrClient`]
- geared towards indexing-centric workloads.
Buffers documents internally before sending larger batches to Solr.
=== Common Configuration Options
diff --git
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
index c058e7e47c2..5ae6b996e25 100644
---
a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
+++
b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc
@@ -73,7 +73,7 @@ That no longer happens in Solr 10. It is only used to load a
configuration as a
* Starting in 10, the Maven POM for SolrJ does not refer to SolrJ modules like
ZooKeeper. If you require such functionality, you need to add additional
dependencies.
-* Classes using Jetty HttpClient have been moved to a new package
`org.apache.solr.solrj.jetty`.
+* Classes using Jetty HttpClient have been moved to a new package
`org.apache.solr.solrj.jetty`. To use them from your application, you need to
include the new `solr-solrj-jetty` artifact.
The following classes were renamed with some refactorings: `Http2SolrClient`
to `HttpJettySolrClient`, `ConcurrentUpdateHttp2SolrClient` to
`ConcurrentUpdateJettySolrClient`, `LBHttp2SolrClient` to `LBJettySolrClient`.
`CloudHttp2SolrClient.Builder` has moved to `CloudSolrClient`; users should
generally have no need to refer to `CloudHttp2SolrClient` or any class/member
with "http2" in it.
The builder will check if Jetty `HttpClient` is available and use that,
otherwise fallback on a JDK based `HttpClient`.
diff --git a/solr/solrj-jetty/build.gradle b/solr/solrj-jetty/build.gradle
new file mode 100644
index 00000000000..6f3f6eda4e2
--- /dev/null
+++ b/solr/solrj-jetty/build.gradle
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+plugins {
+ id 'java-library'
+}
+
+description = 'Solrj-Jetty - Jetty-based HTTP clients for SolrJ'
+
+dependencies {
+ // Core dependencies on solr-solrj (without Jetty)
+ api project(':solr:solrj')
+
+ // Jetty dependencies - moved from solr-solrj
+ api libs.eclipse.jetty.http2.client
+ implementation libs.eclipse.jetty.http2.httpclienttransport
+ implementation libs.eclipse.jetty.http
+ implementation libs.eclipse.jetty.client
+ implementation libs.eclipse.jetty.util
+ implementation libs.eclipse.jetty.io
+ runtimeOnly libs.eclipse.jetty.alpnjavaclient
+
+ // Inherited from solr-solrj
+ implementation libs.slf4j.api
+
+ compileOnly libs.stephenc.jcip.annotations
+
+ // Test dependencies
+
+ testImplementation project(':solr:test-framework')
+ testImplementation project(':solr:core')
+ testImplementation project(':solr:solrj')
+ // Access to solrj test classes (e.g., HttpSolrClientTestBase)
+ testImplementation project(path: ':solr:solrj', configuration:
'testArtifacts')
+ // Test classes use main classes from this module
+ testImplementation project(':solr:solrj-jetty')
+
+ testImplementation libs.apache.lucene.testframework
+
+ testImplementation libs.carrotsearch.randomizedtesting.runner
+ testImplementation libs.junit.junit
+ testImplementation libs.hamcrest.hamcrest
+
+ testImplementation libs.jakarta.servlet.api
+
+ testImplementation libs.eclipse.jetty.ee10.servlet
+ testRuntimeOnly(libs.eclipse.jetty.alpnjavaserver, {
+ exclude group: "org.eclipse.jetty.alpn", module: "alpn-api"
+ })
+ testRuntimeOnly(libs.apache.log4j.slf4j2impl, {
+ exclude group: "org.apache.logging.log4j", module: "log4j-api"
+ })
+}
diff --git a/solr/solrj/gradle.lockfile b/solr/solrj-jetty/gradle.lockfile
similarity index 82%
copy from solr/solrj/gradle.lockfile
copy to solr/solrj-jetty/gradle.lockfile
index 2af80f358a8..5bfbdee0db7 100644
--- a/solr/solrj/gradle.lockfile
+++ b/solr/solrj-jetty/gradle.lockfile
@@ -4,9 +4,9 @@
com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.3=jarValidation,testCompileClasspath,testRuntimeClasspath
com.carrotsearch:hppc:0.10.0=jarValidation,testRuntimeClasspath
com.fasterxml.jackson.core:jackson-annotations:2.20=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-com.fasterxml.jackson.core:jackson-core:2.20.1=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-com.fasterxml.jackson.core:jackson-databind:2.20.1=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.1=jarValidation,testCompileClasspath,testRuntimeClasspath
+com.fasterxml.jackson.core:jackson-core:2.20.1=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+com.fasterxml.jackson.core:jackson-databind:2.20.1=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
+com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.1=jarValidation,testRuntimeClasspath
com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.20.1=jarValidation,testRuntimeClasspath
com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.20.1=jarValidation,testRuntimeClasspath
com.fasterxml.jackson:jackson-bom:2.20.1=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
@@ -17,18 +17,12 @@
com.github.stephenc.jcip:jcip-annotations:1.0-1=compileClasspath,compileOnlyHelp
com.google.auto.service:auto-service-annotations:1.0.1=annotationProcessor,errorprone,testAnnotationProcessor
com.google.auto.value:auto-value-annotations:1.11.0=annotationProcessor,errorprone,testAnnotationProcessor
com.google.auto:auto-common:1.2.2=annotationProcessor,errorprone,testAnnotationProcessor
-com.google.code.findbugs:jsr305:3.0.2=spotless865458226
com.google.errorprone:error_prone_annotation:2.41.0=annotationProcessor,errorprone,testAnnotationProcessor
-com.google.errorprone:error_prone_annotations:2.18.0=spotless865458226
com.google.errorprone:error_prone_annotations:2.41.0=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
com.google.errorprone:error_prone_check_api:2.41.0=annotationProcessor,errorprone,testAnnotationProcessor
com.google.errorprone:error_prone_core:2.41.0=annotationProcessor,errorprone,testAnnotationProcessor
-com.google.googlejavaformat:google-java-format:1.18.1=spotless865458226
com.google.googlejavaformat:google-java-format:1.27.0=annotationProcessor,errorprone,testAnnotationProcessor
-com.google.guava:failureaccess:1.0.1=spotless865458226
com.google.guava:failureaccess:1.0.3=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
-com.google.guava:guava-parent:32.1.1-jre=spotless865458226
-com.google.guava:guava:32.1.1-jre=spotless865458226
com.google.guava:guava:33.4.8-jre=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath
@@ -37,8 +31,7 @@
com.j256.simplemagic:simplemagic:1.17=jarValidation,testRuntimeClasspath
com.jayway.jsonpath:json-path:2.9.0=jarValidation,testRuntimeClasspath
com.tdunning:t-digest:3.3=jarValidation,testRuntimeClasspath
commons-cli:commons-cli:1.10.0=jarValidation,testRuntimeClasspath
-commons-codec:commons-codec:1.19.0=jarValidation,testCompileClasspath,testRuntimeClasspath
-commons-io:commons-io:2.17.0=permitTestUnusedDeclared
+commons-codec:commons-codec:1.19.0=jarValidation,testRuntimeClasspath
commons-io:commons-io:2.20.0=jarValidation,testCompileClasspath,testRuntimeClasspath
io.dropwizard.metrics:metrics-annotation:4.2.26=jarValidation,testRuntimeClasspath
io.dropwizard.metrics:metrics-core:4.2.26=jarValidation,testRuntimeClasspath
@@ -46,25 +39,16 @@
io.dropwizard.metrics:metrics-jetty12-ee10:4.2.26=jarValidation,testRuntimeClass
io.dropwizard.metrics:metrics-jetty12:4.2.26=jarValidation,testRuntimeClasspath
io.github.eisop:dataflow-errorprone:3.41.0-eisop1=annotationProcessor,errorprone,testAnnotationProcessor
io.github.java-diff-utils:java-diff-utils:4.12=annotationProcessor,errorprone,testAnnotationProcessor
-io.netty:netty-buffer:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-buffer:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
io.netty:netty-codec-base:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-codec:4.1.119.Final=permitTestUnusedDeclared
-io.netty:netty-common:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-handler:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-handler:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-resolver:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-resolver:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-tcnative-boringssl-static:2.0.70.Final=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-tcnative-classes:2.0.70.Final=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-transport-classes-epoll:4.1.119.Final=permitTestUnusedDeclared
+io.netty:netty-tcnative-boringssl-static:2.0.70.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
+io.netty:netty-tcnative-classes:2.0.70.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
io.netty:netty-transport-classes-epoll:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-transport-native-epoll:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-transport-native-epoll:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-transport-native-unix-common:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
-io.netty:netty-transport:4.1.119.Final=permitTestUnusedDeclared
io.netty:netty-transport:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath
io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.22.0-alpha=jarValidation,testRuntimeClasspath
io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.22.0=jarValidation,testRuntimeClasspath
@@ -91,7 +75,6 @@
jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,testRuntimeClasspa
jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
junit:junit:4.13.2=jarValidation,testCompileClasspath,testRuntimeClasspath
-net.bytebuddy:byte-buddy:1.18.3=jarValidation,testCompileClasspath,testRuntimeClasspath
org.antlr:antlr4-runtime:4.13.2=jarValidation,testRuntimeClasspath
org.apache.commons:commons-exec:1.5.0=jarValidation,testRuntimeClasspath
org.apache.commons:commons-lang3:3.20.0=jarValidation,testRuntimeClasspath
@@ -99,8 +82,8 @@
org.apache.commons:commons-math3:3.6.1=jarValidation,testRuntimeClasspath
org.apache.curator:curator-client:5.9.0=jarValidation,testCompileClasspath,testRuntimeClasspath
org.apache.curator:curator-framework:5.9.0=jarValidation,testCompileClasspath,testRuntimeClasspath
org.apache.curator:curator-test:5.9.0=jarValidation,testRuntimeClasspath
-org.apache.httpcomponents:httpclient:4.5.14=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.apache.httpcomponents:httpcore:4.4.16=jarValidation,testCompileClasspath,testRuntimeClasspath
+org.apache.httpcomponents:httpclient:4.5.14=jarValidation,testRuntimeClasspath
+org.apache.httpcomponents:httpcore:4.4.16=jarValidation,testRuntimeClasspath
org.apache.httpcomponents:httpmime:4.5.14=jarValidation,testRuntimeClasspath
org.apache.logging.log4j:log4j-api:2.25.3=jarValidation,testRuntimeClasspath
org.apache.logging.log4j:log4j-core:2.25.3=jarValidation,testRuntimeClasspath
@@ -127,14 +110,11 @@
org.apache.lucene:lucene-spatial-extras:10.3.2=jarValidation,testRuntimeClasspat
org.apache.lucene:lucene-spatial3d:10.3.2=jarValidation,testRuntimeClasspath
org.apache.lucene:lucene-suggest:10.3.2=jarValidation,testRuntimeClasspath
org.apache.lucene:lucene-test-framework:10.3.2=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.apache.yetus:audience-annotations:0.12.0=permitTestUnusedDeclared
-org.apache.zookeeper:zookeeper-jute:3.9.4=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
-org.apache.zookeeper:zookeeper:3.9.4=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.apache.zookeeper:zookeeper-jute:3.9.4=jarValidation,testCompileClasspath,testRuntimeClasspath
+org.apache.zookeeper:zookeeper:3.9.4=jarValidation,testCompileClasspath,testRuntimeClasspath
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
-org.checkerframework:checker-qual:3.33.0=spotless865458226
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,testRuntimeClasspath
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
@@ -145,7 +125,6 @@
org.eclipse.jetty:jetty-alpn-java-client:12.0.27=compileClasspath,jarValidation,
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-ee:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-http:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-io:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
@@ -153,7 +132,6 @@
org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,test
org.eclipse.jetty:jetty-server:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-util:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-xml:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,testRuntimeClasspath
@@ -173,17 +151,13 @@
org.junit.jupiter:junit-jupiter-api:5.6.2=jarValidation,testRuntimeClasspath
org.junit.platform:junit-platform-commons:1.6.2=jarValidation,testRuntimeClasspath
org.junit:junit-bom:5.6.2=jarValidation,testRuntimeClasspath
org.locationtech.spatial4j:spatial4j:0.8=jarValidation,testRuntimeClasspath
-org.mockito:mockito-core:5.19.0=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.mockito:mockito-subclass:5.19.0=jarValidation,testRuntimeClasspath
-org.objenesis:objenesis:3.3=jarValidation,testRuntimeClasspath
org.opentest4j:opentest4j:1.2.0=jarValidation,testRuntimeClasspath
org.ow2.asm:asm-commons:9.8=jarValidation,testRuntimeClasspath
org.ow2.asm:asm-tree:9.8=jarValidation,testRuntimeClasspath
org.ow2.asm:asm:9.8=jarValidation,testRuntimeClasspath
org.pcollections:pcollections:4.0.1=annotationProcessor,errorprone,testAnnotationProcessor
org.semver4j:semver4j:6.0.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
-org.slf4j:jcl-over-slf4j:2.0.17=jarValidation,runtimeClasspath,testRuntimeClasspath
-org.slf4j:slf4j-api:2.0.13=permitTestUnusedDeclared
+org.slf4j:jcl-over-slf4j:2.0.17=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
org.slf4j:slf4j-api:2.0.17=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.xerial.snappy:snappy-java:1.1.10.8=jarValidation,testRuntimeClasspath
-empty=apiHelperTest,compileOnlyHelperTest,missingdoclet,openApiSpecFile,permitAggregatorUse,permitTestAggregatorUse,permitTestUsedUndeclared,permitUnusedDeclared,permitUsedUndeclared,signatures
+empty=apiHelperTest,compileOnlyHelperTest,missingdoclet,permitAggregatorUse,permitTestAggregatorUse,permitTestUnusedDeclared,permitTestUsedUndeclared,permitUnusedDeclared,permitUsedUndeclared,signatures
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/AuthenticationStoreHolder.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/AuthenticationStoreHolder.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/AuthenticationStoreHolder.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/AuthenticationStoreHolder.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
similarity index 85%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
index 2ac6577d8b2..2275976eefc 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
+++
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClient.java
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.jetty;
import java.io.Closeable;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Locale;
@@ -35,6 +36,7 @@ import org.apache.solr.common.params.UpdateParams;
import org.eclipse.jetty.client.InputStreamResponseListener;
import org.eclipse.jetty.client.OutputStreamRequestContent;
import org.eclipse.jetty.client.Request;
+import org.eclipse.jetty.client.Response;
import org.eclipse.jetty.http.HttpMethod;
/** A ConcurrentUpdate SolrClient using {@link HttpJettySolrClient}. */
@@ -73,9 +75,9 @@ public class ConcurrentUpdateJettySolrClient extends
ConcurrentUpdateBaseSolrCli
}
@Override
- protected InputStreamResponseListener doSendUpdateStream(
- ConcurrentUpdateBaseSolrClient.Update update) throws IOException,
InterruptedException {
- InputStreamResponseListener responseListener;
+ protected StreamingResponse
doSendUpdateStream(ConcurrentUpdateBaseSolrClient.Update update)
+ throws IOException, InterruptedException {
+ InputStreamResponseListener jettyListener;
try (OutStream out = initOutStream(basePath, update.request(),
update.collection())) {
ConcurrentUpdateBaseSolrClient.Update upd = update;
while (upd != null) {
@@ -91,9 +93,9 @@ public class ConcurrentUpdateJettySolrClient extends
ConcurrentUpdateBaseSolrCli
notifyQueueAndRunnersIfEmptyQueue();
upd = queue.poll(pollQueueTimeMillis, TimeUnit.MILLISECONDS);
}
- responseListener = out.getResponseListener();
+ jettyListener = out.getResponseListener();
}
- return responseListener;
+ return new JettyStreamingResponse(jettyListener);
}
private static class OutStream implements Closeable {
@@ -143,6 +145,40 @@ public class ConcurrentUpdateJettySolrClient extends
ConcurrentUpdateBaseSolrCli
}
}
+ /**
+ * Jetty-specific implementation of StreamingResponse that wraps Jetty's
+ * InputStreamResponseListener.
+ */
+ private static class JettyStreamingResponse implements StreamingResponse {
+ private final InputStreamResponseListener listener;
+ private Response response;
+
+ JettyStreamingResponse(InputStreamResponseListener listener) {
+ this.listener = listener;
+ }
+
+ @Override
+ public int awaitResponse(long timeoutMillis) throws Exception {
+ response = listener.get(timeoutMillis, TimeUnit.MILLISECONDS);
+ return response.getStatus();
+ }
+
+ @Override
+ public InputStream getInputStream() {
+ return listener.getInputStream();
+ }
+
+ @Override
+ public Object getUnderlyingResponse() {
+ return response;
+ }
+
+ @Override
+ public void close() throws IOException {
+ // Jetty handles cleanup automatically
+ }
+ }
+
private OutStream initOutStream(String baseUrl, UpdateRequest updateRequest,
String collection)
throws IOException {
String contentType = client.getRequestWriter().getUpdateContentType();
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/HttpListenerFactory.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpListenerFactory.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/HttpListenerFactory.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpListenerFactory.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/PreemptiveBasicAuthClientCustomizer.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/PreemptiveBasicAuthClientCustomizer.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/PreemptiveBasicAuthClientCustomizer.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/PreemptiveBasicAuthClientCustomizer.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/SSLConfig.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/SSLConfig.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/SSLConfig.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/SSLConfig.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/SolrBasicAuthentication.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/SolrBasicAuthentication.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/SolrBasicAuthentication.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/SolrBasicAuthentication.java
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/jetty/package-info.java
b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/package-info.java
similarity index 100%
rename from
solr/solrj/src/java/org/apache/solr/client/solrj/jetty/package-info.java
rename to
solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/package-info.java
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientBadInputTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientBadInputTest.java
similarity index 100%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientBadInputTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientBadInputTest.java
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientMultiCollectionTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientMultiCollectionTest.java
similarity index 100%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientMultiCollectionTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientMultiCollectionTest.java
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
similarity index 99%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
index bb2d3c5cef8..9c89cf3d27b 100644
---
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
+++
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/ConcurrentUpdateJettySolrClientTest.java
@@ -47,7 +47,6 @@ import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.SolrNamedThreadFactory;
import org.apache.solr.embedded.JettyConfig;
import org.apache.solr.util.SolrJettyTestRule;
-import org.eclipse.jetty.client.Response;
import org.eclipse.jetty.ee10.servlet.ServletHolder;
import org.junit.BeforeClass;
import org.junit.ClassRule;
@@ -363,7 +362,7 @@ public class ConcurrentUpdateJettySolrClientTest extends
SolrTestCaseJ4 {
}
@Override
- public void onSuccess(Response resp, InputStream respBody) {
+ public void onSuccess(Object responseMetadata, InputStream respBody) {
successCounter.incrementAndGet();
}
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientCompatibilityTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientCompatibilityTest.java
similarity index 100%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientCompatibilityTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientCompatibilityTest.java
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientProxyTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientProxyTest.java
similarity index 100%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientProxyTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientProxyTest.java
diff --git
a/solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientTest.java
b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientTest.java
similarity index 100%
rename from
solr/solrj/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientTest.java
rename to
solr/solrj-jetty/src/test/org/apache/solr/client/solrj/jetty/HttpJettySolrClientTest.java
diff --git a/solr/solrj-streaming/build.gradle
b/solr/solrj-streaming/build.gradle
index 4ea3110e203..ee33ad8041a 100644
--- a/solr/solrj-streaming/build.gradle
+++ b/solr/solrj-streaming/build.gradle
@@ -21,6 +21,7 @@ description = 'Solrj-Streaming - SolrJ requiring Streaming
Expressions'
dependencies {
implementation project(':solr:solrj')
+ implementation project(':solr:solrj-jetty')
// declare dependencies we use even though already declared by solrj-core
implementation libs.slf4j.api
diff --git a/solr/solrj-zookeeper/build.gradle
b/solr/solrj-zookeeper/build.gradle
index c4c776095d1..e04f230b30e 100644
--- a/solr/solrj-zookeeper/build.gradle
+++ b/solr/solrj-zookeeper/build.gradle
@@ -31,6 +31,7 @@ dependencies {
}
implementation project(':solr:solrj')
+ implementation project(':solr:solrj-jetty')
implementation project(':solr:api')
implementation libs.slf4j.api
diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle
index 70106db2a80..f2a9e8b0445 100644
--- a/solr/solrj/build.gradle
+++ b/solr/solrj/build.gradle
@@ -36,14 +36,6 @@ dependencies {
implementation libs.slf4j.api
runtimeOnly libs.slf4j.jcloverslf4j
- api libs.eclipse.jetty.http2.client
- implementation libs.eclipse.jetty.http2.httpclienttransport
- implementation libs.eclipse.jetty.http
- implementation libs.eclipse.jetty.client
- implementation libs.eclipse.jetty.util
- implementation libs.eclipse.jetty.io
- runtimeOnly libs.eclipse.jetty.alpnjavaclient
-
compileOnly libs.stephenc.jcip.annotations
testImplementation libs.apache.httpcomponents.httpclient
@@ -52,6 +44,7 @@ dependencies {
testImplementation project(':solr:test-framework')
testImplementation project(':solr:core')
testImplementation project(':solr:solrj')
+ testImplementation project(':solr:solrj-jetty')
// ideally ZK centric tests move to solrj-zookeeper but sometimes we depend
on ZK here anyway
testImplementation project(':solr:solrj-zookeeper')
@@ -73,13 +66,28 @@ dependencies {
testImplementation libs.jakarta.servlet.api
+ // Jetty test dependencies - needed for solrj's own tests
+ // Client libraries
+ testImplementation libs.eclipse.jetty.http2.client
+ permitTestUnusedDeclared libs.eclipse.jetty.http2.client
+ testImplementation libs.eclipse.jetty.client
+ permitTestUnusedDeclared libs.eclipse.jetty.client
+ testImplementation libs.eclipse.jetty.http
+ permitTestUnusedDeclared libs.eclipse.jetty.http
+ // Server libraries
testImplementation libs.eclipse.jetty.server
+ permitTestUnusedDeclared libs.eclipse.jetty.server
testImplementation libs.eclipse.jetty.ee10.servlet
+ permitTestUnusedDeclared libs.eclipse.jetty.ee10.servlet
testImplementation libs.eclipse.jetty.ee10.webapp
+ permitTestUnusedDeclared libs.eclipse.jetty.ee10.webapp
testRuntimeOnly(libs.eclipse.jetty.alpnjavaserver, {
exclude group: "org.eclipse.jetty.alpn", module: "alpn-api"
})
testImplementation libs.eclipse.jetty.session
+ permitTestUnusedDeclared libs.eclipse.jetty.session
+ permitTestUnusedDeclared libs.jakarta.servlet.api
+
testImplementation(libs.mockito.core, {
exclude group: "net.bytebuddy", module: "byte-buddy-agent"
})
@@ -162,3 +170,22 @@ sourceSets {
}
}
}
+
+// Configuration to share test classes with other modules (solrj-jetty)
+configurations {
+ testArtifacts {
+ canBeConsumed = true
+ canBeResolved = false
+ }
+}
+
+// Create a JAR of test classes
+task testJar(type: Jar) {
+ archiveClassifier = 'tests'
+ from sourceSets.test.output
+}
+
+// Make test classes available as an artifact
+artifacts {
+ testArtifacts testJar
+}
diff --git a/solr/solrj/gradle.lockfile b/solr/solrj/gradle.lockfile
index 2af80f358a8..2da955a56c5 100644
--- a/solr/solrj/gradle.lockfile
+++ b/solr/solrj/gradle.lockfile
@@ -86,7 +86,7 @@
io.sgr:s2-geometry-library-java:1.0.0=jarValidation,testRuntimeClasspath
io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
jakarta.annotation:jakarta.annotation-api:2.1.1=jarValidation,testRuntimeClasspath
jakarta.inject:jakarta.inject-api:2.0.1=jarValidation,testRuntimeClasspath
-jakarta.servlet:jakarta.servlet-api:6.1.0=jarValidation,testCompileClasspath,testRuntimeClasspath
+jakarta.servlet:jakarta.servlet-api:6.1.0=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
jakarta.validation:jakarta.validation-api:3.0.2=jarValidation,testRuntimeClasspath
jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor
@@ -133,27 +133,27 @@
org.apache.zookeeper:zookeeper:3.9.4=jarValidation,permitTestUnusedDeclared,test
org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath
org.checkerframework:checker-qual:3.33.0=spotless865458226
org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,testRuntimeClasspath
-org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-alpn-java-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,testRuntimeClasspath
org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-ee:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-http:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-io:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-client:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-ee:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-http:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-io:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
org.eclipse.jetty:jetty-rewrite:12.0.27=jarValidation,testRuntimeClasspath
-org.eclipse.jetty:jetty-security:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-server:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-session:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-util:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
-org.eclipse.jetty:jetty-xml:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-security:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-server:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-session:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-util:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
+org.eclipse.jetty:jetty-xml:12.0.27=jarValidation,permitTestUnusedDeclared,testCompileClasspath,testRuntimeClasspath
org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=jarValidation,testRuntimeClasspath
org.glassfish.hk2:hk2-api:3.1.1=jarValidation,testRuntimeClasspath
org.glassfish.hk2:hk2-locator:3.1.1=jarValidation,testRuntimeClasspath
@@ -183,7 +183,6 @@ org.ow2.asm:asm:9.8=jarValidation,testRuntimeClasspath
org.pcollections:pcollections:4.0.1=annotationProcessor,errorprone,testAnnotationProcessor
org.semver4j:semver4j:6.0.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath
org.slf4j:jcl-over-slf4j:2.0.17=jarValidation,runtimeClasspath,testRuntimeClasspath
-org.slf4j:slf4j-api:2.0.13=permitTestUnusedDeclared
-org.slf4j:slf4j-api:2.0.17=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
+org.slf4j:slf4j-api:2.0.17=apiHelper,compileClasspath,jarValidation,permitTestUnusedDeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
org.xerial.snappy:snappy-java:1.1.10.8=jarValidation,testRuntimeClasspath
empty=apiHelperTest,compileOnlyHelperTest,missingdoclet,openApiSpecFile,permitAggregatorUse,permitTestAggregatorUse,permitTestUsedUndeclared,permitUnusedDeclared,permitUsedUndeclared,signatures
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateBaseSolrClient.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateBaseSolrClient.java
index 16bac664891..25f24de0ed8 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateBaseSolrClient.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateBaseSolrClient.java
@@ -20,6 +20,7 @@ package org.apache.solr.client.solrj.impl;
import java.io.IOException;
import java.io.InputStream;
import java.lang.invoke.MethodHandles;
+import java.net.HttpURLConnection;
import java.util.ArrayDeque;
import java.util.Iterator;
import java.util.Queue;
@@ -42,9 +43,6 @@ import org.apache.solr.common.util.ExecutorUtil;
import org.apache.solr.common.util.IOUtils;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SolrNamedThreadFactory;
-import org.eclipse.jetty.client.InputStreamResponseListener;
-import org.eclipse.jetty.client.Response;
-import org.eclipse.jetty.http.HttpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@@ -246,15 +244,14 @@ public abstract class ConcurrentUpdateBaseSolrClient
extends SolrClient {
break;
}
- InputStreamResponseListener responseListener = null;
+ StreamingResponse responseListener = null;
responseListener = doSendUpdateStream(update);
// just wait for the headers, so the idle timeout is sensible
- Response response = responseListener.get(idleTimeoutMillis,
TimeUnit.MILLISECONDS);
+ int statusCode = responseListener.awaitResponse(idleTimeoutMillis);
rspBody = responseListener.getInputStream();
- int statusCode = response.getStatus();
- if (statusCode != HttpStatus.OK_200) {
+ if (statusCode != HttpURLConnection.HTTP_OK) {
SolrException solrExc;
Object remoteError = null;
// parse out the metadata from the SolrException
@@ -271,7 +268,7 @@ public abstract class ConcurrentUpdateBaseSolrClient
extends SolrClient {
handleError(solrExc);
} else {
- onSuccess(response, rspBody);
+ onSuccess(responseListener.getUnderlyingResponse(), rspBody);
}
stallDetection.incrementProcessedCount();
@@ -290,7 +287,7 @@ public abstract class ConcurrentUpdateBaseSolrClient
extends SolrClient {
}
}
- protected abstract InputStreamResponseListener doSendUpdateStream(Update
update)
+ protected abstract StreamingResponse doSendUpdateStream(Update update)
throws IOException, InterruptedException;
private void consumeFully(InputStream is) {
@@ -550,9 +547,11 @@ public abstract class ConcurrentUpdateBaseSolrClient
extends SolrClient {
/**
* Intended to be used as an extension point for doing post-processing after
a request completes.
*
+ * @param responseMetadata implementation-specific response object (e.g.,
Jetty Response), may be
+ * null
* @param respBody the body of the response, subclasses must not close this
stream.
*/
- public void onSuccess(Response resp, InputStream respBody) {
+ public void onSuccess(Object responseMetadata, InputStream respBody) {
// no-op by design, override to add functionality
}
@@ -773,4 +772,52 @@ public abstract class ConcurrentUpdateBaseSolrClient
extends SolrClient {
return client;
}
}
+
+ /**
+ * Abstraction for streaming HTTP response handling in {@link
ConcurrentUpdateBaseSolrClient}.
+ * This allows the base class to work with different HTTP client
implementations without direct
+ * dependencies on specific client libraries (e.g., Jetty, JDK HttpClient).
+ *
+ * <p>Implementations should wrap the underlying HTTP client's response
mechanism and provide
+ * access to response status and body stream.
+ */
+ public interface StreamingResponse extends AutoCloseable {
+
+ /**
+ * Wait for response headers to arrive and return the HTTP status code.
+ *
+ * @param timeoutMillis maximum time to wait in milliseconds
+ * @return HTTP status code (e.g., 200, 404, 500)
+ * @throws Exception if timeout occurs, connection fails, or other error
+ */
+ int awaitResponse(long timeoutMillis) throws Exception;
+
+ /**
+ * Get the response body as an InputStream for parsing.
+ *
+ * <p>This should be called after {@link #awaitResponse(long)} has
successfully returned.
+ *
+ * @return response body stream, never null
+ */
+ InputStream getInputStream();
+
+ /**
+ * Get the underlying implementation-specific response object.
+ *
+ * <p>This is used by the {@link
ConcurrentUpdateBaseSolrClient#onSuccess(Object, InputStream)}
+ * hook method to allow subclasses access to implementation-specific
metadata. The returned
+ * object type depends on the HTTP client implementation being used.
+ *
+ * @return underlying response object (implementation-specific), may be
null
+ */
+ Object getUnderlyingResponse();
+
+ /**
+ * Release resources associated with this response.
+ *
+ * @throws IOException if cleanup fails
+ */
+ @Override
+ void close() throws IOException;
+ }
}
diff --git
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCustomizer.java
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCustomizer.java
index 98dc2d57564..e61213df8c5 100644
---
a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCustomizer.java
+++
b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCustomizer.java
@@ -22,8 +22,9 @@ import org.apache.solr.client.solrj.SolrClient;
* A config hook for post-configuration of a {@linkplain SolrClient} by its
builder. It is not
* supported by all builders.
*
+ * <p>Implementations can be specified via system property in some client
builders.
+ *
* @param <T> type of SolrClient this customizer targets
- * @see
org.apache.solr.client.solrj.jetty.HttpJettySolrClient#CLIENT_CUSTOMIZER_SYSPROP
* @lucene.experimental
*/
public interface SolrClientCustomizer<T extends SolrClient> {
diff --git a/solr/test-framework/build.gradle b/solr/test-framework/build.gradle
index dfe4044e476..9a6ca030350 100644
--- a/solr/test-framework/build.gradle
+++ b/solr/test-framework/build.gradle
@@ -32,6 +32,7 @@ dependencies {
api project(':solr:core')
api project(':solr:solrj')
+ api project(':solr:solrj-jetty')
api project(':solr:api')
implementation project(':solr:solrj-zookeeper')