This is an automated email from the ASF dual-hosted git repository. janhoy pushed a commit to branch branch_10_0 in repository https://gitbox.apache.org/repos/asf/solr.git
commit 84fa14fc22e7a7bf33211d4292c7eae569823bda 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) --- .../v10.0.0/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/licenses/osgi.annotation-LICENSE-ASL.txt | 201 --------------------- solr/licenses/osgi.annotation-NOTICE.txt | 47 ----- 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 | 2 + solr/solr-ref-guide/gradle.lockfile | 17 +- .../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 + 55 files changed, 400 insertions(+), 425 deletions(-) diff --git a/changelog/v10.0.0/SOLR-17161-separate-jetty-solrj.yml b/changelog/v10.0.0/SOLR-17161-separate-jetty-solrj.yml new file mode 100644 index 00000000000..219a0ba6871 --- /dev/null +++ b/changelog/v10.0.0/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 790f37b28dd..a6ae16d5167 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/licenses/osgi.annotation-LICENSE-ASL.txt b/solr/licenses/osgi.annotation-LICENSE-ASL.txt deleted file mode 100644 index 8dada3edaf5..00000000000 --- a/solr/licenses/osgi.annotation-LICENSE-ASL.txt +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed 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. diff --git a/solr/licenses/osgi.annotation-NOTICE.txt b/solr/licenses/osgi.annotation-NOTICE.txt deleted file mode 100644 index 93d1bc067f0..00000000000 --- a/solr/licenses/osgi.annotation-NOTICE.txt +++ /dev/null @@ -1,47 +0,0 @@ -# Notices for osgi - -This content is produced and maintained by the OSGi Specification Project. - - * Project home: https://projects.eclipse.org/projects/technology.osgi - -## Trademarks - -OSGi and the OSGi Logo are trademarks of the Eclipse Foundation. Eclipse and -the Eclipse Logo are registered trademarks of the Eclipse Foundation. - -## Copyright - -All content is the property of the respective authors or their employers. -For more information regarding authorship of content, please consult the -listed source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Apache License, Version 2.0 which is available at -http://www.apache.org/licenses/LICENSE-2.0 - -SPDX-License-Identifier: Apache-2.0 - -## Source Code - -The project maintains the following source code repositories: - - * https://github.com/osgi/osgi.git - -## Third-party Content - -The Content may include items that have been sourced from third parties as follows:</p> - -JUnit - - * License: CPL-1.0 (JUnit 3), EPL-1.0 (JUnit 4), EPL-2.0 (JUnit 5) - * Project: https://junit.org/ - * Source: https://github.com/junit-team - -Apache Software Foundation - - * License: Apache-2.0 - * Project: https://apache.org/ - * Source: https://github.com/apache/ - 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 9cc21db3732..8b8513a2470 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 6717787ed26..61badb20d76 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 a51cccb3c97..d363f50bcbf 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 7923817ab01..65622e16e6b 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 78f51b0f33b..28f0cf1a411 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 d8a1650fe87..8393ff25e2c 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 7bef6e93664..98c0b88f6ea 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 e36ee0d7703..9e7b9f8326b 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 effb95844ad..df9a3cb4d3d 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 432de9d59b3..1caa7e1700a 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 c0f90253c17..c138d280a53 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 a86f12333ed..e5a340571d3 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 4dced1fdacc..8be570b41b8 100644 --- a/solr/solr-ref-guide/build.gradle +++ b/solr/solr-ref-guide/build.gradle @@ -546,6 +546,8 @@ 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/gradle.lockfile b/solr/solr-ref-guide/gradle.lockfile index dd92b13ba95..b4fc8293e4f 100644 --- a/solr/solr-ref-guide/gradle.lockfile +++ b/solr/solr-ref-guide/gradle.lockfile @@ -25,7 +25,8 @@ com.google.guava:failureaccess:1.0.3=annotationProcessor,errorprone,testAnnotati com.google.guava:guava:33.4.8-jre=annotationProcessor,errorprone,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,errorprone,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,errorprone,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -com.google.protobuf:protobuf-java:3.25.8=annotationProcessor,errorprone,testAnnotationProcessor +com.google.protobuf:protobuf-java:3.25.8=annotationProcessor,errorprone,testAnnotationProcessor,testRuntimeClasspath +com.googlecode.json-simple:json-simple:1.1.1=testRuntimeClasspath com.j256.simplemagic:simplemagic:1.17=testRuntimeClasspath com.jayway.jsonpath:json-path:2.9.0=testRuntimeClasspath com.tdunning:t-digest:3.3=testRuntimeClasspath @@ -75,12 +76,20 @@ jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath org.antlr:antlr4-runtime:4.13.2=testRuntimeClasspath +org.apache.calcite.avatica:avatica-core:1.25.0=testRuntimeClasspath +org.apache.calcite.avatica:avatica-metrics:1.25.0=testRuntimeClasspath +org.apache.calcite:calcite-core:1.37.0=testRuntimeClasspath +org.apache.calcite:calcite-linq4j:1.37.0=testRuntimeClasspath org.apache.commons:commons-exec:1.5.0=testRuntimeClasspath org.apache.commons:commons-lang3:3.20.0=testRuntimeClasspath org.apache.commons:commons-math3:3.6.1=testRuntimeClasspath +org.apache.commons:commons-text:1.15.0=testRuntimeClasspath org.apache.curator:curator-client:5.9.0=testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-framework:5.9.0=testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-test:5.9.0=testRuntimeClasspath +org.apache.httpcomponents.client5:httpclient5:5.2.1=testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5-h2:5.2=testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5:5.2.3=testRuntimeClasspath org.apache.httpcomponents:httpclient:4.5.14=testRuntimeClasspath org.apache.httpcomponents:httpcore:4.4.16=testRuntimeClasspath org.apache.httpcomponents:httpmime:4.5.14=testRuntimeClasspath @@ -113,6 +122,9 @@ org.apache.lucene:lucene-test-framework:10.3.2=testCompileClasspath,testRuntimeC org.apache.zookeeper:zookeeper-jute:3.9.4=testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testRuntimeClasspath +org.checkerframework:checker-qual:3.44.0=testRuntimeClasspath +org.codehaus.janino:commons-compiler:3.1.11=testRuntimeClasspath +org.codehaus.janino:janino:3.1.11=testRuntimeClasspath org.codehaus.woodstox:stax2-api:4.2.2=testRuntimeClasspath org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=testRuntimeClasspath @@ -150,6 +162,9 @@ org.jspecify:jspecify:1.0.0=annotationProcessor,errorprone,testAnnotationProcess org.junit.jupiter:junit-jupiter-api:5.6.2=testRuntimeClasspath org.junit.platform:junit-platform-commons:1.6.2=testRuntimeClasspath org.junit:junit-bom:5.6.2=testRuntimeClasspath +org.locationtech.jts.io:jts-io-common:1.19.0=testRuntimeClasspath +org.locationtech.jts:jts-core:1.19.0=testRuntimeClasspath +org.locationtech.proj4j:proj4j:1.2.2=testRuntimeClasspath org.locationtech.spatial4j:spatial4j:0.8=testRuntimeClasspath org.opentest4j:opentest4j:1.2.0=testRuntimeClasspath org.ow2.asm:asm-commons:9.8=testRuntimeClasspath 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 9d7118f7943..abc6efacb67 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.0=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.20.0=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.0=jarValidation,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.20.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.20.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.0=jarValidation,testRuntimeClasspath com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.20.0=jarValidation,testRuntimeClasspath com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.20.0=jarValidation,testRuntimeClasspath com.fasterxml.jackson:jackson-bom:2.20.0=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.17.7=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 e0c078f1eec..e6efa9a6f99 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 @@ -45,7 +45,6 @@ import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.util.ExecutorUtil; import org.apache.solr.common.util.SolrNamedThreadFactory; import org.apache.solr.embedded.JettyConfig; -import org.eclipse.jetty.client.Response; import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.junit.BeforeClass; import org.junit.Test; @@ -358,7 +357,7 @@ public class ConcurrentUpdateJettySolrClientTest extends SolrJettyTestBase { } @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 9d7118f7943..c52b31fc851 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.0.0=jarValidation,testCompileClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.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')
