You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/07/11 16:50:01 UTC

[lucene-solr] branch reference_impl updated: #69 Don't create unnecessary ZkSateReader's.

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/reference_impl by this push:
     new 4c6e5cb  #69 Don't create unnecessary ZkSateReader's.
4c6e5cb is described below

commit 4c6e5cbcb94d3ddd13d1a497902eae6ad1ee957b
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sat Jul 11 11:49:23 2020 -0500

    #69 Don't create unnecessary ZkSateReader's.
---
 solr/core/src/java/org/apache/solr/cloud/Overseer.java              | 6 +++---
 .../src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java | 1 +
 solr/core/src/java/org/apache/solr/core/CoreContainer.java          | 3 +--
 .../src/java/org/apache/solr/handler/CdcrReplicatorManager.java     | 3 +--
 .../org/apache/solr/handler/admin/AutoscalingHistoryHandler.java    | 2 +-
 .../src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java | 5 +++++
 6 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index 526e301..3297044 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -711,9 +711,9 @@ public class Overseer implements SolrCloseable {
     } else {
       return;
     }
-    try (CloudSolrClient client = new CloudSolrClient.Builder(Collections.singletonList(getZkController().getZkServerAddress()), Optional.empty())
-          .withSocketTimeout(30000).withConnectionTimeout(15000)
-        .withHttpClient(updateShardHandler.getDefaultHttpClient()).build()) {
+
+    try (CloudSolrClient client = new CloudSolrClient.Builder(    getCoreContainer().getZkController().getZkStateReader())
+            .withHttpClient(updateShardHandler.getDefaultHttpClient()).build()) {
       CollectionAdminRequest.ColStatus req = CollectionAdminRequest.collectionStatus(CollectionAdminParams.SYSTEM_COLL)
           .setWithSegments(true)
           .setWithFieldInfo(true);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
index 6adb812..14a00ac 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
@@ -380,6 +380,7 @@ public class SimScenario implements AutoCloseable {
         if (zkHost == null) {
           throw new IOException(SimAction.LOAD_SNAPSHOT + " must specify 'path' or 'zkHost'");
         } else {
+
           try (CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Collections.singletonList(zkHost), Optional.empty()).build()) {
             cloudSolrClient.connect();
             try (SolrClientCloudManager realCloudManager = new SolrClientCloudManager(NoopDistributedQueueFactory.INSTANCE, cloudSolrClient)) {
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index e6262da..69d1a73 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -911,8 +911,7 @@ public class CoreContainer implements Closeable {
     if (isZooKeeperAware()) {
       name = getZkController().getNodeName();
       cloudManager = getZkController().getSolrCloudManager();
-      client = new CloudSolrClient.Builder(Collections.singletonList(getZkController().getZkServerAddress()), Optional.empty())
-          .withSocketTimeout(30000).withConnectionTimeout(15000)
+      client = new CloudSolrClient.Builder(getZkController().getZkStateReader())
           .withHttpClient(updateShardHandler.getDefaultHttpClient()).build();
     } else {
       name = getNodeConfig().getNodeName();
diff --git a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
index a2af32e..351973e 100644
--- a/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
+++ b/solr/core/src/java/org/apache/solr/handler/CdcrReplicatorManager.java
@@ -92,8 +92,7 @@ class CdcrReplicatorManager implements CdcrStateManager.CdcrStateObserver {
         String zkHost = params.get(CdcrParams.ZK_HOST_PARAM);
         String targetCollection = params.get(CdcrParams.TARGET_COLLECTION_PARAM);
 
-        CloudSolrClient client = new Builder(Collections.singletonList(zkHost), Optional.empty())
-            .withSocketTimeout(30000).withConnectionTimeout(15000)
+        CloudSolrClient client = new Builder(core.getCoreContainer().getZkController().getZkStateReader())
             .sendUpdatesOnlyToShardLeaders()
             .build();
         client.setDefaultCollection(targetCollection);
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
index 5fb618e..4ed10dc 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/AutoscalingHistoryHandler.java
@@ -126,7 +126,7 @@ public class AutoscalingHistoryHandler extends RequestHandlerBase implements Per
         }
       }
     }
-    try (CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(Collections.singletonList(coreContainer.getZkController().getZkServerAddress()), Optional.empty()).withSocketTimeout(30000).withConnectionTimeout(15000)
+    try (CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder(req.getCore().getCoreContainer().getZkController().getZkStateReader())
         .withHttpClient(coreContainer.getUpdateShardHandler().getDefaultHttpClient())
         .build()) {
       QueryResponse qr = cloudSolrClient.query(collection, params);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
index c0d6d49..e62feac 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
@@ -307,6 +307,11 @@ public class CloudSolrClient extends BaseCloudSolrClient {
       this.stateProvider = stateProvider;
     }
 
+    public Builder(ZkStateReader zkStateReader) {
+      ZkClientClusterStateProvider stateProvider = new ZkClientClusterStateProvider(zkStateReader, false);
+      this.stateProvider = stateProvider;
+    }
+
     /**
      * Provide a ZooKeeper client endpoint to be used when configuring {@link CloudSolrClient} instances.
      *