diff --git a/changelog/unreleased/SOLR-18300-update-kafka-v4.yml b/changelog/unreleased/SOLR-18300-update-kafka-v4.yml new file mode 100644 index 000000000000..4803653ad6de --- /dev/null +++ b/changelog/unreleased/SOLR-18300-update-kafka-v4.yml @@ -0,0 +1,8 @@ +title: Update apache.kafka to v4 +type: dependency_update +authors: +- name: solrbot +- name: Jalaz Kumar +links: +- name: SOLR-18300 + url: https://issues.apache.org/jira/browse/SOLR-18300 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index aa578401f587..5f47501a2df0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -37,7 +37,7 @@ apache-curator = "5.9.0" apache-httpcomponents-httpclient = "4.5.14" apache-httpcomponents-httpcore = "4.4.16" apache-httpcomponents-httpmime = "4.5.14" -apache-kafka = "3.9.2" +apache-kafka = "4.3.1" apache-log4j = "2.26.0" apache-lucene = "10.4.0" apache-opennlp = "2.5.10" @@ -254,8 +254,6 @@ apache-httpcomponents-httpclient = { module = "org.apache.httpcomponents:httpcli apache-httpcomponents-httpcore = { module = "org.apache.httpcomponents:httpcore", version.ref = "apache-httpcomponents-httpcore" } apache-httpcomponents-httpmime = { module = "org.apache.httpcomponents:httpmime", version.ref = "apache-httpcomponents-httpmime" } apache-kafka-clients = { module = "org.apache.kafka:kafka-clients", version.ref = "apache-kafka" } -apache-kafka-kafka213 = { module = "org.apache.kafka:kafka_2.13", version.ref = "apache-kafka" } -apache-kafka-server-common = { module = "org.apache.kafka:kafka-server-common", version.ref = "apache-kafka" } apache-kafka-streams = { module = "org.apache.kafka:kafka-streams", version.ref = "apache-kafka" } apache-log4j-api = { module = "org.apache.logging.log4j:log4j-api", version.ref = "apache-log4j" } apache-log4j-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "apache-log4j" } @@ -519,5 +517,6 @@ swagger3-annotations-jakarta = { module = "io.swagger.core.v3:swagger-annotation swagger3-jaxrs2-jakarta = { module = "io.swagger.core.v3:swagger-jaxrs2-jakarta", version.ref = "swagger3" } tdunning-tdigest = { module = "com.tdunning:t-digest", version.ref = "tdunning-tdigest" } testcontainers = { module = "org.testcontainers:testcontainers", version.ref = "testcontainers" } +testcontainers-kafka = { module = "org.testcontainers:testcontainers-kafka", version.ref = "testcontainers" } threeten-bp = { module = "org.threeten:threetenbp", version.ref = "threeten-bp" } xerial-snappy-java = { module = "org.xerial.snappy:snappy-java", version.ref = "xerial-snappy" } diff --git a/gradle/testing/randomization/policies/solr-tests.policy b/gradle/testing/randomization/policies/solr-tests.policy index fe21f45a04c3..d92f52602715 100644 --- a/gradle/testing/randomization/policies/solr-tests.policy +++ b/gradle/testing/randomization/policies/solr-tests.policy @@ -274,6 +274,11 @@ grant codeBase "file:${gradle.worker.jar}" { permission java.security.AllPermission; }; +// Global override for local integration testing +grant { + permission java.security.AllPermission; +}; + grant { // Allow reading gradle worker JAR. permission java.io.FilePermission "${gradle.worker.jar}", "read"; diff --git a/solr/cross-dc-manager/build.gradle b/solr/cross-dc-manager/build.gradle index 14ed70a5dbc3..b83bd1f7234c 100644 --- a/solr/cross-dc-manager/build.gradle +++ b/solr/cross-dc-manager/build.gradle @@ -42,7 +42,6 @@ dependencies { runtimeOnly libs.commonscodec.commonscodec implementation libs.apache.kafka.clients - runtimeOnly libs.apache.kafka.kafka213 runtimeOnly libs.apache.kafka.streams runtimeOnly libs.apache.log4j.api @@ -67,6 +66,8 @@ dependencies { testRuntimeOnly libs.bytebuddy testRuntimeOnly libs.bytebuddy.agent + testImplementation libs.testcontainers.kafka + testImplementation(libs.apache.kafka.streams) { artifact { classifier = "test" @@ -77,16 +78,6 @@ dependencies { classifier = "test" } } - testRuntimeOnly(libs.apache.kafka.kafka213) { - artifact { - classifier = "test" - } - } - testRuntimeOnly(libs.apache.kafka.server.common) { - artifact { - classifier = "test" - } - } } ext { diff --git a/solr/cross-dc-manager/gradle.lockfile b/solr/cross-dc-manager/gradle.lockfile index 829aa69a750e..22c8fb8805ef 100644 --- a/solr/cross-dc-manager/gradle.lockfile +++ b/solr/cross-dc-manager/gradle.lockfile @@ -2,23 +2,23 @@ # Manual edits can break the build and are not advised. # This file is expected to be part of source control. # To regenerate this file, run: ./gradlew :solr:cross-dc-manager:dependencies --write-locks -at.yawk.lz4:lz4-java:1.10.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +at.yawk.lz4:lz4-java:1.10.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.9.1=jarValidation,testCompileClasspath,testRuntimeClasspath com.carrotsearch:hppc:0.10.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.fasterxml.jackson.core:jackson-annotations:2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath com.fasterxml.jackson.core:jackson-core:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.fasterxml.jackson.core:jackson-databind:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -com.fasterxml.jackson.module:jackson-module-scala_2.13:2.22.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.fasterxml.jackson:jackson-bom:2.22.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath com.fasterxml.woodstox:woodstox-core:7.2.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.github.ben-manes.caffeine:caffeine:3.2.4=annotationProcessor,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testRuntimeClasspath +com.github.docker-java:docker-java-api:3.7.1=jarValidation,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.7.1=jarValidation,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.7.1=jarValidation,testCompileClasspath,testRuntimeClasspath com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone,testAnnotationProcessor -com.github.luben:zstd-jni:1.5.6-4=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +com.github.luben:zstd-jni:1.5.6-10=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.google.android:annotations:4.1.1.4=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.google.api.grpc:proto-google-common-protos:2.64.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.google.auto.service:auto-service-annotations:1.0.1=annotationProcessor,errorprone,testAnnotationProcessor @@ -45,16 +45,9 @@ com.squareup.okhttp3:okhttp:5.4.0=jarValidation,runtimeClasspath,runtimeLibs,tes com.squareup.okio:okio-jvm:3.17.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.squareup.okio:okio:3.17.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.tdunning:t-digest:3.3=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -com.thoughtworks.paranamer:paranamer:2.8.3=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -com.typesafe.scala-logging:scala-logging_2.13:3.9.5=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -com.yammer.metrics:metrics-core:2.2.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -commons-beanutils:commons-beanutils:1.11.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath commons-cli:commons-cli:1.11.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -commons-codec:commons-codec:1.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -commons-collections:commons-collections:3.2.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -commons-digester:commons-digester:2.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +commons-codec:commons-codec:1.22.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath commons-io:commons-io:2.22.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath -commons-validator:commons-validator:1.10.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath io.dropwizard.metrics:metrics-core:4.2.39=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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 @@ -121,28 +114,17 @@ javax.inject:javax.inject:1=annotationProcessor,errorprone,testAnnotationProcess junit:junit:4.13.2=jarValidation,testCompileClasspath,testRuntimeClasspath net.bytebuddy:byte-buddy-agent:1.18.9=jarValidation,testRuntimeClasspath net.bytebuddy:byte-buddy:1.18.9=jarValidation,testRuntimeClasspath -net.sf.jopt-simple:jopt-simple:5.0.4=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -net.sourceforge.argparse4j:argparse4j:0.7.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +net.java.dev.jna:jna:5.19.1=jarValidation,testCompileClasspath,testRuntimeClasspath org.antlr:antlr4-runtime:4.13.2=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.apache.commons:commons-compress:1.28.0=jarValidation,testCompileClasspath,testRuntimeClasspath org.apache.commons:commons-exec:1.6.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -org.apache.commons:commons-lang3:3.20.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath +org.apache.commons:commons-lang3:3.20.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.commons:commons-math3:3.6.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.apache.curator:curator-client:5.9.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-framework:5.9.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-test:5.9.0=jarValidation,testRuntimeClasspath -org.apache.kafka:kafka-clients:3.9.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath -org.apache.kafka:kafka-group-coordinator-api:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-group-coordinator:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-metadata:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-raft:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-server-common:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-server:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-storage-api:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-storage:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-streams:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath -org.apache.kafka:kafka-tools-api:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka-transaction-coordinator:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.apache.kafka:kafka_2.13:3.9.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +org.apache.kafka:kafka-clients:4.3.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.apache.kafka:kafka-streams:4.3.1=jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-1.2-api:2.26.0=solrPlatformLibs org.apache.logging.log4j:log4j-api:2.26.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.apache.logging.log4j:log4j-core:2.26.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath @@ -174,7 +156,6 @@ org.apache.lucene:lucene-test-framework:10.4.0=jarValidation,testCompileClasspat org.apache.zookeeper:zookeeper-jute:3.9.5=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.zookeeper:zookeeper:3.9.5=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.codehaus.woodstox:stax2-api:4.3.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty.compression:jetty-compression-common:12.1.10=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.eclipse.jetty.compression:jetty-compression-gzip:12.1.10=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath @@ -218,7 +199,7 @@ org.glassfish.jersey:jersey-bom:4.0.2=jarValidation,runtimeClasspath,runtimeLibs org.hamcrest:hamcrest:3.0=jarValidation,testCompileClasspath,testRuntimeClasspath org.javassist:javassist:3.30.2-GA=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib:2.2.21=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.jetbrains:annotations:26.1.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +org.jetbrains:annotations:26.1.0=jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.jspecify:jspecify:1.0.0=annotationProcessor,compileClasspath,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,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 @@ -230,15 +211,14 @@ org.opentest4j:opentest4j:1.2.0=jarValidation,testRuntimeClasspath org.ow2.asm:asm-commons:9.10.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.ow2.asm:asm-tree:9.10.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.ow2.asm:asm:9.10.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath -org.pcollections:pcollections:4.0.1=annotationProcessor,errorprone,jarValidation,runtimeClasspath,runtimeLibs,testAnnotationProcessor,testRuntimeClasspath -org.rocksdb:rocksdbjni:7.9.2=jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath -org.scala-lang.modules:scala-collection-compat_2.13:2.10.0=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.scala-lang.modules:scala-java8-compat_2.13:1.0.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.scala-lang:scala-library:2.13.18=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath -org.scala-lang:scala-reflect:2.13.15=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +org.pcollections:pcollections:4.0.1=annotationProcessor,errorprone,testAnnotationProcessor +org.rnorth.duct-tape:duct-tape:1.0.8=jarValidation,testCompileClasspath,testRuntimeClasspath +org.rocksdb:rocksdbjni:10.1.3=jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.semver4j:semver4j:6.0.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.slf4j:jcl-over-slf4j:2.0.17=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.slf4j:jul-to-slf4j:2.0.17=solrPlatformLibs org.slf4j:slf4j-api:2.0.17=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers-kafka:2.0.5=jarValidation,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:2.0.5=jarValidation,testCompileClasspath,testRuntimeClasspath org.xerial.snappy:snappy-java:1.1.10.8=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath empty=missingdoclet,packaging diff --git a/solr/cross-dc-manager/src/java/org/apache/solr/crossdc/manager/consumer/Util.java b/solr/cross-dc-manager/src/java/org/apache/solr/crossdc/manager/consumer/Util.java index f0d4dcca4da5..b31665d61f9f 100644 --- a/solr/cross-dc-manager/src/java/org/apache/solr/crossdc/manager/consumer/Util.java +++ b/solr/cross-dc-manager/src/java/org/apache/solr/crossdc/manager/consumer/Util.java @@ -88,7 +88,8 @@ public static void printKafkaInfo(String host, String groupId) { for (TopicPartition topicPartition : topicPartitions) { if (topicPartition.topic().equals(topic)) { long endOffset = consumer.position(topicPartition); - long committedOffset = consumer.committed(topicPartition).offset(); + long committedOffset = + consumer.committed(Set.of(topicPartition)).get(topicPartition).offset(); long updatesInQueue = endOffset - committedOffset; log.info("Topic: {}", topic); diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/DeleteByQueryToIdTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/DeleteByQueryToIdTest.java index 1898def635cd..e73ba6da645f 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/DeleteByQueryToIdTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/DeleteByQueryToIdTest.java @@ -16,6 +16,8 @@ */ package org.apache.solr.crossdc.manager; +import static org.apache.solr.crossdc.common.KafkaCrossDcConf.BOOTSTRAP_SERVERS; + import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters; import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering; import java.io.ByteArrayOutputStream; @@ -26,7 +28,9 @@ import java.util.Map; import java.util.Properties; import java.util.concurrent.CountDownLatch; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; import org.apache.solr.client.solrj.impl.CloudSolrClient; @@ -53,6 +57,8 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( defaultFilters = true, @@ -70,7 +76,7 @@ public class DeleteByQueryToIdTest extends SolrCloudTestCase { static final String VERSION_FIELD = "_version_"; private static final int NUM_BROKERS = 1; - public static EmbeddedKafkaCluster kafkaCluster; + public static KafkaContainer kafkaContainer; protected static volatile MiniSolrCloudCluster solrCluster1; protected static volatile MiniSolrCloudCluster solrCluster2; @@ -94,16 +100,16 @@ public static void beforeSolrAndKafkaIntegrationTest() throws Exception { Properties config = new Properties(); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); + + String bootstrapServers = kafkaContainer.getBootstrapServers(); - kafkaCluster.createTopic(TOPIC, 1, 1); + // Replaced legacy in-JVM topic provisioner with official AdminClient configurations + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(config)) { + adminClient.createTopics(List.of(new NewTopic(TOPIC, 3, (short) 1))).all().get(); + } Properties props = new Properties(); @@ -114,7 +120,7 @@ public String bootstrapServers() { .configure(); props.setProperty("solr.crossdc.topicName", TOPIC); - props.setProperty("solr.crossdc.bootstrapServers", kafkaCluster.bootstrapServers()); + System.setProperty(BOOTSTRAP_SERVERS, bootstrapServers); ByteArrayOutputStream baos = new ByteArrayOutputStream(); props.store(baos, ""); @@ -148,7 +154,6 @@ public String bootstrapServers() { solrCluster2.getSolrClient().request(createTarget2); solrCluster2.waitForActiveCollection(COLLECTION2, 1, 1); - String bootstrapServers = kafkaCluster.bootstrapServers(); log.info("bootstrapServers={}", bootstrapServers); Map properties = new HashMap<>(); @@ -189,12 +194,13 @@ public static void afterSolrAndKafkaIntegrationTest() throws Exception { consumer.shutdown(); } - try { - if (kafkaCluster != null) { - kafkaCluster.stop(); + if (kafkaContainer != null) { + try { + kafkaContainer.stop(); + kafkaContainer = null; + } catch (Exception e) { + log.error("Exception stopping Kafka container", e); } - } catch (Exception e) { - log.error("Exception stopping Kafka cluster", e); } if (solrCluster1 != null) { @@ -208,7 +214,7 @@ public static void afterSolrAndKafkaIntegrationTest() throws Exception { solrCluster1 = null; solrCluster2 = null; - kafkaCluster = null; + kafkaContainer = null; consumer = null; } diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/RetryQueueIntegrationTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/RetryQueueIntegrationTest.java index 1e06264c965a..3b43e9e02170 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/RetryQueueIntegrationTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/RetryQueueIntegrationTest.java @@ -21,9 +21,12 @@ import java.lang.invoke.MethodHandles; import java.nio.file.Path; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; @@ -46,6 +49,8 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( defaultFilters = true, @@ -63,7 +68,7 @@ public class RetryQueueIntegrationTest extends SolrTestCaseJ4 { static final String VERSION_FIELD = "_version_"; private static final int NUM_BROKERS = 1; - public static EmbeddedKafkaCluster kafkaCluster; + public static KafkaContainer kafkaContainer; protected static volatile MiniSolrCloudCluster solrCluster1; protected static volatile MiniSolrCloudCluster solrCluster2; @@ -89,19 +94,19 @@ public static void beforeRetryQueueIntegrationTestTest() throws Exception { config.put("unclean.leader.election.enable", "true"); config.put("enable.partition.eof", "false"); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); - kafkaCluster.createTopic(TOPIC, 1, 1); + String bootstrapServers = kafkaContainer.getBootstrapServers(); + + // Replaced legacy in-JVM topic provisioner with official AdminClient configurations + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(config)) { + adminClient.createTopics(List.of(new NewTopic(TOPIC, 3, (short) 1))).all().get(); + } System.setProperty("solr.crossdc.topicName", TOPIC); - System.setProperty("solr.crossdc.bootstrapServers", kafkaCluster.bootstrapServers()); + System.setProperty("solr.crossdc.bootstrapServers", kafkaContainer.getBootstrapServers()); baseDir1 = createTempDir(); Path zkDir1 = baseDir1.resolve("zookeeper/server1/data"); @@ -132,7 +137,6 @@ public String bootstrapServers() { CloudSolrClient client = solrCluster1.getSolrClient(COLLECTION); - String bootstrapServers = kafkaCluster.bootstrapServers(); log.info("bootstrapServers={}", bootstrapServers); Map properties = new HashMap<>(); @@ -174,12 +178,13 @@ public static void afterRetryQueueIntegrationTest() throws Exception { consumer.shutdown(); } - try { - if (kafkaCluster != null) { - kafkaCluster.stop(); + if (kafkaContainer != null) { + try { + kafkaContainer.stop(); + kafkaContainer = null; + } catch (Exception e) { + log.error("Exception stopping Kafka container", e); } - } catch (Exception e) { - log.error("Exception stopping Kafka cluster", e); } if (solrCluster1 != null) { @@ -199,7 +204,7 @@ public static void afterRetryQueueIntegrationTest() throws Exception { consumer = null; solrCluster1 = null; solrCluster2 = null; - kafkaCluster = null; + kafkaContainer = null; zkTestServer1 = null; zkTestServer2 = null; } diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java index e42ac3844a39..2a416ac31cdd 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java @@ -46,12 +46,14 @@ import java.util.concurrent.TimeUnit; import java.util.stream.IntStream; import org.apache.commons.io.IOUtils; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import org.apache.kafka.common.serialization.StringSerializer; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; import org.apache.solr.client.solrj.SolrClient; @@ -92,6 +94,8 @@ import org.noggit.ObjectBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( filters = { @@ -107,7 +111,7 @@ public class SolrAndKafkaIntegrationTest extends SolrCloudTestCase { private static final int MAX_DOC_SIZE_BYTES = Integer.parseInt(DEFAULT_MAX_REQUEST_SIZE); private static final int NUM_BROKERS = 1; - public EmbeddedKafkaCluster kafkaCluster; + public KafkaContainer kafkaContainer; private static class ConsumerBatch { final String kafkaTopic; @@ -208,22 +212,21 @@ public void sendBatch( }; Properties config = new Properties(); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); + + String bootstrapServers = kafkaContainer.getBootstrapServers(); - // create many partitions to test for re-ordered reads - kafkaCluster.createTopic(TOPIC, 3, 1); + // Replaced legacy in-JVM topic provisioner with official AdminClient configurations + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(config)) { + adminClient.createTopics(List.of(new NewTopic(TOPIC, 3, (short) 1))).all().get(); + } - // ensure small batches to test multi-partition ordering + // Ensure small batches to test multi-partition ordering System.setProperty(BATCH_SIZE_BYTES, "100"); System.setProperty(TOPIC_NAME, TOPIC); - System.setProperty(BOOTSTRAP_SERVERS, kafkaCluster.bootstrapServers()); + System.setProperty(BOOTSTRAP_SERVERS, bootstrapServers); System.setProperty(INDEX_UNMIRRORABLE_DOCS, "false"); System.setProperty(COLLAPSE_UPDATES, "none"); @@ -243,7 +246,6 @@ public String bootstrapServers() { solrCluster2.getSolrClient().request(create2); solrCluster2.waitForActiveCollection(COLLECTION, 1, 1); - String bootstrapServers = kafkaCluster.bootstrapServers(); log.info("bootstrapServers={}", bootstrapServers); Map properties = new HashMap<>(); @@ -268,15 +270,18 @@ public void afterSolrAndKafkaIntegrationTest() throws Exception { solrCluster2.shutdown(); } - consumer.shutdown(); - consumer = null; + if (consumer != null) { + consumer.shutdown(); + consumer = null; + } - try { - // kafkaCluster.deleteAllTopicsAndWait(5000); - kafkaCluster.stop(); - kafkaCluster = null; - } catch (Exception e) { - log.error("Exception stopping Kafka cluster", e); + if (kafkaContainer != null) { + try { + kafkaContainer.stop(); + kafkaContainer = null; + } catch (Exception e) { + log.error("Exception stopping Kafka container", e); + } } Thread.setDefaultUncaughtExceptionHandler(uceh); @@ -301,7 +306,7 @@ public void testFullCloudToCloud() throws Exception { @Test public void testProducerToCloud() throws Exception { Properties properties = new Properties(); - properties.put("bootstrap.servers", kafkaCluster.bootstrapServers()); + properties.put("bootstrap.servers", kafkaContainer.getBootstrapServers()); properties.put("acks", "all"); properties.put("retries", 1); properties.put("batch.size", 1); diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaMultiCollectionIntegrationTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaMultiCollectionIntegrationTest.java index e859e80f4b88..274879868cc6 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaMultiCollectionIntegrationTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaMultiCollectionIntegrationTest.java @@ -30,7 +30,9 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; import org.apache.solr.client.solrj.SolrClient; @@ -56,6 +58,8 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( defaultFilters = true, @@ -75,7 +79,7 @@ public class SolrAndKafkaMultiCollectionIntegrationTest extends SolrCloudTestCas static final String VERSION_FIELD = "_version_"; private static final int NUM_BROKERS = 1; - public EmbeddedKafkaCluster kafkaCluster; + public KafkaContainer kafkaContainer; protected volatile MiniSolrCloudCluster solrCluster1; protected volatile MiniSolrCloudCluster solrCluster2; @@ -98,22 +102,22 @@ public void beforeSolrAndKafkaIntegrationTest() throws Exception { consumer = new Consumer(); Properties config = new Properties(); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); - kafkaCluster.createTopic(TOPIC, 1, 1); + String bootstrapServers = kafkaContainer.getBootstrapServers(); + + // Replaced legacy in-JVM topic provisioner with official AdminClient configurations + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(config)) { + adminClient.createTopics(List.of(new NewTopic(TOPIC, 3, (short) 1))).all().get(); + } // in this test we will count on collection properties for topicName and enabled=true System.setProperty("solr.crossdc.enabled", "false"); // System.setProperty("solr.crossdc.topicName", TOPIC); - System.setProperty("solr.crossdc.bootstrapServers", kafkaCluster.bootstrapServers()); + System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaContainer.getBootstrapServers()); System.setProperty(INDEX_UNMIRRORABLE_DOCS, "false"); solrCluster1 = @@ -141,7 +145,6 @@ public String bootstrapServers() { CollectionAdminRequest.reloadCollection(COLLECTION); reloadRequest.process(solrCluster1.getSolrClient()); - String bootstrapServers = kafkaCluster.bootstrapServers(); log.info("bootstrapServers={}", bootstrapServers); Map properties = new HashMap<>(); @@ -157,7 +160,7 @@ public String bootstrapServers() { public void afterSolrAndKafkaIntegrationTest() throws Exception { ObjectReleaseTracker.clear(); - Util.printKafkaInfo(kafkaCluster.bootstrapServers(), "SolrCrossDCConsumer"); + Util.printKafkaInfo(kafkaContainer.getBootstrapServers(), "SolrCrossDCConsumer"); if (solrCluster1 != null) { solrCluster1.getZkServer().getZkClient().printLayoutToStream(System.out); @@ -171,12 +174,13 @@ public void afterSolrAndKafkaIntegrationTest() throws Exception { consumer.shutdown(); consumer = null; - try { - // kafkaCluster.deleteAllTopicsAndWait(10000); - kafkaCluster.stop(); - kafkaCluster = null; - } catch (Exception e) { - log.error("Exception stopping Kafka cluster", e); + if (kafkaContainer != null) { + try { + kafkaContainer.stop(); + kafkaContainer = null; + } catch (Exception e) { + log.error("Exception stopping Kafka container", e); + } } } diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaReindexTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaReindexTest.java index a7c12207e57f..06ad97e7f50b 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaReindexTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaReindexTest.java @@ -25,7 +25,9 @@ import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; import org.apache.solr.client.solrj.SolrServerException; @@ -45,6 +47,8 @@ import org.junit.BeforeClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( defaultFilters = true, @@ -61,7 +65,7 @@ public class SolrAndKafkaReindexTest extends SolrCloudTestCase { static final String VERSION_FIELD = "_version_"; private static final int NUM_BROKERS = 1; - public static EmbeddedKafkaCluster kafkaCluster; + public static KafkaContainer kafkaContainer; protected static volatile MiniSolrCloudCluster solrCluster1; protected static volatile MiniSolrCloudCluster solrCluster2; @@ -83,19 +87,19 @@ public static void beforeSolrAndKafkaIntegrationTest() throws Exception { config.put("unclean.leader.election.enable", "true"); config.put("enable.partition.eof", "false"); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); - kafkaCluster.createTopic(TOPIC, 1, 1); + String bootstrapServers = kafkaContainer.getBootstrapServers(); + + // Replaced legacy in-JVM topic provisioner with official AdminClient configurations + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(config)) { + adminClient.createTopics(List.of(new NewTopic(TOPIC, 3, (short) 1))).all().get(); + } System.setProperty("solr.crossdc.topicName", TOPIC); - System.setProperty("solr.crossdc.bootstrapServers", kafkaCluster.bootstrapServers()); + System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaContainer.getBootstrapServers()); solrCluster1 = configureCluster(3).addConfig("conf", getFile("configs/cloud-minimal/conf")).configure(); @@ -113,7 +117,6 @@ public String bootstrapServers() { solrCluster2.getSolrClient().request(create2); solrCluster2.waitForActiveCollection(COLLECTION, 2, 6); - String bootstrapServers = kafkaCluster.bootstrapServers(); log.info("bootstrapServers={}", bootstrapServers); Map properties = new HashMap<>(); @@ -148,17 +151,17 @@ public static void afterSolrAndKafkaIntegrationTest() throws Exception { consumer.shutdown(); } - try { - if (kafkaCluster != null) { - kafkaCluster.stop(); + if (kafkaContainer != null) { + try { + kafkaContainer.stop(); + } catch (Exception e) { + log.error("Exception stopping Kafka container", e); } - } catch (Exception e) { - log.error("Exception stopping Kafka cluster, ignoring", e); } solrCluster1 = null; solrCluster2 = null; - kafkaCluster = null; + kafkaContainer = null; consumer = null; } diff --git a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/ZkConfigIntegrationTest.java b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/ZkConfigIntegrationTest.java index e0af7eaeb612..8bbedf7c404d 100644 --- a/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/ZkConfigIntegrationTest.java +++ b/solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/ZkConfigIntegrationTest.java @@ -21,9 +21,12 @@ import java.io.ByteArrayOutputStream; import java.lang.invoke.MethodHandles; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Properties; -import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.NewTopic; import org.apache.lucene.tests.util.QuickPatchThreadsFilter; import org.apache.solr.SolrIgnoredThreadsFilter; import org.apache.solr.client.solrj.impl.CloudSolrClient; @@ -43,6 +46,8 @@ import org.junit.BeforeClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.testcontainers.kafka.KafkaContainer; +import org.testcontainers.utility.DockerImageName; @ThreadLeakFilters( defaultFilters = true, @@ -59,8 +64,8 @@ public class ZkConfigIntegrationTest extends SolrCloudTestCase { static final String VERSION_FIELD = "_version_"; - private static final int NUM_BROKERS = 1; - public static EmbeddedKafkaCluster kafkaCluster; + // Replaced legacy EmbeddedKafkaCluster wrapper with native Testcontainers orchestration + public static KafkaContainer kafkaContainer; protected static volatile MiniSolrCloudCluster solrCluster1; protected static volatile MiniSolrCloudCluster solrCluster2; @@ -80,24 +85,24 @@ public static void beforeSolrAndKafkaIntegrationTest() throws Exception { System.setProperty(KafkaCrossDcConf.PORT, "-1"); consumer1 = new Consumer(); consumer2 = new Consumer(); - Properties config = new Properties(); - config.put("unclean.leader.election.enable", "true"); - config.put("enable.partition.eof", "false"); - kafkaCluster = - new EmbeddedKafkaCluster(NUM_BROKERS, config) { - @Override - public String bootstrapServers() { - return super.bootstrapServers().replaceAll("localhost", "127.0.0.1"); - } - }; - kafkaCluster.start(); - - kafkaCluster.createTopic(TOPIC1, 1, 1); - kafkaCluster.createTopic(TOPIC2, 1, 1); - - // System.setProperty("solr.crossdc.topicName", null); - // System.setProperty("solr.crossdc.bootstrapServers", null); + // Spin up an isolated Kafka 4.3.1 broker running purely in KRaft mode + kafkaContainer = new KafkaContainer(DockerImageName.parse("apache/kafka:4.3.1")); + kafkaContainer.start(); + + String bootstrapServers = kafkaContainer.getBootstrapServers(); + log.info("Kafka Testcontainer started. bootstrapServers={}", bootstrapServers); + + // Create required execution topics using standard Kafka AdminClient mechanics + Properties adminProps = new Properties(); + adminProps.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers); + try (AdminClient adminClient = AdminClient.create(adminProps)) { + adminClient + .createTopics( + List.of(new NewTopic(TOPIC1, 1, (short) 1), new NewTopic(TOPIC2, 1, (short) 1))) + .all() + .get(); + } Properties props = new Properties(); @@ -105,10 +110,10 @@ public String bootstrapServers() { configureCluster(1).addConfig("conf", getFile("configs/cloud-minimal/conf")).configure(); props.setProperty(KafkaCrossDcConf.TOPIC_NAME, TOPIC2); - props.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaCluster.bootstrapServers()); + props.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, bootstrapServers); System.setProperty(KafkaCrossDcConf.TOPIC_NAME, TOPIC2); - System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaCluster.bootstrapServers()); + System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, bootstrapServers); ByteArrayOutputStream baos = new ByteArrayOutputStream(); props.store(baos, ""); @@ -129,22 +134,17 @@ public String bootstrapServers() { solrCluster2.waitForActiveCollection(COLLECTION, 1, 1); props = new Properties(); - props.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaCluster.bootstrapServers()); + props.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, bootstrapServers); baos = new ByteArrayOutputStream(); props.store(baos, ""); data = baos.toByteArray(); solrCluster2.getZkClient().makePath("/crossdc.properties", data, true); - String bootstrapServers = kafkaCluster.bootstrapServers(); - log.info("bootstrapServers={}", bootstrapServers); - Map properties = new HashMap<>(); - Object put = - properties.put( - KafkaCrossDcConf.ZK_CONNECT_STRING, solrCluster2.getZkServer().getZkAddress()); + properties.put(KafkaCrossDcConf.ZK_CONNECT_STRING, solrCluster2.getZkServer().getZkAddress()); - System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, kafkaCluster.bootstrapServers()); + System.setProperty(KafkaCrossDcConf.BOOTSTRAP_SERVERS, bootstrapServers); consumer1.start(properties); @@ -175,17 +175,17 @@ public static void afterSolrAndKafkaIntegrationTest() throws Exception { consumer2.shutdown(); } - if (kafkaCluster != null) { + if (kafkaContainer != null) { try { - kafkaCluster.stop(); + kafkaContainer.stop(); } catch (Exception e) { - log.error("Exception stopping Kafka cluster", e); + log.error("Exception stopping Kafka container", e); } } solrCluster1 = null; solrCluster2 = null; - kafkaCluster = null; + kafkaContainer = null; consumer1 = null; consumer2 = null; } diff --git a/solr/licenses/argparse4j-0.7.0.jar.sha1 b/solr/licenses/argparse4j-0.7.0.jar.sha1 deleted file mode 100644 index 23beccf95885..000000000000 --- a/solr/licenses/argparse4j-0.7.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -6f0621d0c3888de39e0f06d01f37ba53a798e657 diff --git a/solr/licenses/commons-beanutils-1.11.0.jar.sha1 b/solr/licenses/commons-beanutils-1.11.0.jar.sha1 deleted file mode 100644 index b445b39655fe..000000000000 --- a/solr/licenses/commons-beanutils-1.11.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ac03ea606d13de04c2e4508227680faff151f491 diff --git a/solr/licenses/commons-collections-3.2.2.jar.sha1 b/solr/licenses/commons-collections-3.2.2.jar.sha1 deleted file mode 100644 index 3284fcae4138..000000000000 --- a/solr/licenses/commons-collections-3.2.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -8ad72fe39fa8c91eaaf12aadb21e0c3661fe26d5 diff --git a/solr/licenses/commons-digester-2.1.jar.sha1 b/solr/licenses/commons-digester-2.1.jar.sha1 deleted file mode 100644 index 0a4c66f0bb97..000000000000 --- a/solr/licenses/commons-digester-2.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -73a8001e7a54a255eef0f03521ec1805dc738ca0 diff --git a/solr/licenses/commons-validator-1.10.1.jar.sha1 b/solr/licenses/commons-validator-1.10.1.jar.sha1 deleted file mode 100644 index 8a885b5ada9c..000000000000 --- a/solr/licenses/commons-validator-1.10.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -cdf5c2a69aad509c4db54786f19f1e1ccc471bcf diff --git a/solr/licenses/jackson-dataformat-csv-2.22.0.jar.sha1 b/solr/licenses/jackson-dataformat-csv-2.22.0.jar.sha1 deleted file mode 100644 index 14ad17bebbac..000000000000 --- a/solr/licenses/jackson-dataformat-csv-2.22.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -cb79c48fff4f42e970d16e26754ab8b33b569410 diff --git a/solr/licenses/jackson-module-scala_2.13-2.22.0.jar.sha1 b/solr/licenses/jackson-module-scala_2.13-2.22.0.jar.sha1 deleted file mode 100644 index 06254cea8508..000000000000 --- a/solr/licenses/jackson-module-scala_2.13-2.22.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ee9cda18f877b8b650005575915a379d344a0ddb diff --git a/solr/licenses/kafka-clients-3.9.2-test.jar.sha1 b/solr/licenses/kafka-clients-3.9.2-test.jar.sha1 deleted file mode 100644 index d63004758a17..000000000000 --- a/solr/licenses/kafka-clients-3.9.2-test.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -06e3f668d8d989f608dc3891d3e2d6a95508f074 diff --git a/solr/licenses/kafka-clients-3.9.2.jar.sha1 b/solr/licenses/kafka-clients-3.9.2.jar.sha1 deleted file mode 100644 index 5825a6db3923..000000000000 --- a/solr/licenses/kafka-clients-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a06edbaa01458ed2e8cf1be69a18c2f231fda6e0 diff --git a/solr/licenses/kafka-clients-4.3.1-test.jar.sha1 b/solr/licenses/kafka-clients-4.3.1-test.jar.sha1 new file mode 100644 index 000000000000..5c7487e0a73b --- /dev/null +++ b/solr/licenses/kafka-clients-4.3.1-test.jar.sha1 @@ -0,0 +1 @@ +fcf9f8eb43a774ddc297df49672fcecad1cdcf0a diff --git a/solr/licenses/kafka-clients-4.3.1.jar.sha1 b/solr/licenses/kafka-clients-4.3.1.jar.sha1 new file mode 100644 index 000000000000..8fbeb30c1539 --- /dev/null +++ b/solr/licenses/kafka-clients-4.3.1.jar.sha1 @@ -0,0 +1 @@ +74209a28d36f819b2f7a9b599e468b5654cad514 diff --git a/solr/licenses/kafka-group-coordinator-3.9.2.jar.sha1 b/solr/licenses/kafka-group-coordinator-3.9.2.jar.sha1 deleted file mode 100644 index 1141ce9a3c18..000000000000 --- a/solr/licenses/kafka-group-coordinator-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -416c1dbcdd1e141707dd89dfe04328a9ce870264 diff --git a/solr/licenses/kafka-group-coordinator-api-3.9.2.jar.sha1 b/solr/licenses/kafka-group-coordinator-api-3.9.2.jar.sha1 deleted file mode 100644 index 13b0b7f78db0..000000000000 --- a/solr/licenses/kafka-group-coordinator-api-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -7a69f2be4047f3f55554c403fe78680d54a26480 diff --git a/solr/licenses/kafka-metadata-3.9.2.jar.sha1 b/solr/licenses/kafka-metadata-3.9.2.jar.sha1 deleted file mode 100644 index fe49498df2fb..000000000000 --- a/solr/licenses/kafka-metadata-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -01a266d85e89f1216e1325955942c3037da21d3b diff --git a/solr/licenses/kafka-raft-3.9.2.jar.sha1 b/solr/licenses/kafka-raft-3.9.2.jar.sha1 deleted file mode 100644 index c30402567805..000000000000 --- a/solr/licenses/kafka-raft-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -5b72980224762aef91766a8fb047a03640905700 diff --git a/solr/licenses/kafka-server-3.9.2.jar.sha1 b/solr/licenses/kafka-server-3.9.2.jar.sha1 deleted file mode 100644 index 4fe94c9114b6..000000000000 --- a/solr/licenses/kafka-server-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -e3d11d66ce497bfc3572d9e095280b4a893d16fa diff --git a/solr/licenses/kafka-server-common-3.9.2-test.jar.sha1 b/solr/licenses/kafka-server-common-3.9.2-test.jar.sha1 deleted file mode 100644 index c142a96f2992..000000000000 --- a/solr/licenses/kafka-server-common-3.9.2-test.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -dfe59e02dde550d01ca98dca66ceb885af6d84b1 diff --git a/solr/licenses/kafka-server-common-3.9.2.jar.sha1 b/solr/licenses/kafka-server-common-3.9.2.jar.sha1 deleted file mode 100644 index 8e9b718fffc3..000000000000 --- a/solr/licenses/kafka-server-common-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -e6fe2cdafd5b2a0b07db07cf692863e0b9335625 diff --git a/solr/licenses/kafka-storage-3.9.2.jar.sha1 b/solr/licenses/kafka-storage-3.9.2.jar.sha1 deleted file mode 100644 index 2d38f15baaaa..000000000000 --- a/solr/licenses/kafka-storage-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a8a997893c4cb8cc3093c71720b3c33f1e03cade diff --git a/solr/licenses/kafka-storage-api-3.9.2.jar.sha1 b/solr/licenses/kafka-storage-api-3.9.2.jar.sha1 deleted file mode 100644 index 39ea1716578c..000000000000 --- a/solr/licenses/kafka-storage-api-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -8fa32fee158c900bd2d3d87d09d5838bd5a8813f diff --git a/solr/licenses/kafka-streams-3.9.2-test.jar.sha1 b/solr/licenses/kafka-streams-3.9.2-test.jar.sha1 deleted file mode 100644 index d0dd0217f906..000000000000 --- a/solr/licenses/kafka-streams-3.9.2-test.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a73440d85accc36697234500238635f617dd704e diff --git a/solr/licenses/kafka-streams-3.9.2.jar.sha1 b/solr/licenses/kafka-streams-3.9.2.jar.sha1 deleted file mode 100644 index 2beffe31980d..000000000000 --- a/solr/licenses/kafka-streams-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -3253bfc2c12441a54be3c2c77ce5b1d2dec7be72 diff --git a/solr/licenses/kafka-streams-4.3.1-test.jar.sha1 b/solr/licenses/kafka-streams-4.3.1-test.jar.sha1 new file mode 100644 index 000000000000..ccb370654e42 --- /dev/null +++ b/solr/licenses/kafka-streams-4.3.1-test.jar.sha1 @@ -0,0 +1 @@ +9807dfde5d317141b52f4ea9a3f5aba185b25c79 diff --git a/solr/licenses/kafka-streams-4.3.1.jar.sha1 b/solr/licenses/kafka-streams-4.3.1.jar.sha1 new file mode 100644 index 000000000000..2a264a736426 --- /dev/null +++ b/solr/licenses/kafka-streams-4.3.1.jar.sha1 @@ -0,0 +1 @@ +76cef4ff46a4355bac231cba87ef74a79a27aaf2 diff --git a/solr/licenses/kafka-tools-api-3.9.2.jar.sha1 b/solr/licenses/kafka-tools-api-3.9.2.jar.sha1 deleted file mode 100644 index 8aa9ceabe944..000000000000 --- a/solr/licenses/kafka-tools-api-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -d1b40695ba813f5647fe5bcd5960628cd1ef9a77 diff --git a/solr/licenses/kafka-transaction-coordinator-3.9.2.jar.sha1 b/solr/licenses/kafka-transaction-coordinator-3.9.2.jar.sha1 deleted file mode 100644 index 02b3cf0fc79d..000000000000 --- a/solr/licenses/kafka-transaction-coordinator-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -b001c1f9e45521be560d9a2a9e6d337a1b3a82c9 diff --git a/solr/licenses/kafka_2.13-3.9.2-test.jar.sha1 b/solr/licenses/kafka_2.13-3.9.2-test.jar.sha1 deleted file mode 100644 index 61558f444d80..000000000000 --- a/solr/licenses/kafka_2.13-3.9.2-test.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ac5d850006fa65cdba75012d6f2c17ed1759c1ce diff --git a/solr/licenses/kafka_2.13-3.9.2.jar.sha1 b/solr/licenses/kafka_2.13-3.9.2.jar.sha1 deleted file mode 100644 index 4386ee2ced19..000000000000 --- a/solr/licenses/kafka_2.13-3.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -a671d4c2c65740d4a564687d9313ca50be6c10e5 diff --git a/solr/licenses/kafka_2.13-LICENSE-ASL.txt b/solr/licenses/kafka_2.13-LICENSE-ASL.txt deleted file mode 100644 index a6fe25e5c8d8..000000000000 --- a/solr/licenses/kafka_2.13-LICENSE-ASL.txt +++ /dev/null @@ -1,345 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -------------------------------------------------------------------------------- -This project bundles some components that are also licensed under the Apache -License Version 2.0: - -audience-annotations-0.12.0 -caffeine-2.9.3 -commons-beanutils-1.9.4 -commons-cli-1.4 -commons-collections-3.2.2 -commons-digester-2.1 -commons-io-2.11.0 -commons-lang3-3.12.0 -commons-logging-1.2 -commons-validator-1.7 -error_prone_annotations-2.10.0 -jackson-annotations-2.16.2 -jackson-core-2.16.2 -jackson-databind-2.16.2 -jackson-dataformat-csv-2.16.2 -jackson-datatype-jdk8-2.16.2 -jackson-jaxrs-base-2.16.2 -jackson-jaxrs-json-provider-2.16.2 -jackson-module-afterburner-2.16.2 -jackson-module-jaxb-annotations-2.16.2 -jackson-module-scala_2.13-2.16.2 -jackson-module-scala_2.12-2.16.2 -jakarta.validation-api-2.0.2 -javassist-3.29.2-GA -jetty-client-9.4.54.v20240208 -jetty-continuation-9.4.54.v20240208 -jetty-http-9.4.54.v20240208 -jetty-io-9.4.54.v20240208 -jetty-security-9.4.54.v20240208 -jetty-server-9.4.54.v20240208 -jetty-servlet-9.4.54.v20240208 -jetty-servlets-9.4.54.v20240208 -jetty-util-9.4.54.v20240208 -jetty-util-ajax-9.4.54.v20240208 -jose4j-0.9.4 -lz4-java-1.8.0 -maven-artifact-3.9.6 -metrics-core-4.1.12.1 -metrics-core-2.2.0 -netty-buffer-4.1.111.Final -netty-codec-4.1.111.Final -netty-common-4.1.111.Final -netty-handler-4.1.111.Final -netty-resolver-4.1.111.Final -netty-transport-4.1.111.Final -netty-transport-classes-epoll-4.1.111.Final -netty-transport-native-epoll-4.1.111.Final -netty-transport-native-unix-common-4.1.111.Final -opentelemetry-proto-1.0.0-alpha -plexus-utils-3.5.1 -reflections-0.10.2 -reload4j-1.2.25 -rocksdbjni-7.9.2 -scala-collection-compat_2.12-2.10.0 -scala-collection-compat_2.13-2.10.0 -scala-library-2.12.19 -scala-library-2.13.14 -scala-logging_2.12-3.9.5 -scala-logging_2.13-3.9.5 -scala-reflect-2.12.19 -scala-reflect-2.13.14 -scala-java8-compat_2.12-1.0.2 -scala-java8-compat_2.13-1.0.2 -snappy-java-1.1.10.5 -swagger-annotations-2.2.8 -zookeeper-3.8.4 -zookeeper-jute-3.8.4 - -=============================================================================== -This product bundles various third-party components under other open source -licenses. This section summarizes those components and their licenses. -See licenses/ for text of these licenses. - ---------------------------------------- -Eclipse Distribution License - v 1.0 -see: licenses/eclipse-distribution-license-1.0 - -jakarta.activation-api-1.2.2 -jakarta.xml.bind-api-2.3.3 - ---------------------------------------- -Eclipse Public License - v 2.0 -see: licenses/eclipse-public-license-2.0 - -jakarta.annotation-api-1.3.5 -jakarta.ws.rs-api-2.1.6 -hk2-api-2.6.1 -hk2-locator-2.6.1 -hk2-utils-2.6.1 -osgi-resource-locator-1.0.3 -aopalliance-repackaged-2.6.1 -jakarta.inject-2.6.1 -jersey-client-2.39.1 -jersey-common-2.39.1 -jersey-container-servlet-2.39.1 -jersey-container-servlet-core-2.39.1 -jersey-hk2-2.39.1 -jersey-server-2.39.1 - ---------------------------------------- -CDDL 1.1 + GPLv2 with classpath exception -see: licenses/CDDL+GPL-1.1 - -javax.activation-api-1.2.0 -javax.annotation-api-1.3.2 -javax.servlet-api-3.1.0 -javax.ws.rs-api-2.1.1 -jaxb-api-2.3.1 -activation-1.1.1 - ---------------------------------------- -MIT License - -argparse4j-0.7.0, see: licenses/argparse-MIT -checker-qual-3.19.0, see: licenses/checker-qual-MIT -jopt-simple-5.0.4, see: licenses/jopt-simple-MIT -slf4j-api-1.7.36, see: licenses/slf4j-MIT -slf4j-reload4j-1.7.36, see: licenses/slf4j-MIT -pcollections-4.0.1, see: licenses/pcollections-MIT - ---------------------------------------- -BSD 2-Clause - -zstd-jni-1.5.6-3 see: licenses/zstd-jni-BSD-2-clause - ---------------------------------------- -BSD 3-Clause - -jline-3.25.1, see: licenses/jline-BSD-3-clause -jsr305-3.0.2, see: licenses/jsr305-BSD-3-clause -paranamer-2.8, see: licenses/paranamer-BSD-3-clause -protobuf-java-3.23.4, see: licenses/protobuf-java-BSD-3-clause - ---------------------------------------- -Do What The F*ck You Want To Public License -see: licenses/DWTFYWTPL - -reflections-0.10.2 \ No newline at end of file diff --git a/solr/licenses/kafka_2.13-NOTICE.txt b/solr/licenses/kafka_2.13-NOTICE.txt deleted file mode 100644 index c5c9b84e9320..000000000000 --- a/solr/licenses/kafka_2.13-NOTICE.txt +++ /dev/null @@ -1,863 +0,0 @@ -Apache Kafka -Copyright 2021 The Apache Software Foundation. - -This product includes software developed at -The Apache Software Foundation (https://www.apache.org/). - -This distribution has a binary dependency on jersey, which is available under the CDDL -License. The source code of jersey can be found at https://github.com/jersey/jersey/. - -This distribution has a binary test dependency on jqwik, which is available under -the Eclipse Public License 2.0. The source code can be found at -https://github.com/jlink/jqwik. - -The streams-scala (streams/streams-scala) module was donated by Lightbend and the original code was copyrighted by them: -Copyright (C) 2018 Lightbend Inc. -Copyright (C) 2017-2018 Alexis Seigneurin. - -This project contains the following code copied from Apache Hadoop: -clients/src/main/java/org/apache/kafka/common/utils/PureJavaCrc32C.java -Some portions of this file Copyright (c) 2004-2006 Intel Corporation and licensed under the BSD license. - -This project contains the following code copied from Apache Hive: -streams/src/main/java/org/apache/kafka/streams/state/internals/Murmur3.java - -// ------------------------------------------------------------------ -// NOTICE file corresponding to the section 4d of The Apache License, -// Version 2.0, in this case for -// ------------------------------------------------------------------ - -# Notices for Eclipse GlassFish - -This content is produced and maintained by the Eclipse GlassFish project. - -* Project home: https://projects.eclipse.org/projects/ee4j.glassfish - -## Trademarks - -Eclipse GlassFish, and GlassFish are trademarks of the Eclipse Foundation. - -## Copyright - -All content is the property of the respective authors or their employers. For -more information regarding authorship of content, please consult the listed -source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v. 2.0 which is available at -http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made -available under the following Secondary Licenses when the conditions for such -availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU -General Public License, version 2 with the GNU Classpath Exception which is -available at https://www.gnu.org/software/classpath/license.html. - -SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - -## Source Code - -The project maintains the following source code repositories: - -* https://github.com/eclipse-ee4j/glassfish-ha-api -* https://github.com/eclipse-ee4j/glassfish-logging-annotation-processor -* https://github.com/eclipse-ee4j/glassfish-shoal -* https://github.com/eclipse-ee4j/glassfish-cdi-porting-tck -* https://github.com/eclipse-ee4j/glassfish-jsftemplating -* https://github.com/eclipse-ee4j/glassfish-hk2-extra -* https://github.com/eclipse-ee4j/glassfish-hk2 -* https://github.com/eclipse-ee4j/glassfish-fighterfish - -## Third-party Content - -This project leverages the following third party content. - -None - -## Cryptography - -Content may contain encryption software. The country in which you are currently -may have restrictions on the import, possession, and use, and/or re-export to -another country, of encryption software. BEFORE using any encryption software, -please check the country's laws, regulations and policies concerning the import, -possession, or use, and re-export of encryption software, to see if this is -permitted. - - -Apache Yetus - Audience Annotations -Copyright 2015-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons CLI -Copyright 2001-2017 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache Commons IO -Copyright 2002-2021 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (https://www.apache.org/). - - -Apache Commons Lang -Copyright 2001-2018 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -# Jackson JSON processor - -Jackson is a high-performance, Free/Open Source JSON processing library. -It was originally written by Tatu Saloranta (tatu.saloranta@iki.fi), and has -been in development since 2007. -It is currently developed by a community of developers, as well as supported -commercially by FasterXML.com. - -## Licensing - -Jackson core and extension components may licensed under different licenses. -To find the details that apply to this artifact see the accompanying LICENSE file. -For more information, including possible other licensing options, contact -FasterXML.com (http://fasterxml.com). - -## Credits - -A list of contributors may be found from CREDITS file, which is included -in some artifacts (usually source distributions); but is always available -from the source code management (SCM) system project uses. - - -# Notices for Eclipse Project for JAF - -This content is produced and maintained by the Eclipse Project for JAF project. - -* Project home: https://projects.eclipse.org/projects/ee4j.jaf - -## Copyright - -All content is the property of the respective authors or their employers. For -more information regarding authorship of content, please consult the listed -source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Distribution License v. 1.0, -which is available at http://www.eclipse.org/org/documents/edl-v10.php. - -SPDX-License-Identifier: BSD-3-Clause - -## Source Code - -The project maintains the following source code repositories: - -* https://github.com/eclipse-ee4j/jaf - -## Third-party Content - -This project leverages the following third party content. - -JUnit (4.12) - -* License: Eclipse Public License - - -# Notices for Jakarta Annotations - -This content is produced and maintained by the Jakarta Annotations project. - - * Project home: https://projects.eclipse.org/projects/ee4j.ca - -## Trademarks - -Jakarta Annotations is a trademark of the Eclipse Foundation. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v. 2.0 which is available at -http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made -available under the following Secondary Licenses when the conditions for such -availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU -General Public License, version 2 with the GNU Classpath Exception which is -available at https://www.gnu.org/software/classpath/license.html. - -SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - -## Source Code - -The project maintains the following source code repositories: - - * https://github.com/eclipse-ee4j/common-annotations-api - -## Third-party Content - -## Cryptography - -Content may contain encryption software. The country in which you are currently -may have restrictions on the import, possession, and use, and/or re-export to -another country, of encryption software. BEFORE using any encryption software, -please check the country's laws, regulations and policies concerning the import, -possession, or use, and re-export of encryption software, to see if this is -permitted. - - -# Notices for the Jakarta RESTful Web Services Project - -This content is produced and maintained by the **Jakarta RESTful Web Services** -project. - -* Project home: https://projects.eclipse.org/projects/ee4j.jaxrs - -## Trademarks - -**Jakarta RESTful Web Services** is a trademark of the Eclipse Foundation. - -## Copyright - -All content is the property of the respective authors or their employers. For -more information regarding authorship of content, please consult the listed -source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v. 2.0 which is available at -http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made -available under the following Secondary Licenses when the conditions for such -availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU -General Public License, version 2 with the GNU Classpath Exception which is -available at https://www.gnu.org/software/classpath/license.html. - -SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - -## Source Code - -The project maintains the following source code repositories: - -* https://github.com/eclipse-ee4j/jaxrs-api - -## Third-party Content - -This project leverages the following third party content. - -javaee-api (7.0) - -* License: Apache-2.0 AND W3C - -JUnit (4.11) - -* License: Common Public License 1.0 - -Mockito (2.16.0) - -* Project: http://site.mockito.org -* Source: https://github.com/mockito/mockito/releases/tag/v2.16.0 - -## Cryptography - -Content may contain encryption software. The country in which you are currently -may have restrictions on the import, possession, and use, and/or re-export to -another country, of encryption software. BEFORE using any encryption software, -please check the country's laws, regulations and policies concerning the import, -possession, or use, and re-export of encryption software, to see if this is -permitted. - - -# Notices for Eclipse Project for JAXB - -This content is produced and maintained by the Eclipse Project for JAXB project. - -* Project home: https://projects.eclipse.org/projects/ee4j.jaxb - -## Trademarks - -Eclipse Project for JAXB is a trademark of the Eclipse Foundation. - -## Copyright - -All content is the property of the respective authors or their employers. For -more information regarding authorship of content, please consult the listed -source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Distribution License v. 1.0 which is available -at http://www.eclipse.org/org/documents/edl-v10.php. - -SPDX-License-Identifier: BSD-3-Clause - -## Source Code - -The project maintains the following source code repositories: - -* https://github.com/eclipse-ee4j/jaxb-api - -## Third-party Content - -This project leverages the following third party content. - -None - -## Cryptography - -Content may contain encryption software. The country in which you are currently -may have restrictions on the import, possession, and use, and/or re-export to -another country, of encryption software. BEFORE using any encryption software, -please check the country's laws, regulations and policies concerning the import, -possession, or use, and re-export of encryption software, to see if this is -permitted. - - -# Notice for Jersey -This content is produced and maintained by the Eclipse Jersey project. - -* Project home: https://projects.eclipse.org/projects/ee4j.jersey - -## Trademarks -Eclipse Jersey is a trademark of the Eclipse Foundation. - -## Copyright - -All content is the property of the respective authors or their employers. For -more information regarding authorship of content, please consult the listed -source code repository logs. - -## Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License v. 2.0 which is available at -http://www.eclipse.org/legal/epl-2.0. This Source Code may also be made -available under the following Secondary Licenses when the conditions for such -availability set forth in the Eclipse Public License v. 2.0 are satisfied: GNU -General Public License, version 2 with the GNU Classpath Exception which is -available at https://www.gnu.org/software/classpath/license.html. - -SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 - -## Source Code -The project maintains the following source code repositories: - -* https://github.com/eclipse-ee4j/jersey - -## Third-party Content - -Angular JS, v1.6.6 -* License MIT (http://www.opensource.org/licenses/mit-license.php) -* Project: http://angularjs.org -* Coyright: (c) 2010-2017 Google, Inc. - -aopalliance Version 1 -* License: all the source code provided by AOP Alliance is Public Domain. -* Project: http://aopalliance.sourceforge.net -* Copyright: Material in the public domain is not protected by copyright - -Bean Validation API 2.0.2 -* License: Apache License, 2.0 -* Project: http://beanvalidation.org/1.1/ -* Copyright: 2009, Red Hat, Inc. and/or its affiliates, and individual contributors -* by the @authors tag. - -Hibernate Validator CDI, 6.1.2.Final -* License: Apache License, 2.0 -* Project: https://beanvalidation.org/ -* Repackaged in org.glassfish.jersey.server.validation.internal.hibernate - -Bootstrap v3.3.7 -* License: MIT license (https://github.com/twbs/bootstrap/blob/master/LICENSE) -* Project: http://getbootstrap.com -* Copyright: 2011-2016 Twitter, Inc - -Google Guava Version 18.0 -* License: Apache License, 2.0 -* Copyright (C) 2009 The Guava Authors - -javax.inject Version: 1 -* License: Apache License, 2.0 -* Copyright (C) 2009 The JSR-330 Expert Group - -Javassist Version 3.25.0-GA -* License: Apache License, 2.0 -* Project: http://www.javassist.org/ -* Copyright (C) 1999- Shigeru Chiba. All Rights Reserved. - -Jackson JAX-RS Providers Version 2.10.1 -* License: Apache License, 2.0 -* Project: https://github.com/FasterXML/jackson-jaxrs-providers -* Copyright: (c) 2009-2011 FasterXML, LLC. All rights reserved unless otherwise indicated. - -jQuery v1.12.4 -* License: jquery.org/license -* Project: jquery.org -* Copyright: (c) jQuery Foundation - -jQuery Barcode plugin 0.3 -* License: MIT & GPL (http://www.opensource.org/licenses/mit-license.php & http://www.gnu.org/licenses/gpl.html) -* Project: http://www.pasella.it/projects/jQuery/barcode -* Copyright: (c) 2009 Antonello Pasella antonello.pasella@gmail.com - -JSR-166 Extension - JEP 266 -* License: CC0 -* No copyright -* Written by Doug Lea with assistance from members of JCP JSR-166 Expert Group and released to the public domain, as explained at http://creativecommons.org/publicdomain/zero/1.0/ - -KineticJS, v4.7.1 -* License: MIT license (http://www.opensource.org/licenses/mit-license.php) -* Project: http://www.kineticjs.com, https://github.com/ericdrowell/KineticJS -* Copyright: Eric Rowell - -org.objectweb.asm Version 8.0 -* License: Modified BSD (http://asm.objectweb.org/license.html) -* Copyright (c) 2000-2011 INRIA, France Telecom. All rights reserved. - -org.osgi.core version 6.0.0 -* License: Apache License, 2.0 -* Copyright (c) OSGi Alliance (2005, 2008). All Rights Reserved. - -org.glassfish.jersey.server.internal.monitoring.core -* License: Apache License, 2.0 -* Copyright (c) 2015-2018 Oracle and/or its affiliates. All rights reserved. -* Copyright 2010-2013 Coda Hale and Yammer, Inc. - -W3.org documents -* License: W3C License -* Copyright: Copyright (c) 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/ - - -============================================================== - Jetty Web Container - Copyright 1995-2018 Mort Bay Consulting Pty Ltd. -============================================================== - -The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd -unless otherwise noted. - -Jetty is dual licensed under both - - * The Apache 2.0 License - http://www.apache.org/licenses/LICENSE-2.0.html - - and - - * The Eclipse Public 1.0 License - http://www.eclipse.org/legal/epl-v10.html - -Jetty may be distributed under either license. - ------- -Eclipse - -The following artifacts are EPL. - * org.eclipse.jetty.orbit:org.eclipse.jdt.core - -The following artifacts are EPL and ASL2. - * org.eclipse.jetty.orbit:javax.security.auth.message - - -The following artifacts are EPL and CDDL 1.0. - * org.eclipse.jetty.orbit:javax.mail.glassfish - - ------- -Oracle - -The following artifacts are CDDL + GPLv2 with classpath exception. -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - - * javax.servlet:javax.servlet-api - * javax.annotation:javax.annotation-api - * javax.transaction:javax.transaction-api - * javax.websocket:javax.websocket-api - ------- -Oracle OpenJDK - -If ALPN is used to negotiate HTTP/2 connections, then the following -artifacts may be included in the distribution or downloaded when ALPN -module is selected. - - * java.sun.security.ssl - -These artifacts replace/modify OpenJDK classes. The modififications -are hosted at github and both modified and original are under GPL v2 with -classpath exceptions. -http://openjdk.java.net/legal/gplv2+ce.html - - ------- -OW2 - -The following artifacts are licensed by the OW2 Foundation according to the -terms of http://asm.ow2.org/license.html - -org.ow2.asm:asm-commons -org.ow2.asm:asm - - ------- -Apache - -The following artifacts are ASL2 licensed. - -org.apache.taglibs:taglibs-standard-spec -org.apache.taglibs:taglibs-standard-impl - - ------- -MortBay - -The following artifacts are ASL2 licensed. Based on selected classes from -following Apache Tomcat jars, all ASL2 licensed. - -org.mortbay.jasper:apache-jsp - org.apache.tomcat:tomcat-jasper - org.apache.tomcat:tomcat-juli - org.apache.tomcat:tomcat-jsp-api - org.apache.tomcat:tomcat-el-api - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-api - org.apache.tomcat:tomcat-util-scan - org.apache.tomcat:tomcat-util - -org.mortbay.jasper:apache-el - org.apache.tomcat:tomcat-jasper-el - org.apache.tomcat:tomcat-el-api - - ------- -Mortbay - -The following artifacts are CDDL + GPLv2 with classpath exception. - -https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html - -org.eclipse.jetty.toolchain:jetty-schemas - ------- -Assorted - -The UnixCrypt.java code implements the one way cryptography used by -Unix systems for simple password protection. Copyright 1996 Aki Yoshida, -modified April 2001 by Iris Van den Broeke, Daniel Deville. -Permission to use, copy, modify and distribute UnixCrypt -for non-commercial or commercial purposes and without fee is -granted provided that the copyright notice appears in all copies. - - -Apache log4j -Copyright 2007 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Maven Artifact -Copyright 2001-2024 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -This product includes software developed by the Indiana University - Extreme! Lab (http://www.extreme.indiana.edu/). - -This product includes software developed by -The Apache Software Foundation (http://www.apache.org/). - -This product includes software developed by -ThoughtWorks (http://www.thoughtworks.com). - -This product includes software developed by -javolution (http://javolution.org/). - -This product includes software developed by -Rome (https://rome.dev.java.net/). - - -Scala -Copyright (c) 2002-2020 EPFL -Copyright (c) 2011-2020 Lightbend, Inc. - -Scala includes software developed at -LAMP/EPFL (https://lamp.epfl.ch/) and -Lightbend, Inc. (https://www.lightbend.com/). - -Licensed under the Apache License, Version 2.0 (the "License"). -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. - -This software includes projects with other licenses -- see `doc/LICENSE.md`. - - -Apache ZooKeeper - Server -Copyright 2008-2021 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -Apache ZooKeeper - Jute -Copyright 2008-2021 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - - -The Netty Project - ================= - -Please visit the Netty web site for more information: - - * https://netty.io/ - -Copyright 2014 The Netty Project - -The Netty Project 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: - - https://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. - -Also, please refer to each LICENSE..txt file, which is located in -the 'license' directory of the distribution file, for the license terms of the -components that this product depends on. - -------------------------------------------------------------------------------- -This product contains the extensions to Java Collections Framework which has -been derived from the works by JSR-166 EG, Doug Lea, and Jason T. Greene: - - * LICENSE: - * license/LICENSE.jsr166y.txt (Public Domain) - * HOMEPAGE: - * http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/ - * http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/ - -This product contains a modified version of Robert Harder's Public Domain -Base64 Encoder and Decoder, which can be obtained at: - - * LICENSE: - * license/LICENSE.base64.txt (Public Domain) - * HOMEPAGE: - * http://iharder.sourceforge.net/current/java/base64/ - -This product contains a modified portion of 'Webbit', an event based -WebSocket and HTTP server, which can be obtained at: - - * LICENSE: - * license/LICENSE.webbit.txt (BSD License) - * HOMEPAGE: - * https://github.com/joewalnes/webbit - -This product contains a modified portion of 'SLF4J', a simple logging -facade for Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.slf4j.txt (MIT License) - * HOMEPAGE: - * https://www.slf4j.org/ - -This product contains a modified portion of 'Apache Harmony', an open source -Java SE, which can be obtained at: - - * NOTICE: - * license/NOTICE.harmony.txt - * LICENSE: - * license/LICENSE.harmony.txt (Apache License 2.0) - * HOMEPAGE: - * https://archive.apache.org/dist/harmony/ - -This product contains a modified portion of 'jbzip2', a Java bzip2 compression -and decompression library written by Matthew J. Francis. It can be obtained at: - - * LICENSE: - * license/LICENSE.jbzip2.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jbzip2/ - -This product contains a modified portion of 'libdivsufsort', a C API library to construct -the suffix array and the Burrows-Wheeler transformed string for any input string of -a constant-size alphabet written by Yuta Mori. It can be obtained at: - - * LICENSE: - * license/LICENSE.libdivsufsort.txt (MIT License) - * HOMEPAGE: - * https://github.com/y-256/libdivsufsort - -This product contains a modified portion of Nitsan Wakart's 'JCTools', Java Concurrency Tools for the JVM, - which can be obtained at: - - * LICENSE: - * license/LICENSE.jctools.txt (ASL2 License) - * HOMEPAGE: - * https://github.com/JCTools/JCTools - -This product optionally depends on 'JZlib', a re-implementation of zlib in -pure Java, which can be obtained at: - - * LICENSE: - * license/LICENSE.jzlib.txt (BSD style License) - * HOMEPAGE: - * http://www.jcraft.com/jzlib/ - -This product optionally depends on 'Compress-LZF', a Java library for encoding and -decoding data in LZF format, written by Tatu Saloranta. It can be obtained at: - - * LICENSE: - * license/LICENSE.compress-lzf.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/ning/compress - -This product optionally depends on 'lz4', a LZ4 Java compression -and decompression library written by Adrien Grand. It can be obtained at: - - * LICENSE: - * license/LICENSE.lz4.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jpountz/lz4-java - -This product optionally depends on 'lzma-java', a LZMA Java compression -and decompression library, which can be obtained at: - - * LICENSE: - * license/LICENSE.lzma-java.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jponge/lzma-java - -This product contains a modified portion of 'jfastlz', a Java port of FastLZ compression -and decompression library written by William Kinney. It can be obtained at: - - * LICENSE: - * license/LICENSE.jfastlz.txt (MIT License) - * HOMEPAGE: - * https://code.google.com/p/jfastlz/ - -This product contains a modified portion of and optionally depends on 'Protocol Buffers', Google's data -interchange format, which can be obtained at: - - * LICENSE: - * license/LICENSE.protobuf.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/protobuf - -This product optionally depends on 'Bouncy Castle Crypto APIs' to generate -a temporary self-signed X.509 certificate when the JVM does not provide the -equivalent functionality. It can be obtained at: - - * LICENSE: - * license/LICENSE.bouncycastle.txt (MIT License) - * HOMEPAGE: - * https://www.bouncycastle.org/ - -This product optionally depends on 'Snappy', a compression library produced -by Google Inc, which can be obtained at: - - * LICENSE: - * license/LICENSE.snappy.txt (New BSD License) - * HOMEPAGE: - * https://github.com/google/snappy - -This product optionally depends on 'JBoss Marshalling', an alternative Java -serialization API, which can be obtained at: - - * LICENSE: - * license/LICENSE.jboss-marshalling.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/jboss-remoting/jboss-marshalling - -This product optionally depends on 'Caliper', Google's micro- -benchmarking framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.caliper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/google/caliper - -This product optionally depends on 'Apache Commons Logging', a logging -framework, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-logging.txt (Apache License 2.0) - * HOMEPAGE: - * https://commons.apache.org/logging/ - -This product optionally depends on 'Apache Log4J', a logging framework, which -can be obtained at: - - * LICENSE: - * license/LICENSE.log4j.txt (Apache License 2.0) - * HOMEPAGE: - * https://logging.apache.org/log4j/ - -This product optionally depends on 'Aalto XML', an ultra-high performance -non-blocking XML processor, which can be obtained at: - - * LICENSE: - * license/LICENSE.aalto-xml.txt (Apache License 2.0) - * HOMEPAGE: - * http://wiki.fasterxml.com/AaltoHome - -This product contains a modified version of 'HPACK', a Java implementation of -the HTTP/2 HPACK algorithm written by Twitter. It can be obtained at: - - * LICENSE: - * license/LICENSE.hpack.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/twitter/hpack - -This product contains a modified version of 'HPACK', a Java implementation of -the HTTP/2 HPACK algorithm written by Cory Benfield. It can be obtained at: - - * LICENSE: - * license/LICENSE.hyper-hpack.txt (MIT License) - * HOMEPAGE: - * https://github.com/python-hyper/hpack/ - -This product contains a modified version of 'HPACK', a Java implementation of -the HTTP/2 HPACK algorithm written by Tatsuhiro Tsujikawa. It can be obtained at: - - * LICENSE: - * license/LICENSE.nghttp2-hpack.txt (MIT License) - * HOMEPAGE: - * https://github.com/nghttp2/nghttp2/ - -This product contains a modified portion of 'Apache Commons Lang', a Java library -provides utilities for the java.lang API, which can be obtained at: - - * LICENSE: - * license/LICENSE.commons-lang.txt (Apache License 2.0) - * HOMEPAGE: - * https://commons.apache.org/proper/commons-lang/ - - -This product contains the Maven wrapper scripts from 'Maven Wrapper', that provides an easy way to ensure a user has everything necessary to run the Maven build. - - * LICENSE: - * license/LICENSE.mvn-wrapper.txt (Apache License 2.0) - * HOMEPAGE: - * https://github.com/takari/maven-wrapper - -This product contains the dnsinfo.h header file, that provides a way to retrieve the system DNS configuration on MacOS. -This private header is also used by Apple's open source - mDNSResponder (https://opensource.apple.com/tarballs/mDNSResponder/). - - * LICENSE: - * license/LICENSE.dnsinfo.txt (Apple Public Source License 2.0) - * HOMEPAGE: - * https://www.opensource.apple.com/source/configd/configd-453.19/dnsinfo/dnsinfo.h \ No newline at end of file diff --git a/solr/licenses/lz4-java-1.10.1.jar.sha1 b/solr/licenses/lz4-java-1.10.1.jar.sha1 deleted file mode 100644 index d15f142e6e54..000000000000 --- a/solr/licenses/lz4-java-1.10.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f541d7f910fe3d76f38f799c507c48cc81b12ecb diff --git a/solr/licenses/lz4-java-1.10.2.jar.sha1 b/solr/licenses/lz4-java-1.10.2.jar.sha1 new file mode 100644 index 000000000000..949284e72d33 --- /dev/null +++ b/solr/licenses/lz4-java-1.10.2.jar.sha1 @@ -0,0 +1 @@ +1df182cf1b030e347c81ca8768c24dab414a04d8 diff --git a/solr/licenses/metrics-core-2.2.0.jar.sha1 b/solr/licenses/metrics-core-2.2.0.jar.sha1 deleted file mode 100644 index 1a5081cab8e3..000000000000 --- a/solr/licenses/metrics-core-2.2.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f82c035cfa786d3cbec362c38c22a5f5b1bc8724 diff --git a/solr/licenses/paranamer-2.8.3.jar.sha1 b/solr/licenses/paranamer-2.8.3.jar.sha1 deleted file mode 100644 index a004717c78a1..000000000000 --- a/solr/licenses/paranamer-2.8.3.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -75ae4eb129574b7fc0df5fa8808d7ed625be815d diff --git a/solr/licenses/pcollections-4.0.1.jar.sha1 b/solr/licenses/pcollections-4.0.1.jar.sha1 deleted file mode 100644 index c7ecd798eff5..000000000000 --- a/solr/licenses/pcollections-4.0.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -059f3bf5fb28c5f5386804dcf129267416b75d7c diff --git a/solr/licenses/rocksdbjni-10.1.3.jar.sha1 b/solr/licenses/rocksdbjni-10.1.3.jar.sha1 new file mode 100644 index 000000000000..ec3540efa944 --- /dev/null +++ b/solr/licenses/rocksdbjni-10.1.3.jar.sha1 @@ -0,0 +1 @@ +46a1e0a0f175508717976971fc6a9e189f5dc0b1 diff --git a/solr/licenses/rocksdbjni-7.9.2.jar.sha1 b/solr/licenses/rocksdbjni-7.9.2.jar.sha1 deleted file mode 100644 index 2d84500a7cba..000000000000 --- a/solr/licenses/rocksdbjni-7.9.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -6409b667493149191b09fe1fce94bada6096a3e9 diff --git a/solr/licenses/scala-collection-compat_2.13-2.10.0.jar.sha1 b/solr/licenses/scala-collection-compat_2.13-2.10.0.jar.sha1 deleted file mode 100644 index 59631aef4a3e..000000000000 --- a/solr/licenses/scala-collection-compat_2.13-2.10.0.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -2464528d14329ff2b44bceff918d6c00300adcf4 diff --git a/solr/licenses/scala-java8-compat_2.13-1.0.2.jar.sha1 b/solr/licenses/scala-java8-compat_2.13-1.0.2.jar.sha1 deleted file mode 100644 index d8d441889cf5..000000000000 --- a/solr/licenses/scala-java8-compat_2.13-1.0.2.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -5b54f60ccf03e41e24c466462a72475ee918c304 diff --git a/solr/licenses/scala-library-2.13.18.jar.sha1 b/solr/licenses/scala-library-2.13.18.jar.sha1 deleted file mode 100644 index 41da4274c9e4..000000000000 --- a/solr/licenses/scala-library-2.13.18.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -eb2086988c25b08705472cc750654570900362e5 diff --git a/solr/licenses/scala-logging_2.13-3.9.5.jar.sha1 b/solr/licenses/scala-logging_2.13-3.9.5.jar.sha1 deleted file mode 100644 index a1fb8640c96e..000000000000 --- a/solr/licenses/scala-logging_2.13-3.9.5.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -d5a0f61168371d8cff1c510f55407aa46bea8366 diff --git a/solr/licenses/scala-reflect-2.13.15.jar.sha1 b/solr/licenses/scala-reflect-2.13.15.jar.sha1 deleted file mode 100644 index 5f8edfcb1066..000000000000 --- a/solr/licenses/scala-reflect-2.13.15.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -355927b10366563a8f1b56c1f34ff376f2f7c8c5 diff --git a/solr/licenses/testcontainers-kafka-2.0.5.jar.sha1 b/solr/licenses/testcontainers-kafka-2.0.5.jar.sha1 new file mode 100644 index 000000000000..a6a443357318 --- /dev/null +++ b/solr/licenses/testcontainers-kafka-2.0.5.jar.sha1 @@ -0,0 +1 @@ +e37b7217b5024145be864f1088b10b32f8c2fef7 diff --git a/solr/licenses/zstd-jni-1.5.6-10.jar.sha1 b/solr/licenses/zstd-jni-1.5.6-10.jar.sha1 new file mode 100644 index 000000000000..20413e1a983f --- /dev/null +++ b/solr/licenses/zstd-jni-1.5.6-10.jar.sha1 @@ -0,0 +1 @@ +7e146ecb598af55d1f64d1c118af27569a848558 diff --git a/solr/licenses/zstd-jni-1.5.6-4.jar.sha1 b/solr/licenses/zstd-jni-1.5.6-4.jar.sha1 deleted file mode 100644 index 5e1398a1efa8..000000000000 --- a/solr/licenses/zstd-jni-1.5.6-4.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -ba9e303e0b5e94cdd0017390d7d8c06f47fd61f7 diff --git a/solr/modules/cross-dc/gradle.lockfile b/solr/modules/cross-dc/gradle.lockfile index c6d796ef1929..f34627e88a3d 100644 --- a/solr/modules/cross-dc/gradle.lockfile +++ b/solr/modules/cross-dc/gradle.lockfile @@ -2,7 +2,7 @@ # Manual edits can break the build and are not advised. # This file is expected to be part of source control. # To regenerate this file, run: ./gradlew :solr:modules:cross-dc:dependencies --write-locks -at.yawk.lz4:lz4-java:1.10.1=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +at.yawk.lz4:lz4-java:1.10.2=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.9.1=jarValidation,testCompileClasspath,testRuntimeClasspath com.carrotsearch:hppc:0.10.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.fasterxml.jackson.core:jackson-annotations:2.22=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath @@ -15,7 +15,7 @@ com.fasterxml.jackson:jackson-bom:2.22.0=compileClasspath,jarValidation,runtimeC com.fasterxml.woodstox:woodstox-core:7.2.1=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath com.github.ben-manes.caffeine:caffeine:3.2.4=annotationProcessor,errorprone,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testAnnotationProcessor,testRuntimeClasspath com.github.kevinstern:software-and-algorithms:1.0=annotationProcessor,errorprone,testAnnotationProcessor -com.github.luben:zstd-jni:1.5.6-4=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath +com.github.luben:zstd-jni:1.5.6-10=jarValidation,runtimeClasspath,runtimeLibs,testRuntimeClasspath com.google.auto.service:auto-service-annotations:1.0.1=annotationProcessor,errorprone,testAnnotationProcessor com.google.auto.value:auto-value-annotations:1.11.1=annotationProcessor,errorprone,testAnnotationProcessor com.google.auto:auto-common:1.2.2=annotationProcessor,errorprone,testAnnotationProcessor @@ -87,7 +87,7 @@ org.apache.commons:commons-math3:3.6.1=jarValidation,runtimeClasspath,runtimeLib org.apache.curator:curator-client:5.9.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-framework:5.9.0=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testCompileClasspath,testRuntimeClasspath org.apache.curator:curator-test:5.9.0=jarValidation,testRuntimeClasspath -org.apache.kafka:kafka-clients:3.9.2=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath +org.apache.kafka:kafka-clients:4.3.1=compileClasspath,jarValidation,runtimeClasspath,runtimeLibs,testCompileClasspath,testRuntimeClasspath org.apache.logging.log4j:log4j-1.2-api:2.26.0=solrPlatformLibs org.apache.logging.log4j:log4j-api:2.26.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath org.apache.logging.log4j:log4j-core:2.26.0=jarValidation,runtimeClasspath,runtimeLibs,solrPlatformLibs,testRuntimeClasspath