You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ab...@apache.org on 2024/03/12 15:06:19 UTC
(solr-sandbox) branch main updated: Update to Solr 9. (#100)
This is an automated email from the ASF dual-hosted git repository.
ab pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr-sandbox.git
The following commit(s) were added to refs/heads/main by this push:
new 6e0d0a4 Update to Solr 9. (#100)
6e0d0a4 is described below
commit 6e0d0a4a2f4c5acf8b304c6361d3b7248ff9f328
Author: Andrzej BiaĆecki <ab...@apache.org>
AuthorDate: Tue Mar 12 16:06:13 2024 +0100
Update to Solr 9. (#100)
---
.../common/MirroredSolrRequestSerializerTest.java | 4 ++--
crossdc-consumer/build.gradle | 24 +++++++++++++++++-----
.../org/apache/solr/crossdc/consumer/Consumer.java | 2 +-
.../messageprocessor/SolrMessageProcessor.java | 11 ++++++++--
.../solr/crossdc/SimpleSolrIntegrationTest.java | 2 +-
crossdc-producer/build.gradle | 4 ++++
.../MirroringUpdateRequestProcessorFactory.java | 2 +-
.../solr/update/processor/ProducerMetrics.java | 12 +++++------
.../apache/solr/crossdc/DeleteByQueryToIdTest.java | 16 ++++++++-------
.../solr/crossdc/RetryQueueIntegrationTest.java | 12 +++++++----
.../solr/crossdc/SolrAndKafkaIntegrationTest.java | 13 ++++++------
...SolrAndKafkaMultiCollectionIntegrationTest.java | 10 ++++-----
.../solr/crossdc/SolrAndKafkaReindexTest.java | 14 ++++++-------
.../solr/crossdc/ZkConfigIntegrationTest.java | 14 ++++++-------
.../admin/MirroringCollectionsHandlerTest.java | 4 ++--
.../admin/MirroringConfigSetsHandlerTest.java | 4 ++--
gradle.properties | 2 +-
17 files changed, 90 insertions(+), 60 deletions(-)
diff --git a/crossdc-commons/src/test/java/org/apache/solr/crossdc/common/MirroredSolrRequestSerializerTest.java b/crossdc-commons/src/test/java/org/apache/solr/crossdc/common/MirroredSolrRequestSerializerTest.java
index da6478f..d814f6a 100644
--- a/crossdc-commons/src/test/java/org/apache/solr/crossdc/common/MirroredSolrRequestSerializerTest.java
+++ b/crossdc-commons/src/test/java/org/apache/solr/crossdc/common/MirroredSolrRequestSerializerTest.java
@@ -1,7 +1,7 @@
package org.apache.solr.crossdc.common;
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.TestUtil;
+import org.apache.lucene.tests.util.LuceneTestCase;
+import org.apache.lucene.tests.util.TestUtil;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test;
diff --git a/crossdc-consumer/build.gradle b/crossdc-consumer/build.gradle
index f4109cf..561a1c7 100644
--- a/crossdc-consumer/build.gradle
+++ b/crossdc-consumer/build.gradle
@@ -29,16 +29,30 @@ application {
}
dependencies {
- implementation group: 'org.apache.solr', name: 'solr-solrj', version: "${solrVersion}"
+ implementation group: 'org.apache.solr', name: 'solr-solrj', version: "${solrVersion}", {
+ exclude group: "org.apache.logging.log4j", module: "*"
+ exclude group: "org.slf4j", module: "*"
+ exclude group: "org.eclipse.jetty", module: "jetty-http"
+ exclude group: "org.eclipse.jetty", module: "jetty-server"
+ exclude group: "org.eclipse.jetty", module: "jetty-servlet"
+ }
+ implementation group: 'org.apache.solr', name: 'solr-solrj-zookeeper', version: "${solrVersion}", {
+ exclude group: "org.apache.logging.log4j", module: "*"
+ exclude group: "org.slf4j", module: "*"
+ exclude group: "org.eclipse.jetty", module: "jetty-http"
+ exclude group: "org.eclipse.jetty", module: "jetty-server"
+ exclude group: "org.eclipse.jetty", module: "jetty-servlet"
+ }
implementation project(path: ':crossdc-commons', configuration: 'shadow')
implementation 'io.dropwizard.metrics:metrics-core:4.2.17'
implementation 'io.dropwizard.metrics:metrics-servlets:4.2.17'
implementation 'org.slf4j:slf4j-api:2.0.5'
- implementation 'org.eclipse.jetty:jetty-http:9.4.41.v20210516'
- implementation 'org.eclipse.jetty:jetty-server:9.4.41.v20210516'
+ implementation 'org.eclipse.jetty:jetty-http:10.0.13'
+ implementation 'org.eclipse.jetty:jetty-server:10.0.13'
+ implementation group: 'commons-logging', name: 'commons-logging', version: '1.3.0'
implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' // log4j impl can use StackLocatorUtil which is in the api jar
- implementation 'org.eclipse.jetty:jetty-servlet:9.4.41.v20210516'
+ implementation 'org.eclipse.jetty:jetty-servlet:10.0.13'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.20.0'
implementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.9'
testImplementation project(path: ':crossdc-commons')
@@ -78,4 +92,4 @@ tasks.withType(Tar){
}
tasks.withType(Zip){
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
-}
\ No newline at end of file
+}
diff --git a/crossdc-consumer/src/main/java/org/apache/solr/crossdc/consumer/Consumer.java b/crossdc-consumer/src/main/java/org/apache/solr/crossdc/consumer/Consumer.java
index 3369da9..429423e 100644
--- a/crossdc-consumer/src/main/java/org/apache/solr/crossdc/consumer/Consumer.java
+++ b/crossdc-consumer/src/main/java/org/apache/solr/crossdc/consumer/Consumer.java
@@ -73,7 +73,7 @@ public class Consumer {
throw new IllegalArgumentException("zkConnectString not specified for producer");
}
- try (SolrZkClient client = new SolrZkClient(zkConnectString, 15000)) {
+ try (SolrZkClient client = new SolrZkClient.Builder().withUrl(zkConnectString).withTimeout(15000, TimeUnit.MILLISECONDS).build()) {
// update properties, potentially also from ZK
ConfUtil.fillProperties(client, properties);
}
diff --git a/crossdc-consumer/src/main/java/org/apache/solr/crossdc/messageprocessor/SolrMessageProcessor.java b/crossdc-consumer/src/main/java/org/apache/solr/crossdc/messageprocessor/SolrMessageProcessor.java
index fa77250..cf0186d 100644
--- a/crossdc-consumer/src/main/java/org/apache/solr/crossdc/messageprocessor/SolrMessageProcessor.java
+++ b/crossdc-consumer/src/main/java/org/apache/solr/crossdc/messageprocessor/SolrMessageProcessor.java
@@ -21,6 +21,7 @@ import com.codahale.metrics.SharedMetricRegistries;
import com.codahale.metrics.Timer;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
+import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.SolrResponseBase;
import org.apache.solr.common.SolrException;
@@ -179,8 +180,14 @@ public class SolrMessageProcessor extends MessageProcessor implements IQueueHand
* Process the SolrRequest. If not, this method throws an exception.
*/
private Result<MirroredSolrRequest> processMirroredSolrRequest(SolrRequest request, MirroredSolrRequest.Type type) throws Exception {
+ String connectString;
+ if (client.getClusterStateProvider() instanceof ZkClientClusterStateProvider) {
+ connectString = ((ZkClientClusterStateProvider) client.getClusterStateProvider()).getZkHost();
+ } else {
+ connectString = client.toString();
+ }
if (log.isDebugEnabled()) {
- log.debug("Sending request to Solr at ZK address={} with params {}", client.getZkStateReader().getZkClient().getZkServerAddress(), request.getParams());
+ log.debug("Sending request to Solr at address={} with params {}", connectString, request.getParams());
}
Result<MirroredSolrRequest> result;
SolrResponseBase response = null;
@@ -204,7 +211,7 @@ public class SolrMessageProcessor extends MessageProcessor implements IQueueHand
}
if (log.isDebugEnabled()) {
- log.debug("Finished sending request to Solr at ZK address={} with params {} status_code={}", client.getZkStateReader().getZkClient().getZkServerAddress(), request.getParams(), status);
+ log.debug("Finished sending request to Solr at address={} with params {} status_code={}", connectString, request.getParams(), status);
}
result = new Result<>(ResultStatus.HANDLED);
return result;
diff --git a/crossdc-consumer/src/test/java/org/apache/solr/crossdc/SimpleSolrIntegrationTest.java b/crossdc-consumer/src/test/java/org/apache/solr/crossdc/SimpleSolrIntegrationTest.java
index c3c7191..71c43ad 100644
--- a/crossdc-consumer/src/test/java/org/apache/solr/crossdc/SimpleSolrIntegrationTest.java
+++ b/crossdc-consumer/src/test/java/org/apache/solr/crossdc/SimpleSolrIntegrationTest.java
@@ -27,7 +27,7 @@ public class SimpleSolrIntegrationTest extends SolrCloudTestCase {
public static void beforeSimpleSolrIntegrationTest() throws Exception {
cluster1 =
- new SolrCloudTestCase.Builder(2, createTempDir())
+ configureCluster(2)
.addConfig("conf", getFile("src/test/resources/configs/cloud-minimal/conf").toPath())
.configure();
diff --git a/crossdc-producer/build.gradle b/crossdc-producer/build.gradle
index 87b2a06..60327f9 100644
--- a/crossdc-producer/build.gradle
+++ b/crossdc-producer/build.gradle
@@ -42,8 +42,12 @@ dependencies {
testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'junit:junit:4.13.2'
testImplementation('org.mockito:mockito-inline:5.1.1')
+ testImplementation 'commons-io:commons-io:2.15.1'
testImplementation group: 'org.apache.solr', name: 'solr-core', version: "${solrVersion}"
+ testImplementation group: 'org.apache.solr', name: 'solr-solrj', version: "${solrVersion}"
+ testImplementation group: 'org.apache.solr', name: 'solr-solrj-zookeeper', version: "${solrVersion}"
testImplementation group: 'org.apache.solr', name: 'solr-test-framework', version: "${solrVersion}"
+ testImplementation group: 'org.apache.zookeeper', name: 'zookeeper', version: '3.9.1'
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.9'
testImplementation "org.apache.kafka:kafka-clients:${kafkaVersion}:test"
diff --git a/crossdc-producer/src/main/java/org/apache/solr/update/processor/MirroringUpdateRequestProcessorFactory.java b/crossdc-producer/src/main/java/org/apache/solr/update/processor/MirroringUpdateRequestProcessorFactory.java
index 13ce938..96e8b85 100644
--- a/crossdc-producer/src/main/java/org/apache/solr/update/processor/MirroringUpdateRequestProcessorFactory.java
+++ b/crossdc-producer/src/main/java/org/apache/solr/update/processor/MirroringUpdateRequestProcessorFactory.java
@@ -97,7 +97,7 @@ public class MirroringUpdateRequestProcessorFactory extends UpdateRequestProcess
}
- private static class MyCloseHook extends CloseHook {
+ private static class MyCloseHook implements CloseHook {
private final Closer closer;
public MyCloseHook(Closer closer) {
diff --git a/crossdc-producer/src/main/java/org/apache/solr/update/processor/ProducerMetrics.java b/crossdc-producer/src/main/java/org/apache/solr/update/processor/ProducerMetrics.java
index 007fce2..31d28aa 100644
--- a/crossdc-producer/src/main/java/org/apache/solr/update/processor/ProducerMetrics.java
+++ b/crossdc-producer/src/main/java/org/apache/solr/update/processor/ProducerMetrics.java
@@ -18,12 +18,12 @@ public class ProducerMetrics {
private final Counter documentTooLarge;
public ProducerMetrics(SolrMetricsContext solrMetricsContext, SolrCore solrCore) {
- this.local = solrMetricsContext.counter(solrCore, "local", "crossdc", "producer");
- this.localError = solrMetricsContext.counter(solrCore, "local", "crossdc", "producer", "errors");
- this.submitted = solrMetricsContext.counter(solrCore, "submitted", "crossdc", "producer");
- this.submitError = solrMetricsContext.counter(solrCore, "submit", "crossdc", "producer", "errors");
- this.documentSize = solrMetricsContext.histogram(solrCore, "documentSize", "crossdc", "producer");
- this.documentTooLarge = solrMetricsContext.counter(solrCore, "documentTooLarge", "crossdc", "producer", "errors");
+ this.local = solrMetricsContext.counter("local", "crossdc", "producer");
+ this.localError = solrMetricsContext.counter("local", "crossdc", "producer", "errors");
+ this.submitted = solrMetricsContext.counter("submitted", "crossdc", "producer");
+ this.submitError = solrMetricsContext.counter("submit", "crossdc", "producer", "errors");
+ this.documentSize = solrMetricsContext.histogram("documentSize", "crossdc", "producer");
+ this.documentTooLarge = solrMetricsContext.counter("documentTooLarge", "crossdc", "producer", "errors");
}
/**
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/DeleteByQueryToIdTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/DeleteByQueryToIdTest.java
index e8a14ad..ffddcf1 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/DeleteByQueryToIdTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/DeleteByQueryToIdTest.java
@@ -4,7 +4,7 @@ import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrQuery;
@@ -18,6 +18,7 @@ import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.ObjectReleaseTracker;
+import org.apache.solr.crossdc.common.CrossDcConf;
import org.apache.solr.crossdc.common.KafkaCrossDcConf;
import org.apache.solr.crossdc.common.MirroredSolrRequest;
import org.apache.solr.crossdc.consumer.Consumer;
@@ -65,6 +66,7 @@ import java.util.concurrent.CountDownLatch;
public static void beforeSolrAndKafkaIntegrationTest() throws Exception {
System.setProperty(KafkaCrossDcConf.PORT, "-1");
+ System.setProperty(CrossDcConf.COLLAPSE_UPDATES, CrossDcConf.CollapseUpdates.ALL.name());
consumer = new Consumer();
System.setProperty("solr.crossdc.dbq_rows", "1");
@@ -86,7 +88,7 @@ import java.util.concurrent.CountDownLatch;
Properties props = new Properties();
- solrCluster1 = new SolrCloudTestCase.Builder(1, createTempDir())
+ solrCluster1 = new MiniSolrCloudCluster.Builder(1, createTempDir())
.addConfig("conf", getFile("src/test/resources/configs/cloud-minimal/conf").toPath())
.addConfig("confNoDbq", getFile("src/test/resources/configs/cloud-minimal-no-dbq/conf").toPath())
.configure();
@@ -97,7 +99,7 @@ import java.util.concurrent.CountDownLatch;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
props.store(baos, "");
byte[] data = baos.toByteArray();
- solrCluster1.getSolrClient().getZkStateReader().getZkClient().makePath("/crossdc.properties", data, true);
+ solrCluster1.getZkClient().makePath("/crossdc.properties", data, true);
CollectionAdminRequest.Create createSource1 =
CollectionAdminRequest.createCollection(COLLECTION1, "conf", 1, 1);
@@ -110,12 +112,12 @@ import java.util.concurrent.CountDownLatch;
solrCluster1.getSolrClient().setDefaultCollection(COLLECTION1);
- solrCluster2 = new SolrCloudTestCase.Builder(1, createTempDir())
+ solrCluster2 = new MiniSolrCloudCluster.Builder(1, createTempDir())
.addConfig("conf", getFile("src/test/resources/configs/cloud-minimal/conf").toPath())
.addConfig("confNoDbq", getFile("src/test/resources/configs/cloud-minimal-no-dbq/conf").toPath())
.configure();
- solrCluster2.getSolrClient().getZkStateReader().getZkClient().makePath("/crossdc.properties", data, true);
+ solrCluster2.getZkClient().makePath("/crossdc.properties", data, true);
CollectionAdminRequest.Create createTarget1 =
CollectionAdminRequest.createCollection(COLLECTION1, "conf", 1, 1);
@@ -170,11 +172,11 @@ import java.util.concurrent.CountDownLatch;
}
if (solrCluster1 != null) {
- solrCluster1.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster1.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster1.shutdown();
}
if (solrCluster2 != null) {
- solrCluster2.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster2.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster2.shutdown();
}
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/RetryQueueIntegrationTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/RetryQueueIntegrationTest.java
index 61dd89a..4c0e402 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/RetryQueueIntegrationTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/RetryQueueIntegrationTest.java
@@ -3,14 +3,14 @@ package org.apache.solr.crossdc;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.embedded.JettyConfig;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.request.ConfigSetAdminRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.cloud.MiniSolrCloudCluster;
import org.apache.solr.cloud.SolrCloudTestCase;
@@ -19,6 +19,7 @@ import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.util.ObjectReleaseTracker;
import org.apache.solr.crossdc.common.KafkaCrossDcConf;
import org.apache.solr.crossdc.consumer.Consumer;
+import org.apache.solr.embedded.JettyConfig;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
@@ -125,12 +126,15 @@ import java.util.Properties;
MiniSolrCloudCluster cluster =
new MiniSolrCloudCluster(1, baseDir, MiniSolrCloudCluster.DEFAULT_CLOUD_SOLR_XML,
JettyConfig.builder().setContext("/solr")
- .withSSLConfig(sslConfig.buildServerSSLConfig()).build(), zkTestServer);
+ .withSSLConfig(sslConfig.buildServerSSLConfig()).build(), zkTestServer, true);
//new SolrCloudTestCase.Builder(1, baseDir).addConfig("conf",
//getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CloudSolrClient client = cluster.getSolrClient();
- ((ZkClientClusterStateProvider)client.getClusterStateProvider()).uploadConfig(getFile("src/test/resources/configs/cloud-minimal/conf").toPath(), "conf");
+ ConfigSetAdminRequest.Upload uploadReq = new ConfigSetAdminRequest.Upload()
+ .setUploadFile(getFile("src/test/resources/configs/cloud-minimal.zip"), "application/zip")
+ .setConfigSetName("conf");
+ uploadReq.process(client);
CollectionAdminRequest.Create create2 =
CollectionAdminRequest.createCollection(COLLECTION, "conf", 1, 1);
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaIntegrationTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaIntegrationTest.java
index a6a74ad..4c6ba03 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaIntegrationTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaIntegrationTest.java
@@ -8,13 +8,12 @@ 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.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.BaseCloudSolrClient;
import org.apache.solr.client.solrj.impl.BaseHttpSolrClient;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -100,7 +99,7 @@ import static org.mockito.Mockito.spy;
System.setProperty("bootstrapServers", kafkaCluster.bootstrapServers());
System.setProperty(INDEX_UNMIRRORABLE_DOCS, "false");
- solrCluster1 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster1 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create =
@@ -110,7 +109,7 @@ import static org.mockito.Mockito.spy;
solrCluster1.getSolrClient().setDefaultCollection(COLLECTION);
- solrCluster2 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster2 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create2 =
@@ -138,11 +137,11 @@ import static org.mockito.Mockito.spy;
ObjectReleaseTracker.clear();
if (solrCluster1 != null) {
- solrCluster1.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster1.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster1.shutdown();
}
if (solrCluster2 != null) {
- solrCluster2.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster2.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster2.shutdown();
}
@@ -229,7 +228,7 @@ import static org.mockito.Mockito.spy;
final CloudSolrClient cluster1Client = solrCluster1.getSolrClient();
try {
cluster1Client.add(docsToIndex);
- } catch (BaseCloudSolrClient.RouteException e) {
+ } catch (CloudSolrClient.RouteException e) {
// expected
}
cluster1Client.commit(COLLECTION);
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaMultiCollectionIntegrationTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaMultiCollectionIntegrationTest.java
index c9ae07c..53add88 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaMultiCollectionIntegrationTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaMultiCollectionIntegrationTest.java
@@ -3,7 +3,7 @@ package org.apache.solr.crossdc;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrClient;
@@ -91,7 +91,7 @@ import static org.apache.solr.crossdc.common.KafkaCrossDcConf.INDEX_UNMIRRORABLE
System.setProperty("bootstrapServers", kafkaCluster.bootstrapServers());
System.setProperty(INDEX_UNMIRRORABLE_DOCS, "false");
- solrCluster1 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster1 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create =
@@ -101,7 +101,7 @@ import static org.apache.solr.crossdc.common.KafkaCrossDcConf.INDEX_UNMIRRORABLE
solrCluster1.getSolrClient().setDefaultCollection(COLLECTION);
- solrCluster2 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster2 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create2 =
@@ -139,11 +139,11 @@ import static org.apache.solr.crossdc.common.KafkaCrossDcConf.INDEX_UNMIRRORABLE
Util.printKafkaInfo(kafkaCluster.bootstrapServers(), "SolrCrossDCConsumer");
if (solrCluster1 != null) {
- solrCluster1.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster1.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster1.shutdown();
}
if (solrCluster2 != null) {
- solrCluster2.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster2.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster2.shutdown();
}
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaReindexTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaReindexTest.java
index 01aa3b7..a22e5a6 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaReindexTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/SolrAndKafkaReindexTest.java
@@ -3,7 +3,7 @@ package org.apache.solr.crossdc;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrQuery;
@@ -69,21 +69,21 @@ import java.util.*;
System.setProperty("topicName", TOPIC);
System.setProperty("bootstrapServers", kafkaCluster.bootstrapServers());
- solrCluster1 = new SolrCloudTestCase.Builder(3, createTempDir()).addConfig("conf",
+ solrCluster1 = new MiniSolrCloudCluster.Builder(3, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create =
- CollectionAdminRequest.createCollection(COLLECTION, "conf", 3, 2).setMaxShardsPerNode(10);;
+ CollectionAdminRequest.createCollection(COLLECTION, "conf", 3, 2);
solrCluster1.getSolrClient().request(create);
solrCluster1.waitForActiveCollection(COLLECTION, 3, 6);
solrCluster1.getSolrClient().setDefaultCollection(COLLECTION);
- solrCluster2 = new SolrCloudTestCase.Builder(3, createTempDir()).addConfig("conf",
+ solrCluster2 = new MiniSolrCloudCluster.Builder(3, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
CollectionAdminRequest.Create create2 =
- CollectionAdminRequest.createCollection(COLLECTION, "conf", 2, 3).setMaxShardsPerNode(10);
+ CollectionAdminRequest.createCollection(COLLECTION, "conf", 2, 3);
solrCluster2.getSolrClient().request(create2);
solrCluster2.waitForActiveCollection(COLLECTION, 2, 6);
@@ -108,11 +108,11 @@ import java.util.*;
ObjectReleaseTracker.clear();
if (solrCluster1 != null) {
- solrCluster1.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster1.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster1.shutdown();
}
if (solrCluster2 != null) {
- solrCluster2.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster2.getZkServer().getZkClient().printLayoutToStream(System.out);
solrCluster2.shutdown();
}
diff --git a/crossdc-producer/src/test/java/org/apache/solr/crossdc/ZkConfigIntegrationTest.java b/crossdc-producer/src/test/java/org/apache/solr/crossdc/ZkConfigIntegrationTest.java
index 8fac2b4..16c5054 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/crossdc/ZkConfigIntegrationTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/crossdc/ZkConfigIntegrationTest.java
@@ -3,7 +3,7 @@ package org.apache.solr.crossdc;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrQuery;
@@ -75,7 +75,7 @@ import java.util.Properties;
Properties props = new Properties();
- solrCluster1 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster1 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
props.setProperty(KafkaCrossDcConf.TOPIC_NAME, TOPIC2);
@@ -87,7 +87,7 @@ import java.util.Properties;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
props.store(baos, "");
byte[] data = baos.toByteArray();
- solrCluster1.getSolrClient().getZkStateReader().getZkClient().makePath("/crossdc.properties", data, true);
+ solrCluster1.getZkClient().makePath("/crossdc.properties", data, true);
CollectionAdminRequest.Create create =
CollectionAdminRequest.createCollection(COLLECTION, "conf", 1, 1);
@@ -96,7 +96,7 @@ import java.util.Properties;
solrCluster1.getSolrClient().setDefaultCollection(COLLECTION);
- solrCluster2 = new SolrCloudTestCase.Builder(1, createTempDir()).addConfig("conf",
+ solrCluster2 = new MiniSolrCloudCluster.Builder(1, createTempDir()).addConfig("conf",
getFile("src/test/resources/configs/cloud-minimal/conf").toPath()).configure();
@@ -114,7 +114,7 @@ import java.util.Properties;
baos = new ByteArrayOutputStream();
props.store(baos, "");
data = baos.toByteArray();
- solrCluster2.getSolrClient().getZkStateReader().getZkClient().makePath("/crossdc.properties", data, true);
+ solrCluster2.getZkClient().makePath("/crossdc.properties", data, true);
String bootstrapServers = kafkaCluster.bootstrapServers();
@@ -138,11 +138,11 @@ import java.util.Properties;
ObjectReleaseTracker.clear();
if (solrCluster1 != null) {
- solrCluster1.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster1.getZkClient().printLayoutToStream(System.out);
solrCluster1.shutdown();
}
if (solrCluster2 != null) {
- solrCluster2.getZkServer().getZkClient().printLayoutToStdOut();
+ solrCluster2.getZkClient().printLayoutToStream(System.out);
solrCluster2.shutdown();
}
diff --git a/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringCollectionsHandlerTest.java b/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringCollectionsHandlerTest.java
index 4f333ab..0a9c6af 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringCollectionsHandlerTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringCollectionsHandlerTest.java
@@ -2,7 +2,7 @@ package org.apache.solr.handler.admin;
import org.apache.commons.io.IOUtils;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrRequest;
@@ -46,7 +46,7 @@ public class MirroringCollectionsHandlerTest extends SolrTestCaseJ4 {
Mockito.when(coreContainer.isZooKeeperAware()).thenReturn(true);
Mockito.when(coreContainer.getZkController()).thenReturn(zkController);
Mockito.when(zkController.getZkClient()).thenReturn(solrZkClient);
- Mockito.doAnswer(inv -> null).when(solrZkClient).getData(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyBoolean());
+ //Mockito.doAnswer(inv -> null).when(solrZkClient).getData(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyBoolean());
captor = ArgumentCaptor.forClass(MirroredSolrRequest.class);
Mockito.doNothing().when(sink).submit(captor.capture());
// make ConfUtil happy
diff --git a/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringConfigSetsHandlerTest.java b/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringConfigSetsHandlerTest.java
index 04f2f4e..7b53498 100644
--- a/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringConfigSetsHandlerTest.java
+++ b/crossdc-producer/src/test/java/org/apache/solr/handler/admin/MirroringConfigSetsHandlerTest.java
@@ -19,7 +19,7 @@ package org.apache.solr.handler.admin;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakLingering;
import org.apache.commons.io.IOUtils;
-import org.apache.lucene.util.QuickPatchThreadsFilter;
+import org.apache.lucene.tests.util.QuickPatchThreadsFilter;
import org.apache.solr.SolrIgnoredThreadsFilter;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.SolrRequest;
@@ -85,7 +85,7 @@ public class MirroringConfigSetsHandlerTest extends SolrTestCaseJ4 {
Mockito.when(coreContainer.isZooKeeperAware()).thenReturn(true);
Mockito.when(coreContainer.getZkController()).thenReturn(zkController);
Mockito.when(zkController.getZkClient()).thenReturn(solrZkClient);
- Mockito.doAnswer(inv -> null).when(solrZkClient).getData(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyBoolean());
+ //Mockito.doAnswer(inv -> null).when(solrZkClient).getData(Mockito.anyString(), Mockito.any(), Mockito.any(), Mockito.anyBoolean());
captor = ArgumentCaptor.forClass(MirroredSolrRequest.class);
Mockito.doNothing().when(sink).submit(captor.capture());
}
diff --git a/gradle.properties b/gradle.properties
index 4e50947..c18c681 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,2 @@
-solrVersion=8.11.2
+solrVersion=9.2.0
kafkaVersion=3.5.1