diff --git a/changelog/unreleased/SOLR-17161-solrj-jetty.yml b/changelog/unreleased/SOLR-17161-solrj-jetty.yml new file mode 100644 index 00000000000..32320009a0e --- /dev/null +++ b/changelog/unreleased/SOLR-17161-solrj-jetty.yml @@ -0,0 +1,9 @@ +# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc +title: 'SolrJ: separated Jetty HttpClient using classes to a new solrj-jetty module, +package org.apache.solr.solrj.jetty, and did some renames.' +type: other # added, changed, fixed, deprecated, removed, dependency_update, security, other +authors: + - name: David Smiley +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 7e4954a0498..9bdc5307ea1 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 7b635cbbeb9..b32e93304cb 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/api/gradle.lockfile b/solr/api/gradle.lockfile index 80e1151820b..e844ee57a14 100644 --- a/solr/api/gradle.lockfile +++ b/solr/api/gradle.lockfile @@ -20,12 +20,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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 @@ -123,14 +129,15 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat 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.http2:jetty-http2-client-transport:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,testRuntimeClasspath -org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,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 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/benchmark/gradle.lockfile b/solr/benchmark/gradle.lockfile index c69eb9ea37a..2e6f87b04aa 100644 --- a/solr/benchmark/gradle.lockfile +++ b/solr/benchmark/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -114,6 +120,7 @@ org.apache.lucene:lucene-test-framework:10.3.1=compileClasspath,jarValidation,ru org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=jarValidation,runtimeClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,testRuntimeClasspath diff --git a/solr/core/build.gradle b/solr/core/build.gradle index 1737714ab2f..214a8943c7b 100644 --- a/solr/core/build.gradle +++ b/solr/core/build.gradle @@ -50,6 +50,7 @@ dependencies { api project(':solr:solrj') api project(':solr:solrj-zookeeper') api project(':solr:solrj-streaming') + implementation project(":solr:solrj-jetty") implementation libs.dropwizard.metrics.core diff --git a/solr/core/gradle.lockfile b/solr/core/gradle.lockfile index ccc40fb7f4f..0b16690c53a 100644 --- a/solr/core/gradle.lockfile +++ b/solr/core/gradle.lockfile @@ -19,13 +19,18 @@ 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=permitUnusedDeclared +com.google.code.findbugs:jsr305:3.0.2=permitUnusedDeclared,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -133,6 +138,7 @@ org.apiguardian:apiguardian-api:1.1.2=jarValidation,testCompileClasspath,testRun org.carrot2:morfologik-fsa:2.1.9=jarValidation,testRuntimeClasspath org.carrot2:morfologik-polish:2.1.9=jarValidation,testRuntimeClasspath org.carrot2:morfologik-stemming:2.1.9=jarValidation,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.codehaus.woodstox:stax2-api:4.2.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,testRuntimeClasspath diff --git a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java index 0a78e179019..47a598a24ec 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java +++ b/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandlerFactory.java @@ -35,6 +35,7 @@ import org.apache.solr.client.solrj.impl.LBHttp2SolrClient; import org.apache.solr.client.solrj.impl.LBSolrClient; import org.apache.solr.client.solrj.impl.SolrHttpConstants; +import org.apache.solr.client.solrj.jetty.LBJettySolrClient; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.routing.AffinityReplicaListTransformerFactory; import org.apache.solr.client.solrj.routing.ReplicaListTransformer; @@ -307,7 +308,7 @@ public void init(PluginInfo info) { .withMaxConnectionsPerHost(maxConnectionsPerHost) .build(); this.defaultClient.addListenerFactory(this.httpListenerFactory); - this.loadbalancer = new LBHttp2SolrClient.Builder(defaultClient).build(); + this.loadbalancer = new LBJettySolrClient.Builder(defaultClient).build(); initReplicaListTransformers(getParameter(args, "replicaRouting", null, sb)); diff --git a/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java b/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java index 77c910a8da2..4e6ad9bbe26 100644 --- a/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java +++ b/solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java @@ -21,6 +21,7 @@ import java.io.IOException; import java.util.List; import java.util.concurrent.TimeUnit; +import org.apache.solr.client.solrj.HttpClientBuilderFactory; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; @@ -28,7 +29,6 @@ import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.apache.CloudLegacySolrClient; import org.apache.solr.client.solrj.apache.HttpSolrClient; -import org.apache.solr.client.solrj.impl.SolrHttpConstants; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.request.UpdateRequest; @@ -48,7 +48,7 @@ public static void setupCluster() throws Exception { // for context) if (rarely()) { System.setProperty( - SolrHttpConstants.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY, + HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP, "org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory"); System.setProperty("solr.security.auth.basicauth.credentials", SecurityJson.USER_PASS); } 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 c5725676656..ea14964f903 100644 --- a/solr/cross-dc-manager/gradle.lockfile +++ b/solr/cross-dc-manager/gradle.lockfile @@ -20,13 +20,19 @@ com.github.luben:zstd-jni:1.5.6-4=jarValidation,runtimeClasspath,runtimeLibs,sol 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.code.gson:gson:2.13.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -152,16 +158,17 @@ org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtime org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath org.bitbucket.b_c:jose4j:0.9.6=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.codehaus.woodstox:stax2-api:4.2.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.ee10:jetty-ee10-servlets:12.0.27=solrPlatformLibs org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=solrPlatformLibs org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-common:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath -org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath -org.eclipse.jetty:jetty-alpn-client:12.0.27=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-client:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-java-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,solrPlatformLibs,testRuntimeClasspath diff --git a/solr/modules/analysis-extras/gradle.lockfile b/solr/modules/analysis-extras/gradle.lockfile index 3e404fed263..39a204faac8 100644 --- a/solr/modules/analysis-extras/gradle.lockfile +++ b/solr/modules/analysis-extras/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -129,25 +135,26 @@ org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath org.carrot2:morfologik-fsa:2.1.9=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath org.carrot2:morfologik-polish:2.1.9=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath org.carrot2:morfologik-stemming:2.1.9=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 7f1c903c5f0..ff58910b049 100644 --- a/solr/modules/clustering/gradle.lockfile +++ b/solr/modules/clustering/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -117,25 +123,26 @@ org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtime org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath org.carrot2:carrot2-core:4.8.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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..53d3d9d943f 100644 --- a/solr/modules/cross-dc/build.gradle +++ b/solr/modules/cross-dc/build.gradle @@ -31,6 +31,7 @@ dependencies { implementation platform(project(':platform')) api project(':solr:core') implementation project(':solr:solrj') + implementation project(':solr:solrj-jetty') implementation project(':solr:solrj-zookeeper') implementation libs.slf4j.api diff --git a/solr/modules/cross-dc/gradle.lockfile b/solr/modules/cross-dc/gradle.lockfile index 88655f6183f..1d42cc9368c 100644 --- a/solr/modules/cross-dc/gradle.lockfile +++ b/solr/modules/cross-dc/gradle.lockfile @@ -17,12 +17,18 @@ com.github.luben:zstd-jni:1.5.6-4=jarValidation,runtimeClasspath,runtimeLibs,tes 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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -120,6 +126,7 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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=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 diff --git a/solr/modules/cuvs/gradle.lockfile b/solr/modules/cuvs/gradle.lockfile index 984f1ff276b..89499a2c369 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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 a8c49ad423c..b4ff5ce905f 100644 --- a/solr/modules/extraction/gradle.lockfile +++ b/solr/modules/extraction/gradle.lockfile @@ -19,12 +19,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -122,12 +128,13 @@ org.apache.tika:tika-core:3.2.3=compileClasspath,jarValidation,runtimeClasspath, org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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 5b039ec1577..6f5351f07b2 100644 --- a/solr/modules/gcs-repository/gradle.lockfile +++ b/solr/modules/gcs-repository/gradle.lockfile @@ -36,13 +36,19 @@ com.google.cloud:google-cloud-core-http:2.60.1=compileClasspath,jarValidation,ru com.google.cloud:google-cloud-core:2.60.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath com.google.cloud:google-cloud-nio:0.127.20=jarValidation,testCompileClasspath,testRuntimeClasspath com.google.cloud:google-cloud-storage:2.40.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=spotless865458226 com.google.code.gson:gson:2.13.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath 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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.http-client:google-http-client-apache-v2:1.45.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath @@ -167,27 +173,28 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.checkerframework:checker-qual:3.44.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.codehaus.woodstox:stax2-api:4.2.2=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath 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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 7cc4afb007e..80cb694fb3a 100644 --- a/solr/modules/jwt-auth/build.gradle +++ b/solr/modules/jwt-auth/build.gradle @@ -33,6 +33,7 @@ dependencies { implementation project(':solr:core') implementation project(':solr:solrj') + implementation project(':solr:solrj-jetty') implementation libs.bc.jose4j diff --git a/solr/modules/jwt-auth/gradle.lockfile b/solr/modules/jwt-auth/gradle.lockfile index 1cb162af3de..7104664dee5 100644 --- a/solr/modules/jwt-auth/gradle.lockfile +++ b/solr/modules/jwt-auth/gradle.lockfile @@ -18,12 +18,18 @@ com.github.stephenc.jcip:jcip-annotations:1.0-1=jarValidation,testCompileClasspa 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -141,6 +147,7 @@ org.bouncycastle:bcprov-jdk15on:1.70=jarValidation,testRuntimeClasspath org.bouncycastle:bcprov-jdk18on:1.81=jarValidation,testCompileClasspath,testRuntimeClasspath org.bouncycastle:bcutil-jdk15on:1.70=jarValidation,testRuntimeClasspath org.bouncycastle:bcutil-jdk18on:1.81=jarValidation,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 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 diff --git a/solr/modules/langid/gradle.lockfile b/solr/modules/langid/gradle.lockfile index f0f9e63cbe9..7218f0620ad 100644 --- a/solr/modules/langid/gradle.lockfile +++ b/solr/modules/langid/gradle.lockfile @@ -17,12 +17,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -119,25 +125,26 @@ org.apache.opennlp:opennlp-tools:2.5.6=compileClasspath,jarValidation,runtimeCla org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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/llm/gradle.lockfile b/solr/modules/llm/gradle.lockfile index 9e0f104cb20..cfaaa9ddcc6 100644 --- a/solr/modules/llm/gradle.lockfile +++ b/solr/modules/llm/gradle.lockfile @@ -17,13 +17,19 @@ 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.code.gson:gson:2.13.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -131,25 +137,26 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 c3ae6edc2b3..6a6740da59f 100644 --- a/solr/modules/ltr/gradle.lockfile +++ b/solr/modules/ltr/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -117,25 +123,26 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 e2134951102..af25b617e74 100644 --- a/solr/modules/opentelemetry/gradle.lockfile +++ b/solr/modules/opentelemetry/gradle.lockfile @@ -18,13 +18,19 @@ com.google.api.grpc:proto-google-common-protos:2.61.1=jarValidation,runtimeClass 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.code.gson:gson:2.13.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -149,25 +155,26 @@ org.apache.tomcat:annotations-api:6.0.53=compileClasspath,compileOnlyHelper,jarV org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 0e5a2d0e222..73ac71e0af6 100644 --- a/solr/modules/s3-repository/gradle.lockfile +++ b/solr/modules/s3-repository/gradle.lockfile @@ -28,12 +28,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -144,6 +150,7 @@ org.apache.tomcat.embed:tomcat-embed-el:10.1.28=jarValidation,testCompileClasspa org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.angus:angus-activation:2.0.2=jarValidation,testRuntimeClasspath org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client:12.0.12=jarValidation,testCompileClasspath,testRuntimeClasspath @@ -157,28 +164,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 aee3663cffc..d32972f1b00 100644 --- a/solr/modules/scripting/gradle.lockfile +++ b/solr/modules/scripting/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -116,25 +122,26 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 e4e28c6495f..6b54dbd0967 100644 --- a/solr/modules/sql/gradle.lockfile +++ b/solr/modules/sql/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -137,28 +143,29 @@ org.apiguardian:apiguardian-api:1.1.2=compileClasspath,jarValidation,runtimeClas org.carrot2:morfologik-fsa:2.1.9=jarValidation,testRuntimeClasspath org.carrot2:morfologik-polish:2.1.9=jarValidation,testRuntimeClasspath org.carrot2:morfologik-stemming:2.1.9=jarValidation,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.checkerframework:checker-qual:3.44.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.codehaus.janino:commons-compiler:3.1.11=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath org.codehaus.janino:janino:3.1.11=jarValidation,runtimeClasspath,runtimeLibs,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,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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,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 d94227812dd..670483c4f1e 100644 --- a/solr/solr-ref-guide/build.gradle +++ b/solr/solr-ref-guide/build.gradle @@ -528,6 +528,7 @@ dependencies { // For the SolrJ examples testImplementation project(":solr:core") testImplementation project(":solr:solrj") + testImplementation project(':solr:solrj-jetty') 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 872894e8834..27801cc57ae 100644 --- a/solr/solr-ref-guide/gradle.lockfile +++ b/solr/solr-ref-guide/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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,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,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,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 @@ -113,6 +119,7 @@ org.apache.lucene:lucene-test-framework:10.3.1=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.33.0=spotless865458226 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 diff --git a/solr/solr-ref-guide/modules/configuration-guide/pages/solr-properties.adoc b/solr/solr-ref-guide/modules/configuration-guide/pages/solr-properties.adoc index a34f654cce1..80c83295c91 100644 --- a/solr/solr-ref-guide/modules/configuration-guide/pages/solr-properties.adoc +++ b/solr/solr-ref-guide/modules/configuration-guide/pages/solr-properties.adoc @@ -96,13 +96,15 @@ NOTE: Properties marked with "!" indicate inverted meaning between old and new p |solr.security.allow.urls|solr.allowUrls||A comma seperated list of urls for reading from. -|solr.security.allow.urls.enabled|!solr.disable.allow.urls|false|If using an allow list of accessible urls is enabled. +|solr.security.allow.urls.enabled|!solr.disable.allow.urls|false|If using an allow list of accessible urls is enabled. |solr.security.auth.plugin|authenticationPlugin||Specifies the authentication plugin to use. |solr.solrj.cloud.max.stale.retries|cloudSolrClientMaxStaleRetries|5|Sets the maximum number of retries for stale connection attempts in SolrJ cloud client. +|solr.solrj.http.customizer|solr.httpclient.builder.factory||A class loaded to customize HttpJettySolrClient upon creation. + |solr.streamingexpressions.facet.tiered.enabled|solr.facet.stream.tiered|true|Controls whether tiered faceting is enabled for streaming expressions. |solr.streamingexpressions.macros.enabled|StreamingExpressionMacros|false|Controls whether to expand URL parameters inside of the `expr` parameter. @@ -142,8 +144,8 @@ System properties can be set in several ways: 2. In `solr.in.sh` (Unix) or `solr.in.cmd` (Windows) using environment variables 3. Through environment variables (with appropriate naming conventions) -Environment variables can also be used to set these properties. -You may find this useful in environments such as Docker. +Environment variables can also be used to set these properties. +You may find this useful in environments such as Docker. Environment variables should be uppercase with dot notations equivalents, e.g. `SOLR_API_V2_ENABLED` for the property `solr.api.v2.enabled`. == See Also 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 e61f17567f7..bed5fd07ce3 100644 --- a/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc +++ b/solr/solr-ref-guide/modules/deployment-guide/pages/solrj.adoc @@ -95,11 +95,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/impl/Http2SolrClient.html[`Http2SolrClient`] - a general purpose client based on Jetty HttpClient. Supports HTTP/2 and HTTP/1.1, async, non-blocking. Most used & tested. +- {solr-jetty-javadocs}/solrj/org/apache/solr/client/solrj/impl/Http2SolrClient.html[`Http2SolrClient`] - 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/LBHttp2SolrClient.html[`LBHttp2SolrClient`] - 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-jetty-javadocs}/solrj/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.html[`LBHttp2SolrClient`] - 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/impl/ConcurrentUpdateHttp2SolrClient.html[`ConcurrentUpdateHttp2SolrClient`] - geared towards indexing-centric workloads. +- {solr-jetty-javadocs}/solrj/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.html[`ConcurrentUpdateHttp2SolrClient`] - 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 c283d0c03b6..8b4a7bb9fa9 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 @@ -72,6 +72,10 @@ 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 extracted to a new module "solrj-jetty" and moved to a new package `org.apache.solr.solrj.jetty`, and possibly renamed. +Renames: `Http2SolrClient` to `HttpJettySolrClient`, `ConcurrentUpdateHttp2SolrClient` to `ConcurrentUpdateJettySolrClient`, `LBHttp2SolrClient` to `LBAsyncSolrClient`, adding LBJettySolrClient. +nocommit CloudJettySolrClient/CloudHttp2SolrClient. + * `SolrClient` implementations that rely on "base URL" strings now only accept "root" URL paths (i.e. URLs that end in "/solr"). Users who previously relied on collection-specific URLs to avoid including the collection name with each request can instead achieve this by specifying a "default collection" using the `withDefaultCollection` method available on most `SolrClient` Builders. diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc index 5e21087a965..105c61dee70 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-8.adoc @@ -80,8 +80,7 @@ In order to support SSL over HTTP/2 connections, Solr uses ALPN. Java 8 does not include an implementation of ALPN, therefore Solr will start with HTTP/1 only when SSL is enabled and Java 8 is in use. ==== Client Changes for HTTP/2 -{solr-javadocs}/solrj/org/apache/solr/client/solrj/impl/Http2SolrClient.html[`Http2SolrClient`] -with HTTP/2 and async capabilities based on Jetty Client is introduced. This client replaced +`Http2SolrClient` with HTTP/2 and async capabilities based on Jetty Client is introduced. This client replaced `HttpSolrClient` and `ConcurrentUpdateSolrClient` for sending most internal requests (sent by `UpdateShardHandler` and `HttpShardHandler`). diff --git a/solr/solrj-jetty/build.gradle b/solr/solrj-jetty/build.gradle new file mode 100644 index 00000000000..50c5ddf1ec9 --- /dev/null +++ b/solr/solrj-jetty/build.gradle @@ -0,0 +1,53 @@ +/* + * 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. + */ + +apply plugin: 'java-library' + +description = 'Solrj-Jetty - SolrJ clients using Jetty HttpClient' + +dependencies { + api project(':solr:solrj') + + implementation libs.slf4j.api + + 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 + + testImplementation project(':solr:test-framework') + testImplementation project(':solr:core') + testImplementation(project(path: ":solr:solrj", configuration: "tests")) + + testImplementation libs.apache.lucene.testframework + + testImplementation libs.carrotsearch.randomizedtesting.runner + testImplementation libs.junit.junit + testImplementation libs.hamcrest.hamcrest + + testImplementation libs.eclipse.jetty.ee10.servlet + + testRuntimeOnly(libs.mockito.subclass, { + exclude group: "net.bytebuddy", module: "byte-buddy-agent" + }) + testRuntimeOnly(libs.apache.log4j.slf4j2impl, { + exclude group: "org.apache.logging.log4j", module: "log4j-api" + }) +} diff --git a/solr/solrj-jetty/gradle.lockfile b/solr/solrj-jetty/gradle.lockfile new file mode 100644 index 00000000000..cfac6a423a3 --- /dev/null +++ b/solr/solrj-jetty/gradle.lockfile @@ -0,0 +1,176 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +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=apiHelper,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.20.0=apiHelper,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.0=jarValidation,testCompileClasspath,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 +com.fasterxml.woodstox:woodstox-core:7.0.0=jarValidation,testRuntimeClasspath +com.github.ben-manes.caffeine:caffeine:3.2.2=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testRuntimeClasspath +com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone,testAnnotationProcessor +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 +com.google.protobuf:protobuf-java:3.25.8=annotationProcessor,errorprone,testAnnotationProcessor +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.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 +io.dropwizard.metrics:metrics-jetty12-ee10:4.2.26=jarValidation,testRuntimeClasspath +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.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +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.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-exporter-prometheus:1.50.0-alpha=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-common:1.53.0=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-metrics:1.53.0=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-trace:1.53.0=jarValidation,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk:1.53.0=jarValidation,testRuntimeClasspath +io.prometheus:prometheus-metrics-exposition-formats:1.1.0=jarValidation,testRuntimeClasspath +io.prometheus:prometheus-metrics-model:1.1.0=jarValidation,testRuntimeClasspath +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.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 +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.19.0=jarValidation,testRuntimeClasspath +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:httpmime:4.5.14=jarValidation,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.21.0=jarValidation,testRuntimeClasspath +org.apache.logging.log4j:log4j-core:2.21.0=jarValidation,testRuntimeClasspath +org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0=jarValidation,testCompileClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-common:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-kuromoji:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-analysis-nori:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-analysis-phonetic:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-backward-codecs:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-classification:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-codecs:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-core:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath +org.apache.lucene:lucene-expressions:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-facet:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-grouping:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-highlighter:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-join:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-memory:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-misc:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-queries:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath +org.apache.lucene:lucene-queryparser:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-sandbox:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-spatial-extras:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-spatial3d:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-suggest:10.3.1=jarValidation,testRuntimeClasspath +org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,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 +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,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-java-server:12.0.27=jarValidation,testCompileClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-server:12.0.27=jarValidation,testCompileClasspath,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 +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.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 +org.glassfish.hk2:hk2-utils:3.1.1=jarValidation,testRuntimeClasspath +org.glassfish.hk2:osgi-resource-locator:1.0.3=jarValidation,testRuntimeClasspath +org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1=jarValidation,testRuntimeClasspath +org.glassfish.jersey.core:jersey-client:3.1.11=jarValidation,testRuntimeClasspath +org.glassfish.jersey.core:jersey-common:3.1.11=jarValidation,testRuntimeClasspath +org.glassfish.jersey.core:jersey-server:3.1.11=jarValidation,testRuntimeClasspath +org.glassfish.jersey.ext:jersey-entity-filtering:3.1.11=jarValidation,testRuntimeClasspath +org.glassfish.jersey.inject:jersey-hk2:3.1.11=jarValidation,testRuntimeClasspath +org.glassfish.jersey.media:jersey-media-json-jackson:3.1.11=jarValidation,testRuntimeClasspath +org.hamcrest:hamcrest:3.0=jarValidation,testCompileClasspath,testRuntimeClasspath +org.javassist:javassist:3.30.2-GA=jarValidation,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=annotationProcessor,apiHelper,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +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,testCompileClasspath,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=apiHelper,jarValidation,runtimeClasspath,testCompileClasspath,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,compileOnlyHelper,compileOnlyHelperTest,missingdoclet,permitAggregatorUse,permitTestAggregatorUse,permitTestUnusedDeclared,permitTestUsedUndeclared,permitUnusedDeclared,permitUsedUndeclared,signatures diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java similarity index 100% rename from solr/solrj/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/embedded/SSLConfig.java diff --git a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/embedded/package-info.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/embedded/package-info.java new file mode 100644 index 00000000000..5066050cacc --- /dev/null +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/embedded/package-info.java @@ -0,0 +1,19 @@ +/* + * 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. + */ + +/** TODO delete */ +package org.apache.solr.client.solrj.embedded; diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/AuthenticationStoreHolder.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/AuthenticationStoreHolder.java similarity index 100% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/AuthenticationStoreHolder.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/AuthenticationStoreHolder.java diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java similarity index 99% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java index 91f57fe55cc..333b50b5fa5 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/ConcurrentUpdateHttp2SolrClient.java @@ -49,6 +49,7 @@ /** A Solr client using {@link Http2SolrClient} to send concurrent updates to Solr. */ public class ConcurrentUpdateHttp2SolrClient extends SolrClient { + // nocommit rename to ConcurrentUpdateJettySolrClient private static final long serialVersionUID = 1L; private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final Update END_UPDATE = new Update(null, null); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java similarity index 98% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java index 6f7d14c702e..f025f911b40 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java @@ -40,6 +40,7 @@ import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; import org.apache.solr.client.api.util.SolrVersion; +import org.apache.solr.client.solrj.HttpClientBuilderFactory; import org.apache.solr.client.solrj.ResponseParser; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrClientFunction; @@ -48,6 +49,7 @@ import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.embedded.SSLConfig; import org.apache.solr.client.solrj.impl.HttpListenerFactory.RequestResponseListener; +import org.apache.solr.client.solrj.jetty.LBJettySolrClient; import org.apache.solr.client.solrj.request.RequestWriter; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.client.solrj.util.ClientUtils; @@ -102,6 +104,8 @@ * HttpJettySolrClient}. */ public class Http2SolrClient extends HttpSolrClientBase { + // nocommit rename to HttpJettySolrClient + private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); public static final String REQ_PRINCIPAL_KEY = "solr-req-principal"; private static final String USER_AGENT = @@ -187,7 +191,7 @@ private void initAuthStoreFromExistingClient(HttpClient httpClient) { private void applyHttpClientBuilderFactory() { String factoryClassName = - System.getProperty(SolrHttpConstants.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY); + System.getProperty(HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP); if (factoryClassName != null) { log.debug("Using Http Builder Factory: {}", factoryClassName); HttpClientBuilderFactory factory; @@ -626,6 +630,13 @@ public final R requestWithBaseUrl( return requestWithBaseUrl(baseUrl, (c) -> req.process(c, collection)); } + @Override + public NamedList requestWithBaseUrlNl( + String baseUrl, String collection, SolrRequest solrRequest) + throws SolrServerException, IOException { + return requestWithBaseUrl(baseUrl, (c) -> c.request(solrRequest, collection)); + } + /** * Temporarily modifies the client to use a different base URL and runs the provided lambda * @@ -645,6 +656,11 @@ public R requestWithBaseUrl( } } + @Override + protected LBSolrClient createLBSolrClient() { + return new LBJettySolrClient.Builder(this).build(); + } + @Override public HttpSolrClientBuilderBase builder() { return new Http2SolrClient.Builder().withHttpClient(this); diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpListenerFactory.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/HttpListenerFactory.java similarity index 100% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpListenerFactory.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/HttpListenerFactory.java diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java similarity index 93% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java index e0680be0874..7300739b29d 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/PreemptiveBasicAuthClientBuilderFactory.java @@ -26,6 +26,8 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import org.apache.solr.client.solrj.HttpClientBuilderFactory; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.util.SolrBasicAuthentication; import org.apache.solr.common.params.MapSolrParams; import org.apache.solr.common.params.SolrParams; @@ -39,6 +41,7 @@ * scheme. */ public class PreemptiveBasicAuthClientBuilderFactory implements HttpClientBuilderFactory { + // nocommit rename to PreemptiveBasicAuthClientCustomizer /** * A system property used to specify a properties file containing default parameters used for * creating an HTTP client. This is specifically useful for configuring the HTTP basic auth @@ -66,15 +69,16 @@ public static void setDefaultSolrParams(SolrParams params) { } @Override - public void close() throws IOException {} - - @Override - public void setup(Http2SolrClient client) { + public void setup(SolrClient client) { + if (client instanceof Http2SolrClient == false) { + return; + } + Http2SolrClient jettyClient = (Http2SolrClient) client; final String basicAuthUser = CREDENTIAL_RESOLVER.defaultParams.get(SolrHttpConstants.PROP_BASIC_AUTH_USER); final String basicAuthPass = CREDENTIAL_RESOLVER.defaultParams.get(SolrHttpConstants.PROP_BASIC_AUTH_PASS); - this.setup(client, basicAuthUser, basicAuthPass); + this.setup(jettyClient, basicAuthUser, basicAuthPass); } public void setup(Http2SolrClient client, String basicAuthUser, String basicAuthPass) { diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/StallDetection.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/StallDetection.java similarity index 100% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/StallDetection.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/StallDetection.java diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientBuilderFactory.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/package-info.java similarity index 72% rename from solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientBuilderFactory.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/package-info.java index 2295360c9cc..fcb0684a935 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClientBuilderFactory.java +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/impl/package-info.java @@ -14,16 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.client.solrj.impl; - -import java.io.Closeable; -/** - * A config hook for post-configuration of a {@linkplain Http2SolrClient} by its builder. - * - * @see SolrHttpConstants#SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY - * @lucene.experimental - */ -public interface HttpClientBuilderFactory extends Closeable { - default void setup(Http2SolrClient client) {} -} +/** TODO delete */ +package org.apache.solr.client.solrj.impl; diff --git a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java new file mode 100644 index 00000000000..c6db1f69792 --- /dev/null +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/CloudJettySolrClient.java @@ -0,0 +1,66 @@ +/* + * 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. + */ + +package org.apache.solr.client.solrj.jetty; + +import java.util.List; +import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient; +import org.apache.solr.client.solrj.impl.ClusterStateProvider; +import org.apache.solr.client.solrj.impl.Http2SolrClient; + +/** + * A {@link org.apache.solr.client.solrj.impl.CloudSolrClient} using Jetty {@code HttpClient} for + * HTTP communication. This is Solr's most robust CloudSolrClient. + */ +public class CloudJettySolrClient extends CloudHttp2SolrClient { + + protected CloudJettySolrClient(Builder builder) { + super(builder); + } + + public static class Builder extends CloudHttp2SolrClient.Builder { + + public Builder(List solrUrls) { + super(solrUrls); + } + + public Builder(ClusterStateProvider stateProvider) { + super(stateProvider); + } + + @Override + public CloudJettySolrClient build() { + return new CloudJettySolrClient(this); + } + + @Override + protected Http2SolrClient createOrGetHttpClient() { + if (httpClient != null) { + return (Http2SolrClient) httpClient; + } else if (internalClientBuilder != null) { + return (Http2SolrClient) internalClientBuilder.build(); + } else { + return new Http2SolrClient.Builder().build(); + } + } + } + + @Override + public Http2SolrClient getHttpClient() { + return (Http2SolrClient) super.getHttpClient(); + } +} diff --git a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java new file mode 100644 index 00000000000..b2519373a33 --- /dev/null +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/LBJettySolrClient.java @@ -0,0 +1,54 @@ +/* + * 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. + */ +package org.apache.solr.client.solrj.jetty; + +import java.io.IOException; +import java.util.concurrent.CompletableFuture; +import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.client.solrj.SolrRequest; +import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.Http2SolrClient; +import org.apache.solr.client.solrj.impl.LBHttp2SolrClient; +import org.apache.solr.client.solrj.impl.LBSolrClient; +import org.apache.solr.common.util.NamedList; + +/** An {@link LBSolrClient} based on Jetty HttpClient, supporting async. */ +public class LBJettySolrClient extends LBHttp2SolrClient { + + protected LBJettySolrClient(Builder builder) { + super(builder); + } + + public static class Builder extends LBSolrClient.Builder { + + public Builder(Http2SolrClient solrClient, Endpoint... endpoints) { + super(solrClient, endpoints); + } + + @Override + public LBJettySolrClient build() { + return new LBJettySolrClient(this); + } + } + + @Override + protected CompletableFuture> requestAsyncWithUrl( + SolrClient client, String baseUrl, SolrRequest request) + throws SolrServerException, IOException { + return ((Http2SolrClient) client).requestWithBaseUrl(baseUrl, c -> c.requestAsync(request)); + } +} diff --git a/solr/solrj-jetty/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 new file mode 100644 index 00000000000..cd7607f2790 --- /dev/null +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/package-info.java @@ -0,0 +1,19 @@ +/* + * 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. + */ + +/** SolrJ code that depends on Jetty client / HttpClient. */ +package org.apache.solr.client.solrj.jetty; diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrBasicAuthentication.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/util/SolrBasicAuthentication.java similarity index 100% rename from solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrBasicAuthentication.java rename to solr/solrj-jetty/src/java/org/apache/solr/client/solrj/util/SolrBasicAuthentication.java diff --git a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/util/package-info.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/util/package-info.java new file mode 100644 index 00000000000..965d4162ef4 --- /dev/null +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/util/package-info.java @@ -0,0 +1,19 @@ +/* + * 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. + */ + +/** TODO delete */ +package org.apache.solr.client.solrj.util; diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java similarity index 98% rename from solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java rename to solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java index 3763e251da6..e30039d0311 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java +++ b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientCompatibilityTest.java @@ -23,6 +23,7 @@ import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.ServletFixtures.DebugServlet; import org.apache.solr.embedded.JettyConfig; import org.apache.solr.util.LogLevel; import org.eclipse.jetty.client.transport.HttpClientTransportOverHTTP; @@ -32,6 +33,7 @@ @LogLevel("org.eclipse.jetty.client=DEBUG;org.eclipse.jetty.util=DEBUG") @SolrTestCaseJ4.SuppressSSL public class Http2SolrClientCompatibilityTest extends SolrJettyTestBase { + // nocommit rename public void testSystemPropertyFlag() { System.setProperty("solr.http1", "true"); diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java similarity index 99% rename from solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java rename to solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java index 10dc7930cdf..b8ad8224cdf 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java +++ b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientProxyTest.java @@ -35,6 +35,7 @@ import org.junit.Test; public class Http2SolrClientProxyTest extends SolrTestCaseJ4 { + // nocommit rename @ClassRule public static SolrJettyTestRule solrClientTestRule = new SolrJettyTestRule(); diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java similarity index 97% rename from solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java rename to solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java index c66bd436985..dbca6dc2423 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java +++ b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/Http2SolrClientTest.java @@ -30,11 +30,13 @@ import java.util.stream.IntStream; import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.solr.client.api.util.SolrVersion; +import org.apache.solr.client.solrj.HttpClientBuilderFactory; import org.apache.solr.client.solrj.ResponseParser; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.ServletFixtures.DebugServlet; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.request.SolrPing; import org.apache.solr.common.SolrException; @@ -49,6 +51,7 @@ import org.junit.Test; public class Http2SolrClientTest extends HttpSolrClientTestBase { + // nocommit rename @Override protected String expectedUserAgent() { @@ -137,7 +140,8 @@ public void testSolrExceptionWithNullBaseurl() throws IOException, SolrServerExc try (Http2SolrClient client = new Http2SolrClient.Builder(null).build()) { try { // if client base url is null, request url will be used in exception message - client.requestWithBaseUrl(getBaseUrl() + DEBUG_SERVLET_PATH, DEFAULT_CORE, new SolrPing()); + client.requestWithBaseUrlNl( + getBaseUrl() + DEBUG_SERVLET_PATH, DEFAULT_CORE, new SolrPing()); fail("Didn't get excepted exception from oversided request"); } catch (SolrException e) { @@ -230,7 +234,7 @@ public void testOverrideBaseUrl() throws Exception { try (Http2SolrClient client = new Http2SolrClient.Builder(defaultUrl).withDefaultCollection(DEFAULT_CORE).build()) { try { - client.requestWithBaseUrl(urlToUse, null, new QueryRequest(queryParams)); + client.requestWithBaseUrlNl(urlToUse, null, new QueryRequest(queryParams)); } catch (SolrClient.RemoteSolrException rse) { } @@ -489,7 +493,7 @@ public void testSetCredentialsWithSysProps() throws IOException, SolrServerExcep System.setProperty( PreemptiveBasicAuthClientBuilderFactory.SYS_PROP_BASIC_AUTH_CREDENTIALS, "foo:bar"); System.setProperty( - SolrHttpConstants.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY, + HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP, PreemptiveBasicAuthClientBuilderFactory.class.getName()); // Hack to ensure we get a new set of parameters for this test PreemptiveBasicAuthClientBuilderFactory.setDefaultSolrParams( @@ -517,7 +521,7 @@ public void testSetCredentialsWithSysProps() throws IOException, SolrServerExcep authorizationHeader); } finally { System.clearProperty(PreemptiveBasicAuthClientBuilderFactory.SYS_PROP_BASIC_AUTH_CREDENTIALS); - System.clearProperty(SolrHttpConstants.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY); + System.clearProperty(HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP); PreemptiveBasicAuthClientBuilderFactory.setDefaultSolrParams(SolrParams.of()); } } @@ -594,7 +598,7 @@ public void testBadExplicitCredentials() { @Test public void testBadHttpFactory() { - System.setProperty(SolrHttpConstants.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY, "FakeClassName"); + System.setProperty(HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP, "FakeClassName"); try { SolrClient client = new Http2SolrClient.Builder(getBaseUrl() + DEBUG_SERVLET_PATH) @@ -675,7 +679,7 @@ public void testIdleTimeoutWithHttpClient() throws Exception { // too little time to succeed int packets = LuceneTestCase.RANDOM_MULTIPLIER == 1 ? 10 : 80; // 60 crosses a default timeout - long timeToSendMs = (long) packets * BasicHttpSolrClientTest.SlowStreamServlet.PACKET_MS; + long timeToSendMs = (long) packets * ServletFixtures.SlowStreamServlet.PACKET_MS; QueryRequest req = new QueryRequest(SolrParams.of("count", "" + packets)); req.setResponseParser(new InputStreamResponseParser(FILE_STREAM)); assertIsTimeout(expectThrows(SolrServerException.class, () -> oldClient.request(req))); diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java similarity index 88% rename from solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java rename to solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java index 9d2019309b0..27d3c35609f 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java +++ b/solr/solrj-jetty/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientTest.java @@ -19,10 +19,8 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collections; -import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -31,6 +29,7 @@ import org.apache.solr.client.solrj.SolrClientFunction; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.jetty.LBJettySolrClient; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.MapSolrParams; @@ -39,34 +38,7 @@ /** Test the LBHttp2SolrClient. */ public class LBHttp2SolrClientTest extends SolrTestCase { - - /** - * Test method for {@link LBHttp2SolrClient.Builder} that validates that the query param keys - * passed in by the base Http2SolrClient - * instance are used by the LBHttp2SolrClient. - */ - @Test - public void testLBHttp2SolrClientWithTheseParamNamesInTheUrl() { - String url = "http://127.0.0.1:8080"; - Set urlParamNames = new HashSet<>(2); - urlParamNames.add("param1"); - - try (Http2SolrClient http2SolrClient = - new Http2SolrClient.Builder(url).withTheseParamNamesInTheUrl(urlParamNames).build(); - LBHttp2SolrClient testClient = - new LBHttp2SolrClient.Builder<>(http2SolrClient, new LBSolrClient.Endpoint(url)) - .build()) { - - assertArrayEquals( - "Wrong urlParamNames found in lb client.", - urlParamNames.toArray(), - testClient.getUrlParamNames().toArray()); - assertArrayEquals( - "Wrong urlParamNames found in base client.", - urlParamNames.toArray(), - http2SolrClient.getUrlParamNames().toArray()); - } - } + // nocommit rename @Test public void testSynchronous() throws Exception { @@ -76,10 +48,9 @@ public void testSynchronous() throws Exception { Http2SolrClient.Builder b = new Http2SolrClient.Builder("http://base.url").withConnectionTimeout(10, TimeUnit.SECONDS); - ; + try (MockHttpSolrClient client = new MockHttpSolrClient("http://base.url", b); - LBHttp2SolrClient testClient = - new LBHttp2SolrClient.Builder<>(client, ep1, ep2).build()) { + var testClient = new LBJettySolrClient.Builder(client, ep1, ep2).build()) { String lastEndpoint = null; for (int i = 0; i < 10; i++) { @@ -105,10 +76,9 @@ public void testSynchronousWithFalures() throws Exception { Http2SolrClient.Builder b = new Http2SolrClient.Builder("http://base.url").withConnectionTimeout(10, TimeUnit.SECONDS); - ; + try (MockHttpSolrClient client = new MockHttpSolrClient("http://base.url", b); - LBHttp2SolrClient testClient = - new LBHttp2SolrClient.Builder<>(client, ep1, ep2).build()) { + var testClient = new LBJettySolrClient.Builder(client, ep1, ep2).build()) { client.basePathToFail = ep1.getBaseUrl(); String basePathToSucceed = ep2.getBaseUrl(); @@ -164,10 +134,9 @@ public void testAsyncWithFailures() { Http2SolrClient.Builder b = new Http2SolrClient.Builder("http://base.url").withConnectionTimeout(10, TimeUnit.SECONDS); - ; + try (MockHttpSolrClient client = new MockHttpSolrClient("http://base.url", b); - LBHttp2SolrClient testClient = - new LBHttp2SolrClient.Builder<>(client, ep1, ep2).build()) { + var testClient = new LBJettySolrClient.Builder(client, ep1, ep2).build()) { for (int j = 0; j < 2; j++) { // first time Endpoint One will return error code 500. @@ -230,8 +199,7 @@ public void testAsync() { Http2SolrClient.Builder b = new Http2SolrClient.Builder("http://base.url").withConnectionTimeout(10, TimeUnit.SECONDS); try (MockHttpSolrClient client = new MockHttpSolrClient("http://base.url", b); - LBHttp2SolrClient testClient = - new LBHttp2SolrClient.Builder<>(client, ep1, ep2).build()) { + var testClient = new LBJettySolrClient.Builder(client, ep1, ep2).build()) { int limit = 10; // For simplicity use an even limit List> responses = new ArrayList<>(); diff --git a/solr/solrj-streaming/build.gradle b/solr/solrj-streaming/build.gradle index 4ea3110e203..8ef2c122bfc 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') // unfortunate // declare dependencies we use even though already declared by solrj-core implementation libs.slf4j.api diff --git a/solr/solrj-streaming/gradle.lockfile b/solr/solrj-streaming/gradle.lockfile index 443095a4cdc..a5108e8511d 100644 --- a/solr/solrj-streaming/gradle.lockfile +++ b/solr/solrj-streaming/gradle.lockfile @@ -16,12 +16,18 @@ com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone 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 @@ -132,6 +138,7 @@ 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.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.checkerframework:checker-qual:3.44.0=jarValidation,testRuntimeClasspath org.codehaus.janino:commons-compiler:3.1.11=jarValidation,testRuntimeClasspath org.codehaus.janino:janino:3.1.11=jarValidation,testRuntimeClasspath diff --git a/solr/solrj-zookeeper/build.gradle b/solr/solrj-zookeeper/build.gradle index c4c776095d1..7214eb56944 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') // unfortunate implementation project(':solr:api') implementation libs.slf4j.api diff --git a/solr/solrj-zookeeper/gradle.lockfile b/solr/solrj-zookeeper/gradle.lockfile index 97ba198f165..967d6bd93a7 100644 --- a/solr/solrj-zookeeper/gradle.lockfile +++ b/solr/solrj-zookeeper/gradle.lockfile @@ -17,16 +17,19 @@ com.github.spotbugs:spotbugs-annotations:4.9.6=compileClasspath,compileOnlyHelpe 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=permitUnusedDeclared +com.google.code.findbugs:jsr305:3.0.2=permitUnusedDeclared,spotless865458226 com.google.errorprone:error_prone_annotation:2.41.0=annotationProcessor,errorprone,testAnnotationProcessor -com.google.errorprone:error_prone_annotations:2.18.0=apiHelper +com.google.errorprone:error_prone_annotations:2.18.0=apiHelper,spotless865458226 com.google.errorprone:error_prone_annotations:2.41.0=annotationProcessor,compileClasspath,errorprone,jarValidation,permitTestUsedUndeclared,runtimeClasspath,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=apiHelper +com.google.guava:failureaccess:1.0.1=apiHelper,spotless865458226 com.google.guava:failureaccess:1.0.3=annotationProcessor,compileClasspath,errorprone,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath +com.google.guava:guava-parent:32.1.1-jre=spotless865458226 com.google.guava:guava:32.0.0-jre=apiHelper +com.google.guava:guava:32.1.1-jre=spotless865458226 com.google.guava:guava:33.4.8-jre=annotationProcessor,compileClasspath,errorprone,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:2.8=apiHelper @@ -128,7 +131,7 @@ org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelper,compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=apiHelper,compileClasspath,jarValidation,permitTestUsedUndeclared,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath -org.checkerframework:checker-qual:3.33.0=apiHelper +org.checkerframework:checker-qual:3.33.0=apiHelper,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.http2:jetty-http2-client-transport:12.0.27=jarValidation,permitTestUsedUndeclared,runtimeClasspath,testRuntimeClasspath diff --git a/solr/solrj/build.gradle b/solr/solrj/build.gradle index b9520d5b0fd..60d709177bc 100644 --- a/solr/solrj/build.gradle +++ b/solr/solrj/build.gradle @@ -23,7 +23,6 @@ plugins { import com.diffplug.gradle.spotless.JavaExtension - description = 'Solrj - Solr Java Client' dependencies { @@ -35,24 +34,21 @@ 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 + // ideally would be only testRuntime scope but it's not worth it + testImplementation project(":solr:solrj-jetty") + testImplementation libs.eclipse.jetty.client + + // TODO eliminate! testImplementation libs.apache.httpcomponents.httpclient testImplementation libs.apache.httpcomponents.httpcore testImplementation project(':solr:test-framework') testImplementation project(':solr:core') - testImplementation project(':solr:solrj') + testImplementation project(':solr:solrj') // duh; why must we specify this? - // ideally ZK centric tests move to solrj-zookeeper but sometimes we depend on ZK here anyway + // ideally would be only testRuntime scope but it's not worth it testImplementation project(':solr:solrj-zookeeper') testImplementation(libs.apache.zookeeper.zookeeper, { exclude group: "org.apache.yetus", module: "audience-annotations" @@ -72,6 +68,7 @@ dependencies { testImplementation libs.jakarta.servlet.api + testImplementation libs.eclipse.jetty.http testImplementation libs.eclipse.jetty.server testImplementation libs.eclipse.jetty.ee10.servlet testImplementation libs.eclipse.jetty.ee10.webapp @@ -161,3 +158,22 @@ sourceSets { } } } + + +// Expose SolrJ tests as a consumable configuration (without using java-test-fixtures) +configurations { + tests { + canBeConsumed = true + canBeResolved = false + extendsFrom testImplementation, testRuntimeOnly + } +} + +tasks.register('testJar', Jar) { + archiveClassifier = 'tests' + from sourceSets.test.output +} + +artifacts { + tests tasks.named('testJar') +} diff --git a/solr/solrj/gradle.lockfile b/solr/solrj/gradle.lockfile index 996f16b3edc..c9d81892bb7 100644 --- a/solr/solrj/gradle.lockfile +++ b/solr/solrj/gradle.lockfile @@ -1,17 +1,17 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -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.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 -com.fasterxml.woodstox:woodstox-core:7.0.0=jarValidation,testRuntimeClasspath -com.github.ben-manes.caffeine:caffeine:3.2.2=annotationProcessor,errorprone,jarValidation,testAnnotationProcessor,testRuntimeClasspath +com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.8.3=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.carrotsearch:hppc:0.10.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.20=apiHelper,apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.20.0=apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.20.0=apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.20.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.20.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.20.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.20.0=apiHelper,apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.fasterxml.woodstox:woodstox-core:7.0.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.github.ben-manes.caffeine:caffeine:3.2.2=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testFixturesRuntimeClasspath,testRuntimeClasspath com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone,testAnnotationProcessor com.github.stephenc.jcip:jcip-annotations:1.0-1=compileClasspath,compileOnlyHelper,jarValidation com.google.auto.service:auto-service-annotations:1.0.1=annotationProcessor,errorprone,testAnnotationProcessor @@ -20,170 +20,170 @@ com.google.auto:auto-common:1.2.2=annotationProcessor,errorprone,testAnnotationP 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_annotations:2.41.0=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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:failureaccess:1.0.3=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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 +com.google.guava:guava:33.4.8-jre=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelperTestFixtures,errorprone,jarValidation,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath com.google.protobuf:protobuf-java:3.25.8=annotationProcessor,errorprone,testAnnotationProcessor -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 +com.j256.simplemagic:simplemagic:1.17=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.jayway.jsonpath:json-path:2.9.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +com.tdunning:t-digest:3.3=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +commons-cli:commons-cli:1.10.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.19.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath commons-io:commons-io:2.17.0=permitTestUnusedDeclared -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 -io.dropwizard.metrics:metrics-jetty12-ee10:4.2.26=jarValidation,testRuntimeClasspath -io.dropwizard.metrics:metrics-jetty12:4.2.26=jarValidation,testRuntimeClasspath +commons-io:commons-io:2.20.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.dropwizard.metrics:metrics-annotation:4.2.26=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.dropwizard.metrics:metrics-core:4.2.26=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.dropwizard.metrics:metrics-jetty12-ee10:4.2.26=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.dropwizard.metrics:metrics-jetty12:4.2.26=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,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-buffer:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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-common:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath io.netty:netty-handler:4.1.119.Final=permitTestUnusedDeclared -io.netty:netty-handler:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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-resolver:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.netty:netty-tcnative-boringssl-static:2.0.70.Final=apiHelperTestFixtures,jarValidation,permitTestUnusedDeclared,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.netty:netty-tcnative-classes:2.0.70.Final=apiHelperTestFixtures,jarValidation,permitTestUnusedDeclared,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath io.netty:netty-transport-classes-epoll:4.1.119.Final=permitTestUnusedDeclared -io.netty:netty-transport-classes-epoll:4.2.6.Final=jarValidation,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-classes-epoll:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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-epoll:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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-native-unix-common:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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.11.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=jarValidation,testRuntimeClasspath -io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-api:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath -io.opentelemetry:opentelemetry-common:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath -io.opentelemetry:opentelemetry-context:1.53.0=jarValidation,testCompileClasspath,testRuntimeClasspath -io.opentelemetry:opentelemetry-exporter-prometheus:1.50.0-alpha=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-sdk-common:1.53.0=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-sdk-metrics:1.53.0=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-sdk-trace:1.53.0=jarValidation,testRuntimeClasspath -io.opentelemetry:opentelemetry-sdk:1.53.0=jarValidation,testRuntimeClasspath -io.prometheus:prometheus-metrics-exposition-formats:1.1.0=jarValidation,testRuntimeClasspath -io.prometheus:prometheus-metrics-model:1.1.0=jarValidation,testRuntimeClasspath -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.validation:jakarta.validation-api:3.0.2=jarValidation,testRuntimeClasspath -jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.6.Final=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-api-incubator:2.11.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-instrumentation-api:2.11.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java17:2.11.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry.instrumentation:opentelemetry-runtime-telemetry-java8:2.11.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry.semconv:opentelemetry-semconv:1.29.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-api-incubator:1.45.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-api:1.53.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-common:1.53.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-context:1.53.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-exporter-prometheus:1.50.0-alpha=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-common:1.53.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-metrics:1.53.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk-trace:1.53.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.opentelemetry:opentelemetry-sdk:1.53.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.prometheus:prometheus-metrics-exposition-formats:1.1.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.prometheus:prometheus-metrics-model:1.1.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.sgr:s2-geometry-library-java:1.0.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +io.swagger.core.v3:swagger-annotations-jakarta:2.2.22=apiHelper,apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +jakarta.annotation:jakarta.annotation-api:2.1.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +jakarta.inject:jakarta.inject-api:2.0.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +jakarta.servlet:jakarta.servlet-api:6.0.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +jakarta.validation:jakarta.validation-api:3.0.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +jakarta.ws.rs:jakarta.ws.rs-api:3.1.0=apiHelper,apiHelperTestFixtures,jarValidation,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcessor -junit:junit:4.13.2=jarValidation,testCompileClasspath,testRuntimeClasspath +junit:junit:4.13.2=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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.19.0=jarValidation,testRuntimeClasspath -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:httpmime:4.5.14=jarValidation,testRuntimeClasspath -org.apache.logging.log4j:log4j-api:2.21.0=jarValidation,testRuntimeClasspath -org.apache.logging.log4j:log4j-core:2.21.0=jarValidation,testRuntimeClasspath -org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-analysis-common:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath -org.apache.lucene:lucene-analysis-kuromoji:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-analysis-nori:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-analysis-phonetic:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-backward-codecs:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-classification:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-codecs:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-core:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath -org.apache.lucene:lucene-expressions:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-facet:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-grouping:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-highlighter:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-join:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-memory:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-misc:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-queries:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath -org.apache.lucene:lucene-queryparser:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-sandbox:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-spatial-extras:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-spatial3d:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-suggest:10.3.1=jarValidation,testRuntimeClasspath -org.apache.lucene:lucene-test-framework:10.3.1=jarValidation,testCompileClasspath,testRuntimeClasspath +org.antlr:antlr4-runtime:4.13.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.commons:commons-exec:1.5.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.19.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.commons:commons-math3:3.6.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.curator:curator-client:5.9.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.curator:curator-framework:5.9.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.curator:curator-test:5.9.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpclient:4.5.14=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpcore:4.4.16=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.httpcomponents:httpmime:4.5.14=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.logging.log4j:log4j-api:2.21.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.logging.log4j:log4j-core:2.21.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.logging.log4j:log4j-slf4j2-impl:2.21.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-common:10.3.1=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-kuromoji:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-nori:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-analysis-phonetic:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-backward-codecs:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-classification:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-codecs:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-core:10.3.1=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-expressions:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-facet:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-grouping:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-highlighter:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-join:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-memory:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-misc:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-queries:10.3.1=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-queryparser:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-sandbox:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-spatial-extras:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-spatial3d:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-suggest:10.3.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.lucene:lucene-test-framework:10.3.1=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,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.apiguardian:apiguardian-api:1.1.2=jarValidation,testRuntimeClasspath +org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelperTestFixtures,jarValidation,permitTestUnusedDeclared,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apache.zookeeper:zookeeper:3.9.4=apiHelperTestFixtures,jarValidation,permitTestUnusedDeclared,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.apiguardian:apiguardian-api:1.1.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,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.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-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 -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.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 -org.glassfish.hk2:hk2-utils:3.1.1=jarValidation,testRuntimeClasspath -org.glassfish.hk2:osgi-resource-locator:1.0.3=jarValidation,testRuntimeClasspath -org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1=jarValidation,testRuntimeClasspath -org.glassfish.jersey.core:jersey-client:3.1.11=jarValidation,testRuntimeClasspath -org.glassfish.jersey.core:jersey-common:3.1.11=jarValidation,testRuntimeClasspath -org.glassfish.jersey.core:jersey-server:3.1.11=jarValidation,testRuntimeClasspath -org.glassfish.jersey.ext:jersey-entity-filtering:3.1.11=jarValidation,testRuntimeClasspath -org.glassfish.jersey.inject:jersey-hk2:3.1.11=jarValidation,testRuntimeClasspath -org.glassfish.jersey.media:jersey-media-json-jackson:3.1.11=jarValidation,testRuntimeClasspath -org.hamcrest:hamcrest:3.0=jarValidation,testCompileClasspath,testRuntimeClasspath -org.javassist:javassist:3.30.2-GA=jarValidation,testRuntimeClasspath -org.jspecify:jspecify:1.0.0=annotationProcessor,apiHelper,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath -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.codehaus.woodstox:stax2-api:4.2.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.ee10:jetty-ee10-webapp:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-client:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-common:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-hpack:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty.http2:jetty-http2-server:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-client:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-java-client:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-java-server:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-alpn-server:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-client:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-ee:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-http:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-io:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-rewrite:12.0.27=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-security:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-server:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-session:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-util:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.eclipse.jetty:jetty-xml:12.0.27=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.hk2.external:aopalliance-repackaged:3.1.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.hk2:hk2-api:3.1.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.hk2:hk2-locator:3.1.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.hk2:hk2-utils:3.1.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.hk2:osgi-resource-locator:1.0.3=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.containers:jersey-container-jetty-http:2.39.1=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.core:jersey-client:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.core:jersey-common:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.core:jersey-server:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.ext:jersey-entity-filtering:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.inject:jersey-hk2:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.glassfish.jersey.media:jersey-media-json-jackson:3.1.11=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.hamcrest:hamcrest:3.0=apiHelperTestFixtures,jarValidation,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.javassist:javassist:3.30.2-GA=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=annotationProcessor,apiHelper,apiHelperTestFixtures,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.6.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.6.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.junit:junit-bom:5.6.2=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.locationtech.spatial4j:spatial4j:0.8=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,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.opentest4j:opentest4j:1.2.0=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.8=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-tree:9.8=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +org.ow2.asm:asm:9.8=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,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.semver4j:semver4j:6.0.0=apiHelper,apiHelperTestFixtures,jarValidation,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.slf4j:jcl-over-slf4j:2.0.17=apiHelperTestFixtures,jarValidation,runtimeClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath org.slf4j:slf4j-api:2.0.13=permitTestUnusedDeclared -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 +org.slf4j:slf4j-api:2.0.17=apiHelper,apiHelperTestFixtures,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testFixturesCompileClasspath,testFixturesRuntimeClasspath,testRuntimeClasspath +org.xerial.snappy:snappy-java:1.1.10.8=apiHelperTestFixtures,jarValidation,testFixturesRuntimeClasspath,testRuntimeClasspath +empty=apiHelperTest,compileOnlyHelperTest,compileOnlyHelperTestFixtures,missingdoclet,openApiSpecFile,permitAggregatorUse,permitTestAggregatorUse,permitTestFixturesAggregatorUse,permitTestFixturesUnusedDeclared,permitTestFixturesUsedUndeclared,permitTestUsedUndeclared,permitUnusedDeclared,permitUsedUndeclared,signatures,testFixturesAnnotationProcessor diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/HttpClientBuilderFactory.java b/solr/solrj/src/java/org/apache/solr/client/solrj/HttpClientBuilderFactory.java new file mode 100644 index 00000000000..93e83af547e --- /dev/null +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/HttpClientBuilderFactory.java @@ -0,0 +1,35 @@ +/* + * 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. + */ +package org.apache.solr.client.solrj; + +/** + * A config hook for post-configuration of a {@linkplain SolrClient} by its builder. It not + * supported by all builders. + * + * @see #CLIENT_CUSTOMIZER_SYSPROP + * @lucene.experimental + */ +public interface HttpClientBuilderFactory { + // nocommit rename to SolrClientCustomizer + /** + * A Java system property to select the {@linkplain HttpClientBuilderFactory} used for configuring + * HTTP based SolrClients. + */ + String CLIENT_CUSTOMIZER_SYSPROP = "solr.solrj.http.customizer"; + + void setup(SolrClient client); +} diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java index 0bb4d3eb67a..01531740b30 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java @@ -17,8 +17,8 @@ package org.apache.solr.client.solrj.impl; -import java.io.IOException; import java.lang.invoke.MethodHandles; +import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -29,13 +29,13 @@ import org.apache.solr.client.solrj.request.RequestWriter; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.common.SolrException; +import org.apache.solr.common.util.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** - * SolrJ client class to communicate with SolrCloud using an Http/2-capable Solr Client. Instances - * of this class communicate with Zookeeper to discover Solr endpoints for SolrCloud collections, - * and then use the {@link LBHttp2SolrClient} to issue requests. + * This {@link CloudSolrClient} is a base implementation using a {@link HttpSolrClientBase}. The '2' + * in the name has no differentiating significance anymore. * * @since solr 8.0 */ @@ -44,20 +44,32 @@ public class CloudHttp2SolrClient extends CloudSolrClient { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private final ClusterStateProvider stateProvider; - private final LBHttp2SolrClient lbClient; + private final LBSolrClient lbClient; private final HttpSolrClientBase myClient; private final boolean clientIsInternal; - private static final boolean JETTY_CLIENT_AVAILABLE; + // If the Jetty-based Http2SolrClient builder is on the classpath, this will be its no-arg + // constructor; otherwise it will be null and we will fall back to the JDK HTTP client. + private static final Constructor> + HTTP_JETTY_SOLR_CLIENT_BUILDER_CTOR; static { - boolean jettyClientAvailable = true; + Constructor> ctor = null; try { - Class.forName("org.eclipse.jetty.client.HttpClient"); - } catch (ClassNotFoundException e) { - jettyClientAvailable = false; + @SuppressWarnings("unchecked") + Class> builderClass = + (Class>) + Class.forName("org.apache.solr.client.solrj.impl.Http2SolrClient$Builder"); + ctor = builderClass.getDeclaredConstructor(); + ctor.newInstance(); + } catch (Throwable t) { + // Class not present or incompatible; leave ctor as null to indicate unavailability + if (log.isTraceEnabled()) { + log.trace( + "Http2SolrClient$Builder not available on classpath; will use HttpJdkSolrClient", t); + } } - JETTY_CLIENT_AVAILABLE = jettyClientAvailable; + HTTP_JETTY_SOLR_CLIENT_BUILDER_CTOR = ctor; } /** @@ -72,7 +84,7 @@ public class CloudHttp2SolrClient extends CloudSolrClient { protected CloudHttp2SolrClient(Builder builder) { super(builder.shardLeadersOnly, builder.parallelUpdates, builder.directUpdatesToLeadersOnly); this.clientIsInternal = builder.httpClient == null; - this.myClient = createOrGetHttpClientFromBuilder(builder); + this.myClient = builder.createOrGetHttpClient(); this.stateProvider = createClusterStateProvider(builder); this.retryExpiryTimeNano = builder.retryExpiryTimeNano; this.defaultCollection = builder.defaultCollection; @@ -90,21 +102,7 @@ protected CloudHttp2SolrClient(Builder builder) { // locks. this.locks = objectList(builder.parallelCacheRefreshesLocks); - this.lbClient = new LBHttp2SolrClient.Builder<>(myClient).build(); - } - - private HttpSolrClientBase createOrGetHttpClientFromBuilder(Builder builder) { - if (builder.httpClient != null) { - return builder.httpClient; - } else if (builder.internalClientBuilder != null) { - return builder.internalClientBuilder.build(); - } else if (JETTY_CLIENT_AVAILABLE) { - log.debug("Using {} as the delegate http client", Http2SolrClient.class); - return new Http2SolrClient.Builder().build(); - } else { - log.debug("Using {} as the delegate http client", HttpJdkSolrClient.class); - return new HttpJdkSolrClient.Builder().build(); - } + this.lbClient = builder.createOrGetLbClient(myClient); } private ClusterStateProvider createClusterStateProvider(Builder builder) { @@ -128,8 +126,8 @@ private ClusterStateProvider createZkClusterStateProvider(Builder builder) { } return stateProvider; } catch (Exception e) { - closeMyClientIfNeeded(); - throw (e); + close(); + throw e; } } @@ -138,7 +136,7 @@ private ClusterStateProvider createHttp2ClusterStateProvider( try { return new Http2ClusterStateProvider<>(solrUrls, httpClient); } catch (Exception e) { - closeMyClientIfNeeded(); + close(); // doesn't throw throw new RuntimeException( "Couldn't initialize a HttpClusterStateProvider (is/are the " + "Solr server(s), " @@ -148,28 +146,19 @@ private ClusterStateProvider createHttp2ClusterStateProvider( } } - private void closeMyClientIfNeeded() { - try { - if (clientIsInternal && myClient != null) { - myClient.close(); - } - } catch (Exception e) { - throw new RuntimeException("Exception on closing myClient", e); - } - } - @Override - public void close() throws IOException { - stateProvider.close(); - lbClient.close(); - - closeMyClientIfNeeded(); + public void close() { + IOUtils.closeQuietly(stateProvider); + IOUtils.closeQuietly(lbClient); + if (clientIsInternal) { + IOUtils.closeQuietly(myClient); + } super.close(); } @Override - public LBHttp2SolrClient getLbClient() { + public LBSolrClient getLbClient() { return lbClient; } @@ -461,5 +450,33 @@ public CloudHttp2SolrClient build() { return new CloudHttp2SolrClient(this); } + + protected HttpSolrClientBase createOrGetHttpClient() { + if (httpClient != null) { + return httpClient; + } else if (internalClientBuilder != null) { + return internalClientBuilder.build(); + } + + HttpSolrClientBuilderBase builder; + if (HTTP_JETTY_SOLR_CLIENT_BUILDER_CTOR != null) { + try { + log.debug("Using Http2SolrClient as the delegate http client"); + builder = HTTP_JETTY_SOLR_CLIENT_BUILDER_CTOR.newInstance(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } else { + log.debug("Using HttpJdkSolrClient as the delegate http client"); + builder = new HttpJdkSolrClient.Builder(); + } + return builder.build(); + } + + protected LBSolrClient createOrGetLbClient(HttpSolrClientBase myClient) { + return myClient.createLBSolrClient(); + } } } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java index d5a12688a7a..02f18bd6242 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java @@ -82,6 +82,12 @@ import org.slf4j.LoggerFactory; import org.slf4j.MDC; +/** + * A {@link SolrClient} that routes requests to ideal nodes, including splitting update batches to + * the correct shards. It uses {@link LBSolrClient} as well, thus offering fail-over abilities if a + * core or node becomes unavailable. It's able to know where to route requests due to its knowledge + * of the SolrCloud "cluster state". + */ public abstract class CloudSolrClient extends SolrClient { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -227,7 +233,7 @@ protected boolean wasCommError(Throwable t) { } @Override - public void close() throws IOException { + public void close() { if (this.threadPool != null && !ExecutorUtil.isShutdown(this.threadPool)) { ExecutorUtil.shutdownAndAwaitTermination(this.threadPool); this.threadPool = null; diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java index 5f3fa63fe15..3df64453242 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpJdkSolrClient.java @@ -165,8 +165,9 @@ public CompletableFuture> requestAsync( } } - protected NamedList requestWithBaseUrl( - String baseUrl, SolrRequest solrRequest, String collection) + @Override + public NamedList requestWithBaseUrlNl( + String baseUrl, String collection, SolrRequest solrRequest) throws SolrServerException, IOException { PreparedRequest pReq = prepareRequest(solrRequest, collection, baseUrl); HttpResponse response = null; @@ -203,7 +204,7 @@ protected NamedList requestWithBaseUrl( @Override public NamedList request(SolrRequest solrRequest, String collection) throws SolrServerException, IOException { - return requestWithBaseUrl(null, solrRequest, collection); + return requestWithBaseUrlNl(null, collection, solrRequest); } protected PreparedRequest prepareRequest( @@ -553,6 +554,11 @@ protected String allProcessorSupportedContentTypesCommaDelimited( return new HttpJdkSolrClient.Builder().withHttpClient(this); } + @Override + protected LBSolrClient createLBSolrClient() { + return new LBSolrClient.Builder<>(this).build(); + } + public static class Builder extends HttpSolrClientBuilderBase { diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBase.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBase.java index 92cc3b79caf..5f0e990fc3d 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBase.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBase.java @@ -48,6 +48,10 @@ import org.apache.solr.common.util.NamedList; import org.apache.solr.common.util.Utils; +/** + * Utility/base functionality for direct HTTP client implementations. The abstraction is internal + * and subject to change. + */ public abstract class HttpSolrClientBase extends SolrClient { protected static final String DEFAULT_PATH = ClientUtils.DEFAULT_PATH; @@ -101,6 +105,9 @@ protected HttpSolrClientBase(String serverBaseUrl, HttpSolrClientBuilderBase builder(); + // very experimental + protected abstract LBSolrClient createLBSolrClient(); + protected String getRequestUrl(SolrRequest solrRequest, String collection) throws MalformedURLException { return ClientUtils.buildRequestUrl(solrRequest, serverBaseUrl, collection); @@ -340,6 +347,12 @@ protected void setParser(ResponseParser parser) { protected abstract void updateDefaultMimeTypeForParser(); + /** Experimental; subject to change! */ + @Deprecated // for internal use; expected to change soon + public abstract NamedList requestWithBaseUrlNl( + String baseUrl, String collection, SolrRequest solrRequest) + throws SolrServerException, IOException; + /** * Execute an asynchronous request against a Solr server for a given collection. * diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBuilderBase.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBuilderBase.java index 2821ebc4cae..13393bdefa5 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBuilderBase.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClientBuilderBase.java @@ -120,7 +120,7 @@ public B withBasicAuthCredentials(String user, String pass) { } } this.basicAuthAuthorizationStr = - Http2SolrClient.basicAuthCredentialsToAuthorizationString(user, pass); + HttpSolrClientBase.basicAuthCredentialsToAuthorizationString(user, pass); return (B) this; } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java index 89ffbd707a0..c519417cf2d 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttp2SolrClient.java @@ -20,88 +20,25 @@ import java.net.ConnectException; import java.net.SocketException; import java.net.SocketTimeoutException; -import java.util.Arrays; -import java.util.Set; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; -import org.apache.solr.client.solrj.ResponseParser; import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrRequest.SolrRequestType; import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.request.RequestWriter; import org.apache.solr.common.SolrException; import org.apache.solr.common.util.NamedList; import org.slf4j.MDC; -/** - * This "LoadBalanced Http Solr Client" is a load balancing wrapper around a Http Solr Client. This - * is useful when you have multiple Solr endpoints and requests need to be Load Balanced among them. - * - *

Do NOT use this class for indexing in leader/follower scenarios since documents must be - * sent to the correct leader; no inter-node routing is done. - * - *

In SolrCloud (leader/replica) scenarios, it is usually better to use {@link CloudSolrClient}, - * but this class may be used for updates because the server will forward them to the appropriate - * leader. - * - *

It offers automatic failover when a server goes down, and it detects when the server comes - * back up. - * - *

Load balancing is done using a simple round-robin on the list of endpoints. Endpoint URLs are - * expected to point to the Solr "root" path (i.e. "/solr"). - * - *

- * - *
- * SolrClient client = new LBHttp2SolrClient.Builder(http2SolrClient,
- *         new LBSolrClient.Endpoint("http://host1:8080/solr"), new LBSolrClient.Endpoint("http://host2:8080/solr"))
- *     .build();
- * 
- * - *
- * - * Users who wish to balance traffic across a specific set of replicas or cores may specify each - * endpoint as a root-URL and core-name pair. For example: - * - *
- * - *
- * SolrClient client = new LBHttp2SolrClient.Builder(http2SolrClient,
- *         new LBSolrClient.Endpoint("http://host1:8080/solr", "coreA"),
- *         new LBSolrClient.Endpoint("http://host2:8080/solr", "coreB"))
- *     .build();
- * 
- * - *
- * - *

If a request to an endpoint fails by an IOException due to a connection timeout or read - * timeout then the host is taken off the list of live endpoints and moved to a 'dead endpoint list' - * and the request is resent to the next live endpoint. This process is continued till it tries all - * the live endpoints. If at least one endpoint is alive, the request succeeds, and if not it fails. - * - *

Dead endpoints are periodically healthchecked on a fixed interval controlled by {@link - * LBHttp2SolrClient.Builder#setAliveCheckInterval(int, TimeUnit)}. The default is set to one - * minute. - * - *

When to use this?
- * This can be used as a software load balancer when you do not wish to set up an external load - * balancer. Alternatives to this code are to use a dedicated hardware load balancer or using Apache - * httpd with mod_proxy_balancer as a load balancer. See Load balancing on Wikipedia - * - * @since solr 8.0 - */ -public class LBHttp2SolrClient extends LBSolrClient { +/** A {@link LBSolrClient} adding {@link #requestAsync(Req)}. */ +public abstract class LBHttp2SolrClient extends LBSolrClient { + // nocommit rename to LBAsyncSolrClient and ditch the parameterized type protected final C solrClient; - @SuppressWarnings("unchecked") - private LBHttp2SolrClient(Builder builder) { - super(Arrays.asList(builder.solrEndpoints)); - this.solrClient = (C) builder.solrClient; - this.aliveCheckIntervalMillis = builder.aliveCheckIntervalMillis; - this.defaultCollection = builder.defaultCollection; + protected LBHttp2SolrClient(Builder builder) { + super(builder); + this.solrClient = builder.getSolrClient(); } @Override @@ -109,20 +46,6 @@ protected SolrClient getClient(Endpoint endpoint) { return solrClient; } - @Override - public ResponseParser getParser() { - return solrClient.getParser(); - } - - @Override - public RequestWriter getRequestWriter() { - return solrClient.getRequestWriter(); - } - - public Set getUrlParamNames() { - return solrClient.getUrlParamNames(); - } - /** * Execute an asynchronous request against one or more hosts for a given collection. The passed-in * Req object includes a List of Endpoints. This method always begins with the first Endpoint in @@ -214,10 +137,9 @@ private CompletableFuture> doAsyncRequest( RetryListener listener) { String baseUrl = endpoint.toString(); rsp.server = baseUrl; - final var client = (Http2SolrClient) getClient(endpoint); try { CompletableFuture> future = - client.requestWithBaseUrl(baseUrl, (c) -> c.requestAsync(req.getRequest())); + requestAsyncWithUrl(getClient(endpoint), baseUrl, req.getRequest()); future.whenComplete( (result, throwable) -> { if (!future.isCompletedExceptionally()) { @@ -228,11 +150,15 @@ private CompletableFuture> doAsyncRequest( }); return future; } catch (SolrServerException | IOException e) { - // Unreachable, since 'requestWithBaseUrl' above is running the request asynchronously + // Unreachable, since 'requestAsyncWithUrl' above is running the request asynchronously throw new RuntimeException(e); } } + protected abstract CompletableFuture> requestAsyncWithUrl( + SolrClient client, String baseUrl, SolrRequest request) + throws SolrServerException, IOException; + private void onSuccessfulRequest( NamedList result, Endpoint endpoint, @@ -293,43 +219,4 @@ private void onFailedRequest( listener.onFailure(new SolrServerException(e), false); } } - - public static class Builder { - - private final C solrClient; - private final LBSolrClient.Endpoint[] solrEndpoints; - private long aliveCheckIntervalMillis = - TimeUnit.MILLISECONDS.convert(60, TimeUnit.SECONDS); // 1 minute between checks - protected String defaultCollection; - - public Builder(C solrClient, Endpoint... endpoints) { - this.solrClient = solrClient; - this.solrEndpoints = endpoints; - } - - /** - * LBHttpSolrServer keeps pinging the dead servers at fixed interval to find if it is alive. Use - * this to set that interval - * - * @param aliveCheckInterval how often to ping for aliveness - */ - public Builder setAliveCheckInterval(int aliveCheckInterval, TimeUnit unit) { - if (aliveCheckInterval <= 0) { - throw new IllegalArgumentException( - "Alive check interval must be " + "positive, specified value = " + aliveCheckInterval); - } - this.aliveCheckIntervalMillis = TimeUnit.MILLISECONDS.convert(aliveCheckInterval, unit); - return this; - } - - /** Sets a default for core or collection based requests. */ - public Builder withDefaultCollection(String defaultCoreOrCollection) { - this.defaultCollection = defaultCoreOrCollection; - return this; - } - - public LBHttp2SolrClient build() { - return new LBHttp2SolrClient(this); - } - } } diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java index b2560bc7eae..dd2864ab462 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java @@ -61,6 +61,64 @@ import org.slf4j.LoggerFactory; import org.slf4j.MDC; +/** + * This "LoadBalanced Http Solr Client" is a load balancing wrapper around a Http Solr Client. This + * is useful when you have multiple Solr endpoints and requests need to be Load Balanced among them. + * + *

Do NOT use this class for indexing in leader/follower scenarios since documents must be + * sent to the correct leader; no inter-node routing is done. + * + *

In SolrCloud (leader/replica) scenarios, it is usually better to use {@link CloudSolrClient}, + * but this class may be used for updates because the server will forward them to the appropriate + * leader. + * + *

It offers automatic failover when a server goes down, and it detects when the server comes + * back up. + * + *

Load balancing is done using a simple round-robin on the list of endpoints. Endpoint URLs are + * expected to point to the Solr "root" path (i.e. "/solr"). + * + *

+ * + *
+ * SolrClient client = new LBHttp2SolrClient.Builder(http2SolrClient,
+ *         new LBSolrClient.Endpoint("http://host1:8080/solr"), new LBSolrClient.Endpoint("http://host2:8080/solr"))
+ *     .build();
+ * 
+ * + *
+ * + * Users who wish to balance traffic across a specific set of replicas or cores may specify each + * endpoint as a root-URL and core-name pair. For example: + * + *
+ * + *
+ * SolrClient client = new LBHttp2SolrClient.Builder(http2SolrClient,
+ *         new LBSolrClient.Endpoint("http://host1:8080/solr", "coreA"),
+ *         new LBSolrClient.Endpoint("http://host2:8080/solr", "coreB"))
+ *     .build();
+ * 
+ * + *
+ * + *

If a request to an endpoint fails by an IOException due to a connection timeout or read + * timeout then the host is taken off the list of live endpoints and moved to a 'dead endpoint list' + * and the request is resent to the next live endpoint. This process is continued till it tries all + * the live endpoints. If at least one endpoint is alive, the request succeeds, and if not it fails. + * + *

Dead endpoints are periodically healthchecked on a fixed interval controlled by {@code + * LBHttp2SolrClient.Builder#setAliveCheckInterval(int, TimeUnit)}. The default is set to one + * minute. + * + *

When to use this?
+ * This can be used as a software load balancer when you do not wish to set up an external load + * balancer. Alternatives to this code are to use a dedicated hardware load balancer or using Apache + * httpd with mod_proxy_balancer as a load balancer. See Load balancing on Wikipedia + * + * @since solr 8.0 + */ public abstract class LBSolrClient extends SolrClient { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -110,6 +168,54 @@ public abstract class LBSolrClient extends SolrClient { solrQuery.setDistrib(false); } + public static class Builder { + + private final C solrClient; + private final Endpoint[] solrEndpoints; + private long aliveCheckIntervalMillis = + TimeUnit.MILLISECONDS.convert(60, TimeUnit.SECONDS); // 1 minute between checks + protected String defaultCollection; + + public Builder(C solrClient, Endpoint... endpoints) { + this.solrClient = solrClient; + this.solrEndpoints = endpoints; + } + + /** + * LBHttpSolrServer keeps pinging the dead servers at fixed interval to find if it is alive. Use + * this to set that interval + * + * @param aliveCheckInterval how often to ping for aliveness + */ + public Builder setAliveCheckInterval(int aliveCheckInterval, TimeUnit unit) { + if (aliveCheckInterval <= 0) { + throw new IllegalArgumentException( + "Alive check interval must be " + "positive, specified value = " + aliveCheckInterval); + } + this.aliveCheckIntervalMillis = TimeUnit.MILLISECONDS.convert(aliveCheckInterval, unit); + return this; + } + + /** Sets a default for core or collection based requests. */ + public Builder withDefaultCollection(String defaultCoreOrCollection) { + this.defaultCollection = defaultCoreOrCollection; + return this; + } + + public C getSolrClient() { + return solrClient; + } + + public LBSolrClient build() { + return new LBSolrClient(this) { + @Override + protected SolrClient getClient(Endpoint endpoint) { + return solrClient; + } + }; + } + } + /** * A Solr endpoint for {@link LBSolrClient} to include in its load-balancing * @@ -401,7 +507,15 @@ public String getServer() { } } - public LBSolrClient(List solrEndpoints) { + protected LBSolrClient(Builder builder) { + this(Arrays.asList(builder.solrEndpoints)); + this.aliveCheckIntervalMillis = builder.aliveCheckIntervalMillis; + this.defaultCollection = builder.defaultCollection; + this.requestWriter = builder.solrClient.getRequestWriter(); + this.parser = builder.solrClient.getParser(); + } + + protected LBSolrClient(List solrEndpoints) { if (!solrEndpoints.isEmpty()) { for (Endpoint s : solrEndpoints) { EndpointWrapper wrapper = createServerWrapper(s); @@ -506,10 +620,8 @@ private NamedList doRequest( // Some implementations of LBSolrClient.getClient(...) return a Http2SolrClient that may not be // pointed at the desired URL (or any URL for that matter). We special case that here to ensure // the appropriate URL is provided. - if (solrClient instanceof Http2SolrClient httpSolrClient) { - return httpSolrClient.requestWithBaseUrl(baseUrl, (c) -> c.request(solrRequest, collection)); - } else if (solrClient instanceof HttpJdkSolrClient) { - return ((HttpJdkSolrClient) solrClient).requestWithBaseUrl(baseUrl, solrRequest, collection); + if (solrClient instanceof HttpSolrClientBase hasReqWithUrl) { + return hasReqWithUrl.requestWithBaseUrlNl(baseUrl, collection, solrRequest); } // Assume provided client already uses 'baseUrl' diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpConstants.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpConstants.java index 8c207364594..6916ad897a2 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpConstants.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpConstants.java @@ -42,12 +42,6 @@ public interface SolrHttpConstants { /** Maximum total connections allowed */ String PROP_MAX_CONNECTIONS = "maxConnections"; - /** - * A Java system property to select the {@linkplain HttpClientBuilderFactory} used for configuring - * HTTP based SolrClients. - */ - String SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY = "solr.httpclient.builder.factory"; - /** * System property consulted to determine if HTTP based SolrClients will require hostname * validation of SSL Certificates. The default behavior is to enforce peer name validation. diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java index 601c2442c10..ef372e93e50 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java @@ -16,26 +16,17 @@ */ package org.apache.solr.client.solrj.impl; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.lang.invoke.MethodHandles; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; import java.util.Iterator; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; -import java.util.stream.IntStream; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpException; @@ -64,6 +55,10 @@ import org.apache.solr.client.solrj.apache.HttpClientUtil; import org.apache.solr.client.solrj.apache.HttpSolrClient; import org.apache.solr.client.solrj.apache.SolrPortAwareCookieSpecFactory; +import org.apache.solr.client.solrj.impl.ServletFixtures.DebugServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.RedirectServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.SlowServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.SlowStreamServlet; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.client.solrj.response.QueryResponse; @@ -73,7 +68,6 @@ import org.apache.solr.common.params.CommonParams; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.util.NamedList; -import org.apache.solr.common.util.SuppressForbidden; import org.apache.solr.embedded.JettyConfig; import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.junit.BeforeClass; @@ -86,141 +80,6 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); private static final String UA_VERSION = SolrVersion.LATEST_STRING; - public static class RedirectServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - resp.sendRedirect("/solr/collection1/select?" + req.getQueryString()); - } - } - - public static class SlowServlet extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - try { - Thread.sleep(5000); - } catch (InterruptedException ignored) { - } - } - } - - public static class SlowStreamServlet extends HttpServlet { - - public static final int PACKET_MS = 500; - - @Override - @SuppressForbidden(reason = "don't forbid in tests") - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - String countStr = req.getParameter("count"); - IntStream.range(0, countStr == null ? 10 : Integer.parseInt(countStr)) - .forEach( - i -> { - try { - Thread.sleep(PACKET_MS); - resp.getOutputStream().write(String.valueOf(i).getBytes(StandardCharsets.UTF_8)); - resp.getOutputStream().flush(); - } catch (IOException | InterruptedException e) { - throw new RuntimeException(e); - } - }); - } - } - - public static class DebugServlet extends HttpServlet { - public static void clear() { - lastMethod = null; - headers = null; - parameters = null; - errorCode = null; - queryString = null; - cookies = null; - } - - public static Integer errorCode = null; - public static String lastMethod = null; - public static HashMap headers = null; - public static Map parameters = null; - public static String queryString = null; - public static jakarta.servlet.http.Cookie[] cookies = null; - - public static void setErrorCode(Integer code) { - errorCode = code; - } - - @Override - protected void doDelete(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "delete"; - recordRequest(req, resp); - } - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "get"; - recordRequest(req, resp); - } - - @Override - protected void doHead(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "head"; - recordRequest(req, resp); - } - - private void setHeaders(HttpServletRequest req) { - Enumeration headerNames = req.getHeaderNames(); - headers = new HashMap<>(); - while (headerNames.hasMoreElements()) { - final String name = headerNames.nextElement(); - headers.put(name, req.getHeader(name)); - } - } - - @SuppressForbidden(reason = "fake servlet only") - private void setParameters(HttpServletRequest req) { - parameters = req.getParameterMap(); - } - - private void setQueryString(HttpServletRequest req) { - queryString = req.getQueryString(); - } - - private void setCookies(HttpServletRequest req) { - jakarta.servlet.http.Cookie[] ck = req.getCookies(); - cookies = req.getCookies(); - } - - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "post"; - recordRequest(req, resp); - } - - @Override - protected void doPut(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "put"; - recordRequest(req, resp); - } - - private void recordRequest(HttpServletRequest req, HttpServletResponse resp) { - setHeaders(req); - setParameters(req); - setQueryString(req); - setCookies(req); - if (null != errorCode) { - try { - resp.sendError(errorCode); - } catch (IOException e) { - throw new RuntimeException("sendError IO fail in DebugServlet", e); - } - } - } - } - @BeforeClass public static void beforeTest() throws Exception { JettyConfig jettyConfig = @@ -290,18 +149,18 @@ public void testQuery() throws Exception { // agent assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); // default wt assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); // agent assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); // keepalive - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); // content-type - assertNull(DebugServlet.headers.get("Content-Type")); + assertNull(DebugServlet.headers.get("content-type")); // param encoding assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); @@ -314,18 +173,18 @@ public void testQuery() throws Exception { assertEquals("post", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); assertEquals( "application/x-www-form-urlencoded; charset=UTF-8", - DebugServlet.headers.get("Content-Type")); + DebugServlet.headers.get("content-type")); // PUT DebugServlet.clear(); @@ -335,18 +194,18 @@ public void testQuery() throws Exception { assertEquals("put", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); assertEquals( "application/x-www-form-urlencoded; charset=UTF-8", - DebugServlet.headers.get("Content-Type")); + DebugServlet.headers.get("content-type")); } // XML @@ -362,15 +221,15 @@ public void testQuery() throws Exception { assertEquals("get", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); // XML/POST DebugServlet.clear(); @@ -380,18 +239,18 @@ public void testQuery() throws Exception { assertEquals("post", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); assertEquals( "application/x-www-form-urlencoded; charset=UTF-8", - DebugServlet.headers.get("Content-Type")); + DebugServlet.headers.get("content-type")); DebugServlet.clear(); queryRequest.setMethod(METHOD.PUT); @@ -400,18 +259,18 @@ public void testQuery() throws Exception { assertEquals("put", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); assertEquals( "application/x-www-form-urlencoded; charset=UTF-8", - DebugServlet.headers.get("Content-Type")); + DebugServlet.headers.get("content-type")); } } @@ -431,16 +290,16 @@ public void testDelete() throws Exception { // agent assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); // default wt assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); // agent assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); // keepalive - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); } // XML @@ -458,13 +317,13 @@ public void testDelete() throws Exception { assertEquals("post", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); - assertEquals("keep-alive", DebugServlet.headers.get("Connection")); + DebugServlet.headers.get("user-agent")); + assertEquals("keep-alive", DebugServlet.headers.get("connection")); } } @@ -497,12 +356,12 @@ public void testUpdate() throws Exception { // agent assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); // default wt assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); // content type - assertEquals("application/javabin", DebugServlet.headers.get("Content-Type")); + assertEquals("application/javabin", DebugServlet.headers.get("content-type")); // parameter encoding assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); @@ -524,10 +383,10 @@ public void testUpdate() throws Exception { assertEquals("post", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("xml", DebugServlet.parameters.get(CommonParams.WT)[0]); - assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("Content-Type")); + assertEquals("application/xml; charset=UTF-8", DebugServlet.headers.get("content-type")); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); } @@ -548,10 +407,10 @@ public void testUpdate() throws Exception { assertEquals("post", DebugServlet.lastMethod); assertEquals( "Solr[" + HttpSolrClient.class.getName() + "] " + UA_VERSION, - DebugServlet.headers.get("User-Agent")); + DebugServlet.headers.get("user-agent")); assertEquals(1, DebugServlet.parameters.get(CommonParams.WT).length); assertEquals("javabin", DebugServlet.parameters.get(CommonParams.WT)[0]); - assertEquals("application/javabin", DebugServlet.headers.get("Content-Type")); + assertEquals("application/javabin", DebugServlet.headers.get("content-type")); assertEquals(1, DebugServlet.parameters.get("a").length); assertEquals("\u1234", DebugServlet.parameters.get("a")[0]); } @@ -597,7 +456,7 @@ public void testCompression() throws Exception { // verify request header gets set DebugServlet.clear(); expectThrows(SolrClient.RemoteSolrException.class, () -> queryRequest.process(client)); - assertNull(DebugServlet.headers.toString(), DebugServlet.headers.get("Accept-Encoding")); + assertNull(DebugServlet.headers.toString(), DebugServlet.headers.get("accept-encoding")); } try (SolrClient client = @@ -606,7 +465,7 @@ public void testCompression() throws Exception { queryRequest.process(client); } catch (SolrClient.RemoteSolrException ignored) { } - assertNotNull(DebugServlet.headers.get("Accept-Encoding")); + assertNotNull(DebugServlet.headers.get("accept-encoding")); } try (SolrClient client = @@ -616,7 +475,7 @@ public void testCompression() throws Exception { } catch (SolrClient.RemoteSolrException ignored) { } } - assertNull(DebugServlet.headers.get("Accept-Encoding")); + assertNull(DebugServlet.headers.get("accept-encoding")); // verify server compresses output HttpGet get = new HttpGet(getCoreUrl() + "/select?q=foo&wt=xml"); diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientBuilderTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientBuilderTest.java index 6a59a6d7c72..f973980c4c8 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientBuilderTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientBuilderTest.java @@ -213,7 +213,7 @@ public void testDefaultClientUsesJetty() throws IOException { Collections.singletonList(ANY_ZK_HOST), Optional.of(ANY_CHROOT)) .build()) { assertTrue(createdClient.getHttpClient() instanceof Http2SolrClient); - assertTrue(createdClient.getLbClient().solrClient instanceof Http2SolrClient); + assertTrue(createdClient.getLbClient().getClient(null) instanceof Http2SolrClient); } } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java index 060d01a6414..5f3eca94b90 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java @@ -155,25 +155,13 @@ public static void setupCluster() throws Exception { public static void tearDownAfterClass() throws Exception { if (httpJettyBasedCloudSolrClient != null) { - try { - httpJettyBasedCloudSolrClient.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } + httpJettyBasedCloudSolrClient.close(); } if (httpJdkBasedCloudSolrClient != null) { - try { - httpJdkBasedCloudSolrClient.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } + httpJdkBasedCloudSolrClient.close(); } if (zkBasedCloudSolrClient != null) { - try { - zkBasedCloudSolrClient.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } + zkBasedCloudSolrClient.close(); } shutdownCluster(); diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java index 7f45e692827..d4f27494798 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java @@ -122,11 +122,7 @@ public static void setupCluster() throws Exception { @AfterClass public static void tearDownAfterClass() throws Exception { if (httpBasedCloudSolrClient != null) { - try { - httpBasedCloudSolrClient.close(); - } catch (IOException e) { - throw new RuntimeException(e); - } + httpBasedCloudSolrClient.close(); } httpBasedCloudSolrClient = null; diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/DebugServlet.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/DebugServlet.java deleted file mode 100644 index 3555ba2cd9f..00000000000 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/DebugServlet.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * 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. - */ - -package org.apache.solr.client.solrj.impl; - -import jakarta.servlet.ServletException; -import jakarta.servlet.http.Cookie; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; -import org.apache.solr.common.util.SuppressForbidden; - -public class DebugServlet extends HttpServlet { - public static void clear() { - lastMethod = null; - url = null; - headers = null; - parameters = null; - errorCode = null; - queryString = null; - cookies = null; - responseHeaders = null; - responseBodyByQueryFragment = new ConcurrentHashMap<>(); - } - - public static Integer errorCode = null; - public static String lastMethod = null; - public static String url = null; - public static HashMap headers = null; - public static Map parameters = null; - public static String queryString = null; - public static Cookie[] cookies = null; - public static List responseHeaders = null; - public static Map responseBodyByQueryFragment = new ConcurrentHashMap<>(); - public static byte[] requestBody = null; - - public static void setErrorCode(Integer code) { - errorCode = code; - } - - public static void addResponseHeader(String headerName, String headerValue) { - if (responseHeaders == null) { - responseHeaders = new ArrayList<>(); - } - responseHeaders.add(new String[] {headerName, headerValue}); - } - - @Override - protected void doDelete(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "delete"; - recordRequest(req, resp); - } - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "get"; - recordRequest(req, resp); - } - - @Override - protected void doHead(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "head"; - recordRequest(req, resp); - } - - private void setHeaders(HttpServletRequest req) { - Enumeration headerNames = req.getHeaderNames(); - headers = new HashMap<>(); - while (headerNames.hasMoreElements()) { - final String name = headerNames.nextElement(); - headers.put(name.toLowerCase(Locale.getDefault()), req.getHeader(name)); - } - } - - @SuppressForbidden(reason = "fake servlet only") - private void setParameters(HttpServletRequest req) { - parameters = req.getParameterMap(); - } - - private void setQueryString(HttpServletRequest req) { - queryString = req.getQueryString(); - } - - private void setCookies(HttpServletRequest req) { - Cookie[] ck = req.getCookies(); - cookies = req.getCookies(); - } - - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "post"; - recordRequest(req, resp); - } - - @Override - protected void doPut(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, IOException { - lastMethod = "put"; - recordRequest(req, resp); - } - - private void recordRequest(HttpServletRequest req, HttpServletResponse resp) { - url = req.getRequestURL().toString(); - setHeaders(req); - setParameters(req); - setQueryString(req); - setCookies(req); - try { - requestBody = req.getInputStream().readAllBytes(); - } catch (Exception e) { - // ignore - } - if (responseHeaders != null) { - for (String[] h : responseHeaders) { - resp.addHeader(h[0], h[1]); - } - } - String qs = req.getQueryString(); - qs = qs == null ? "" : qs; - Object responseBody = null; - - // Tests can set this up to return different response bodies based on substrings in the query - // string - for (Map.Entry entry : responseBodyByQueryFragment.entrySet()) { - if (qs.contains(entry.getKey())) { - responseBody = entry.getValue(); - break; - } - } - - if (responseBody != null) { - try { - if (responseBody instanceof String) { - resp.getWriter().print((String) responseBody); - } else if (responseBody instanceof byte[]) { - resp.getOutputStream().write((byte[]) responseBody); - } else { - throw new IllegalArgumentException( - "Only String and byte[] are supported for responseBody."); - } - } catch (IOException ioe) { - throw new RuntimeException(ioe); - } - } - if (null != errorCode) { - try { - resp.sendError(errorCode); - } catch (IOException e) { - throw new RuntimeException("sendError IO fail in DebugServlet", e); - } - } - } -} diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java index 8616cca08e9..53d9b0384ee 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpJdkSolrClientTest.java @@ -37,6 +37,7 @@ import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; +import org.apache.solr.client.solrj.impl.ServletFixtures.DebugServlet; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.response.SolrPingResponse; import org.apache.solr.common.params.CommonParams; @@ -167,7 +168,7 @@ public void testRequestWithBaseUrl() throws Exception { HttpJdkSolrClient.Builder b = builder(someOtherUrl).withResponseParser(new JavaBinResponseParser()); try (HttpJdkSolrClient client = b.build()) { - client.requestWithBaseUrl(intendedUrl, new QueryRequest(q, SolrRequest.METHOD.GET), null); + client.requestWithBaseUrlNl(intendedUrl, null, new QueryRequest(q, SolrRequest.METHOD.GET)); assertEquals( client.getParser().getWriterType(), DebugServlet.parameters.get(CommonParams.WT)[0]); } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientTestBase.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientTestBase.java index 79266ac9024..14133d61ce1 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientTestBase.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientTestBase.java @@ -36,12 +36,16 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import org.apache.solr.SolrJettyTestBase; +import org.apache.solr.client.solrj.HttpClientBuilderFactory; import org.apache.solr.client.solrj.ResponseParser; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; -import org.apache.solr.client.solrj.apache.HttpClientUtil; +import org.apache.solr.client.solrj.impl.ServletFixtures.DebugServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.RedirectServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.SlowServlet; +import org.apache.solr.client.solrj.impl.ServletFixtures.SlowStreamServlet; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.client.solrj.response.QueryResponse; @@ -74,15 +78,10 @@ public abstract class HttpSolrClientTestBase extends SolrJettyTestBase { public static void beforeTest() throws Exception { JettyConfig jettyConfig = JettyConfig.builder() - .withServlet( - new ServletHolder(BasicHttpSolrClientTest.RedirectServlet.class), - REDIRECT_SERVLET_REGEX) - .withServlet( - new ServletHolder(BasicHttpSolrClientTest.SlowServlet.class), SLOW_SERVLET_REGEX) + .withServlet(new ServletHolder(RedirectServlet.class), REDIRECT_SERVLET_REGEX) + .withServlet(new ServletHolder(SlowServlet.class), SLOW_SERVLET_REGEX) .withServlet(new ServletHolder(DebugServlet.class), DEBUG_SERVLET_REGEX) - .withServlet( - new ServletHolder(BasicHttpSolrClientTest.SlowStreamServlet.class), - SLOW_STREAM_SERVLET_REGEX) + .withServlet(new ServletHolder(SlowStreamServlet.class), SLOW_STREAM_SERVLET_REGEX) .withSSLConfig(sslConfig.buildServerSSLConfig()) .build(); createAndStartJetty(legacyExampleCollection1SolrHome(), jettyConfig); @@ -91,7 +90,7 @@ public static void beforeTest() throws Exception { @Override public void tearDown() throws Exception { System.clearProperty("solr.security.auth.basicauth.credentials"); - System.clearProperty(HttpClientUtil.SYS_PROP_HTTP_CLIENT_BUILDER_FACTORY); + System.clearProperty(HttpClientBuilderFactory.CLIENT_CUSTOMIZER_SYSPROP); DebugServlet.clear(); super.tearDown(); } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientIntegrationTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientIntegrationTest.java index 3f24984f90e..f401a77e798 100644 --- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientIntegrationTest.java +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/LBHttp2SolrClientIntegrationTest.java @@ -51,6 +51,7 @@ */ @LogLevel("org.apache.solr.client.solrj.impl=DEBUG") public class LBHttp2SolrClientIntegrationTest extends SolrTestCaseJ4 { + // nocommit rename to LBSolrClientIntegrationTest. Doesn't test async private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @@ -124,7 +125,7 @@ private LBClientHolder client(LBSolrClient.Endpoint... baseSolrEndpoints) { .withIdleTimeout(2000, TimeUnit.MILLISECONDS) .build(); var lbClient = - new LBHttp2SolrClient.Builder<>(delegateClient, baseSolrEndpoints) + new LBSolrClient.Builder<>(delegateClient, baseSolrEndpoints) .withDefaultCollection(solr[0].getDefaultCollection()) .setAliveCheckInterval(500, TimeUnit.MILLISECONDS) .build(); @@ -137,7 +138,7 @@ private LBClientHolder client(LBSolrClient.Endpoint... baseSolrEndpoints) { .withSSLContext(MockTrustManager.ALL_TRUSTING_SSL_CONTEXT) .build(); var lbClient = - new LBHttp2SolrClient.Builder<>(delegateClient, baseSolrEndpoints) + new LBSolrClient.Builder<>(delegateClient, baseSolrEndpoints) .withDefaultCollection(solr[0].getDefaultCollection()) .setAliveCheckInterval(500, TimeUnit.MILLISECONDS) .build(); @@ -316,10 +317,10 @@ public void startJetty() throws Exception { private static class LBClientHolder implements AutoCloseable { - final LBHttp2SolrClient lbClient; + final LBSolrClient lbClient; final HttpSolrClientBase delegate; - LBClientHolder(LBHttp2SolrClient lbClient, HttpSolrClientBase delegate) { + LBClientHolder(LBSolrClient lbClient, HttpSolrClientBase delegate) { this.lbClient = lbClient; this.delegate = delegate; } diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ServletFixtures.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ServletFixtures.java new file mode 100644 index 00000000000..ab155480614 --- /dev/null +++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/ServletFixtures.java @@ -0,0 +1,226 @@ +/* + * 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. + */ + +package org.apache.solr.client.solrj.impl; + +import jakarta.servlet.ServletException; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.IntStream; +import org.apache.solr.common.util.SuppressForbidden; + +public class ServletFixtures { + + private ServletFixtures() {} + + public static class RedirectServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + resp.sendRedirect("/solr/collection1/select?" + req.getQueryString()); + } + } + + public static class SlowServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + try { + Thread.sleep(5000); + } catch (InterruptedException ignored) { + } + } + } + + public static class SlowStreamServlet extends HttpServlet { + + public static final int PACKET_MS = 500; + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { + String countStr = req.getParameter("count"); + IntStream.range(0, countStr == null ? 10 : Integer.parseInt(countStr)) + .forEach( + i -> { + try { + Thread.sleep(PACKET_MS); + resp.getOutputStream().write(String.valueOf(i).getBytes(StandardCharsets.UTF_8)); + resp.getOutputStream().flush(); + } catch (IOException | InterruptedException e) { + throw new RuntimeException(e); + } + }); + } + } + + public static class DebugServlet extends HttpServlet { + public static void clear() { + lastMethod = null; + url = null; + headers = null; + parameters = null; + errorCode = null; + queryString = null; + cookies = null; + responseHeaders = null; + responseBodyByQueryFragment = new ConcurrentHashMap<>(); + } + + public static Integer errorCode = null; + public static String lastMethod = null; + public static String url = null; + public static HashMap headers = null; // lowercase keys! + public static Map parameters = null; + public static String queryString = null; + public static Cookie[] cookies = null; + public static List responseHeaders = null; + public static Map responseBodyByQueryFragment = new ConcurrentHashMap<>(); + public static byte[] requestBody = null; + + public static void setErrorCode(Integer code) { + errorCode = code; + } + + public static void addResponseHeader(String headerName, String headerValue) { + if (responseHeaders == null) { + responseHeaders = new ArrayList<>(); + } + responseHeaders.add(new String[] {headerName, headerValue}); + } + + @Override + protected void doDelete(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + lastMethod = "delete"; + recordRequest(req, resp); + } + + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + lastMethod = "get"; + recordRequest(req, resp); + } + + @Override + protected void doHead(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + lastMethod = "head"; + recordRequest(req, resp); + } + + private void setHeaders(HttpServletRequest req) { + Enumeration headerNames = req.getHeaderNames(); + headers = new HashMap<>(); + while (headerNames.hasMoreElements()) { + final String name = headerNames.nextElement(); + headers.put(name.toLowerCase(Locale.ROOT), req.getHeader(name)); + } + } + + @SuppressForbidden(reason = "fake servlet only") + private void setParameters(HttpServletRequest req) { + parameters = req.getParameterMap(); + } + + private void setQueryString(HttpServletRequest req) { + queryString = req.getQueryString(); + } + + private void setCookies(HttpServletRequest req) { + Cookie[] ck = req.getCookies(); + cookies = req.getCookies(); + } + + @Override + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + lastMethod = "post"; + recordRequest(req, resp); + } + + @Override + protected void doPut(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + lastMethod = "put"; + recordRequest(req, resp); + } + + private void recordRequest(HttpServletRequest req, HttpServletResponse resp) { + url = req.getRequestURL().toString(); + setHeaders(req); + setParameters(req); + setQueryString(req); + setCookies(req); + try { + requestBody = req.getInputStream().readAllBytes(); + } catch (Exception e) { + // ignore + } + if (responseHeaders != null) { + for (String[] h : responseHeaders) { + resp.addHeader(h[0], h[1]); + } + } + String qs = req.getQueryString(); + qs = qs == null ? "" : qs; + Object responseBody = null; + + // Tests can set this up to return different response bodies based on substrings in the query + // string + for (Map.Entry entry : responseBodyByQueryFragment.entrySet()) { + if (qs.contains(entry.getKey())) { + responseBody = entry.getValue(); + break; + } + } + + if (responseBody != null) { + try { + if (responseBody instanceof String) { + resp.getWriter().print((String) responseBody); + } else if (responseBody instanceof byte[]) { + resp.getOutputStream().write((byte[]) responseBody); + } else { + throw new IllegalArgumentException( + "Only String and byte[] are supported for responseBody."); + } + } catch (IOException ioe) { + throw new RuntimeException(ioe); + } + } + if (null != errorCode) { + try { + resp.sendError(errorCode); + } catch (IOException e) { + throw new RuntimeException("sendError IO fail in DebugServlet", e); + } + } + } + } +} diff --git a/solr/test-framework/build.gradle b/solr/test-framework/build.gradle index dfe4044e476..205329760ff 100644 --- a/solr/test-framework/build.gradle +++ b/solr/test-framework/build.gradle @@ -33,10 +33,11 @@ dependencies { api project(':solr:core') api project(':solr:solrj') api project(':solr:api') + implementation project(':solr:solrj-jetty') implementation project(':solr:solrj-zookeeper') api libs.apache.lucene.testframework - implementation libs.apache.lucene.core + api libs.apache.lucene.core // sadly must be on compile scope due to LuceneTestCase API referring implementation libs.apache.lucene.queries implementation libs.apache.lucene.suggest diff --git a/solr/test-framework/gradle.lockfile b/solr/test-framework/gradle.lockfile index 9a2211b4c56..8a3db4413e3 100644 --- a/solr/test-framework/gradle.lockfile +++ b/solr/test-framework/gradle.lockfile @@ -17,13 +17,18 @@ com.github.spotbugs:spotbugs-annotations:4.9.6=compileClasspath,compileOnlyHelpe 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=permitUnusedDeclared +com.google.code.findbugs:jsr305:3.0.2=permitUnusedDeclared,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,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,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath com.google.j2objc:j2objc-annotations:3.1=annotationProcessor,apiHelper,compileClasspath,errorprone,jarValidation,runtimeClasspath,testAnnotationProcessor,testCompileClasspath,testRuntimeClasspath @@ -115,6 +120,7 @@ org.apache.lucene:lucene-test-framework:10.3.1=apiHelper,compileClasspath,jarVal org.apache.zookeeper:zookeeper-jute:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.4=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.33.0=spotless865458226 org.codehaus.woodstox:stax2-api:4.2.2=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.27=apiHelper,compileClasspath,jarValidation,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.eclipse.jetty.http2:jetty-http2-client-transport:12.0.27=apiHelper,jarValidation,runtimeClasspath,testRuntimeClasspath diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java index 8068705858a..18fec4fe58c 100644 --- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java +++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java @@ -84,9 +84,9 @@ import org.apache.solr.client.solrj.apache.CloudLegacySolrClient; import org.apache.solr.client.solrj.apache.HttpClientUtil; import org.apache.solr.client.solrj.apache.HttpSolrClient; -import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient; import org.apache.solr.client.solrj.impl.ClusterStateProvider; import org.apache.solr.client.solrj.impl.Http2SolrClient; +import org.apache.solr.client.solrj.jetty.CloudJettySolrClient; import org.apache.solr.client.solrj.response.SolrResponseBase; import org.apache.solr.client.solrj.util.ClientUtils; import org.apache.solr.cloud.IpTables; @@ -2529,18 +2529,7 @@ public static Object skewed(Object likely, Object unlikely) { * A variant of {@link org.apache.solr.client.solrj.impl.CloudHttp2SolrClient.Builder} that will * randomize some internal settings. */ - public static class RandomizingCloudHttp2SolrClientBuilder extends CloudHttp2SolrClient.Builder { - - public RandomizingCloudHttp2SolrClientBuilder(List zkHosts, Optional zkChroot) { - super(zkHosts, zkChroot); - randomizeCloudSolrClient(); - } - - public RandomizingCloudHttp2SolrClientBuilder(ClusterStateProvider stateProvider) { - super(new ArrayList<>()); - this.stateProvider = stateProvider; - randomizeCloudSolrClient(); - } + public static class RandomizingCloudHttp2SolrClientBuilder extends CloudJettySolrClient.Builder { public RandomizingCloudHttp2SolrClientBuilder(MiniSolrCloudCluster cluster) { super(new ArrayList<>()); diff --git a/solr/test-framework/src/java/org/apache/solr/client/solrj/apache/CloudLegacySolrClient.java b/solr/test-framework/src/java/org/apache/solr/client/solrj/apache/CloudLegacySolrClient.java index 51ec0cca26a..1be96a11d46 100644 --- a/solr/test-framework/src/java/org/apache/solr/client/solrj/apache/CloudLegacySolrClient.java +++ b/solr/test-framework/src/java/org/apache/solr/client/solrj/apache/CloudLegacySolrClient.java @@ -16,7 +16,6 @@ */ package org.apache.solr.client.solrj.apache; -import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -38,6 +37,7 @@ import org.apache.solr.common.cloud.DocCollection; import org.apache.solr.common.cloud.DocRouter; import org.apache.solr.common.params.ModifiableSolrParams; +import org.apache.solr.common.util.IOUtils; import org.apache.solr.common.util.NamedList; /** @@ -116,8 +116,8 @@ protected RouteException getRouteException( } @Override - public void close() throws IOException { - stateProvider.close(); + public void close() { + IOUtils.closeQuietly(stateProvider); if (shutdownLBHttpSolrServer) { lbClient.close(); diff --git a/solr/ui/gradle.lockfile b/solr/ui/gradle.lockfile index ee7cab2af40..213c806fb48 100644 --- a/solr/ui/gradle.lockfile +++ b/solr/ui/gradle.lockfile @@ -16,6 +16,8 @@ androidx.lifecycle:lifecycle-runtime-desktop:2.8.5=desktopMainRuntimeClasspath,d androidx.lifecycle:lifecycle-runtime:2.8.5=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath androidx.lifecycle:lifecycle-viewmodel-desktop:2.8.5=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath androidx.lifecycle:lifecycle-viewmodel:2.8.5=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath +ch.qos.logback:logback-classic:1.3.15=spotless-2069350666 +ch.qos.logback:logback-core:1.3.15=spotless-2069350666 com.arkivanov.decompose:decompose-jvm:3.3.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath com.arkivanov.decompose:decompose-wasm-js:3.3.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath com.arkivanov.decompose:decompose:3.3.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath @@ -49,6 +51,22 @@ com.arkivanov.mvikotlin:mvikotlin-main-wasm-js:4.3.0=wasmJsCompileClasspath,wasm com.arkivanov.mvikotlin:mvikotlin-main:4.3.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath com.arkivanov.mvikotlin:mvikotlin-wasm-js:4.3.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath com.arkivanov.mvikotlin:mvikotlin:4.3.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath +com.github.ajalt.clikt:clikt-core-jvm:5.0.3=spotless-2069350666 +com.github.ajalt.clikt:clikt-core:5.0.3=spotless-2069350666 +com.github.ajalt.clikt:clikt-jvm:5.0.3=spotless-2069350666 +com.github.ajalt.clikt:clikt:5.0.3=spotless-2069350666 +com.github.ajalt.colormath:colormath-jvm:3.6.0=spotless-2069350666 +com.github.ajalt.colormath:colormath:3.6.0=spotless-2069350666 +com.github.ajalt.mordant:mordant-core-jvm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-core:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-ffm-jvm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-ffm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-graal-ffi-jvm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-graal-ffi:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-jna-jvm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm-jna:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant-jvm:3.0.1=spotless-2069350666 +com.github.ajalt.mordant:mordant:3.0.1=spotless-2069350666 com.google.auto.value:auto-value-annotations:1.11.0=desktopTestRuntimeClasspath com.google.errorprone:error_prone_annotations:2.41.0=desktopTestRuntimeClasspath com.google.guava:failureaccess:1.0.3=desktopTestRuntimeClasspath @@ -57,8 +75,28 @@ com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=desk com.google.j2objc:j2objc-annotations:3.1=desktopTestRuntimeClasspath com.google.truth:truth:1.0.1=desktopTestRuntimeClasspath com.googlecode.java-diff-utils:diffutils:1.3.0=desktopTestRuntimeClasspath +com.pinterest.ktlint:ktlint-cli-reporter-baseline:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-checkstyle:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-core:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-format:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-html:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-json:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-plain-summary:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-plain:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-reporter-sarif:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli-ruleset-core:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-cli:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-logger:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-rule-engine-core:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-rule-engine:1.7.1=spotless-2069350666 +com.pinterest.ktlint:ktlint-ruleset-standard:1.7.1=spotless-2069350666 +dev.drewhamilton.poko:poko-annotations-jvm:0.19.1=spotless-2069350666 +dev.drewhamilton.poko:poko-annotations:0.19.1=spotless-2069350666 +io.github.detekt.sarif4k:sarif4k-jvm:0.6.0=spotless-2069350666 +io.github.detekt.sarif4k:sarif4k:0.6.0=spotless-2069350666 io.github.java-diff-utils:java-diff-utils:4.12=kotlinInternalAbiValidation io.github.oshai:kotlin-logging-jvm:7.0.13=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath +io.github.oshai:kotlin-logging-jvm:7.0.7=spotless-2069350666 io.github.oshai:kotlin-logging-wasm-js:7.0.13=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath io.github.oshai:kotlin-logging:7.0.13=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath io.ktor:ktor-client-auth-jvm:3.2.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath @@ -115,8 +153,12 @@ io.ktor:ktor-websocket-serialization:3.2.2=allSourceSetsCompileDependenciesMetad io.ktor:ktor-websockets-jvm:3.2.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath io.ktor:ktor-websockets-wasm-js:3.2.2=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath io.ktor:ktor-websockets:3.2.2=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath +io.nlopez.compose.rules:common-ktlint:0.4.27=spotless-2069350666 +io.nlopez.compose.rules:ktlint:0.4.27=spotless-2069350666 junit:junit:4.13.2=desktopTestCompileClasspath,desktopTestRuntimeClasspath +net.java.dev.jna:jna:5.14.0=spotless-2069350666 org.checkerframework:checker-compat-qual:2.5.5=desktopTestRuntimeClasspath +org.ec4j.core:ec4j-core:1.1.1=spotless-2069350666 org.hamcrest:hamcrest-core:1.3=desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.androidx.lifecycle:lifecycle-common-wasm-js:2.8.4=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.4=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath @@ -202,26 +244,28 @@ org.jetbrains.kotlin:abi-tools-api:2.2.0=kotlinInternalAbiValidation org.jetbrains.kotlin:abi-tools:2.2.0=kotlinInternalAbiValidation org.jetbrains.kotlin:kotlin-build-tools-api:2.2.0=kotlinBuildToolsApiClasspath org.jetbrains.kotlin:kotlin-build-tools-impl:2.2.0=kotlinBuildToolsApiClasspath -org.jetbrains.kotlin:kotlin-compiler-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 org.jetbrains.kotlin:kotlin-compiler-runner:2.2.0=kotlinBuildToolsApiClasspath org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:2.2.0=kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-daemon-client:2.2.0=kotlinBuildToolsApiClasspath -org.jetbrains.kotlin:kotlin-daemon-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.2.0=kotlinKlibCommonizerClasspath org.jetbrains.kotlin:kotlin-metadata-jvm:2.2.0=kotlinInternalAbiValidation -org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath -org.jetbrains.kotlin:kotlin-script-runtime:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 +org.jetbrains.kotlin:kotlin-script-runtime:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 org.jetbrains.kotlin:kotlin-scripting-common:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-scripting-jvm:2.2.0=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-serialization-compiler-plugin-embeddable:2.2.0=kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24=wasmJsNpmAggregated,wasmJsTestNpmAggregated -org.jetbrains.kotlin:kotlin-stdlib-common:2.2.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopTestResolvableDependenciesMetadata,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsMainResolvableDependenciesMetadata,wasmJsTestResolvableDependenciesMetadata +org.jetbrains.kotlin:kotlin-stdlib-common:2.2.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopTestResolvableDependenciesMetadata,metadataCommonMainCompileClasspath,metadataCompileClasspath,spotless-2069350666,wasmJsMainResolvableDependenciesMetadata,wasmJsTestResolvableDependenciesMetadata +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=spotless-2069350666 org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.2.0=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=spotless-2069350666 org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.2.0=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-wasm-js:2.2.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib:2.2.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.2.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,spotless-2069350666,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.kotlin:kotlin-test-junit:2.2.0=desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlin:kotlin-test-wasm-js:2.2.0=wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.kotlin:kotlin-test:2.2.0=allTestSourceSetsCompileDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath @@ -233,7 +277,7 @@ org.jetbrains.kotlinx:kotlinx-browser:0.3=wasmJsCompileClasspath,wasmJsNpmAggreg org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,desktopMainApiDependenciesMetadata,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopTestApiDependenciesMetadata,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 org.jetbrains.kotlinx:kotlinx-coroutines-core-wasm-js:1.10.2=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.10.2=desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestRuntimeClasspath @@ -253,22 +297,27 @@ org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.7.0=desktopCompileClasspath,desktopM org.jetbrains.kotlinx:kotlinx-io-core-wasm-js:0.7.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-io-core:0.7.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-bom:1.9.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1=spotless-2069350666 org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.9.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core-wasm-js:1.9.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1=spotless-2069350666 org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-io-jvm:1.9.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-io-wasm-js:1.8.1=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.8.1=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopMainApiDependenciesMetadata,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopTestApiDependenciesMetadata,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.9.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1=spotless-2069350666 org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.9.0=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-wasm-js:1.9.0=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1=spotless-2069350666 org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath org.jetbrains.skiko:skiko-awt:0.9.4.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jetbrains.skiko:skiko-js-wasm-runtime:0.9.4.2=COMPOSE_SKIKO_JS_WASM_RUNTIME,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.skiko:skiko-wasm-js:0.9.4.2=wasmJsCompileClasspath,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestCompileClasspath,wasmJsTestNpmAggregated,wasmJsTestRuntimeClasspath org.jetbrains.skiko:skiko:0.9.4.2=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath -org.jetbrains:annotations:13.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath +org.jetbrains:annotations:13.0=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathDesktopMain,kotlinCompilerPluginClasspathDesktopTest,kotlinCompilerPluginClasspathMetadataCommonMain,kotlinCompilerPluginClasspathMetadataMain,kotlinCompilerPluginClasspathWasmJsMain,kotlinCompilerPluginClasspathWasmJsTest,kotlinInternalAbiValidation,kotlinKlibCommonizerClasspath,spotless-2069350666 org.jetbrains:annotations:26.0.2=desktopCompileClasspath,desktopMainCompileClasspath,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestCompileClasspath,desktopTestRuntimeClasspath org.jspecify:jspecify:1.0.0=desktopTestRuntimeClasspath org.slf4j:slf4j-api:2.0.17=allSourceSetsCompileDependenciesMetadata,allTestSourceSetsCompileDependenciesMetadata,commonMainApiDependenciesMetadata,commonMainCompileOnlyDependenciesMetadata,commonMainImplementationDependenciesMetadata,commonMainResolvableDependenciesMetadata,commonTestApiDependenciesMetadata,commonTestCompileOnlyDependenciesMetadata,commonTestImplementationDependenciesMetadata,commonTestResolvableDependenciesMetadata,desktopCompileClasspath,desktopMainApiDependenciesMetadata,desktopMainCompileClasspath,desktopMainCompileOnlyDependenciesMetadata,desktopMainImplementationDependenciesMetadata,desktopMainResolvableDependenciesMetadata,desktopMainRuntimeClasspath,desktopRuntimeClasspath,desktopTestApiDependenciesMetadata,desktopTestCompileClasspath,desktopTestCompileOnlyDependenciesMetadata,desktopTestImplementationDependenciesMetadata,desktopTestResolvableDependenciesMetadata,desktopTestRuntimeClasspath,metadataCommonMainCompileClasspath,metadataCompileClasspath,wasmJsCompileClasspath,wasmJsMainApiDependenciesMetadata,wasmJsMainCompileOnlyDependenciesMetadata,wasmJsMainImplementationDependenciesMetadata,wasmJsMainResolvableDependenciesMetadata,wasmJsNpmAggregated,wasmJsRuntimeClasspath,wasmJsTestApiDependenciesMetadata,wasmJsTestCompileClasspath,wasmJsTestCompileOnlyDependenciesMetadata,wasmJsTestImplementationDependenciesMetadata,wasmJsTestNpmAggregated,wasmJsTestResolvableDependenciesMetadata,wasmJsTestRuntimeClasspath +org.slf4j:slf4j-api:2.0.7=spotless-2069350666 empty=commonMainIntransitiveDependenciesMetadata,commonTestIntransitiveDependenciesMetadata,desktopMainAnnotationProcessor,desktopMainIntransitiveDependenciesMetadata,desktopTestAnnotationProcessor,desktopTestIntransitiveDependenciesMetadata,jarValidation,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testKotlinScriptDefExtensions,wasmJsMainIntransitiveDependenciesMetadata,wasmJsTestIntransitiveDependenciesMetadata