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/12 07:18:25 UTC

[lucene-solr] branch reference_impl updated (5ddbbce -> 8086c4b)

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

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


 discard 5ddbbce  #84 Fewer URL's, they make a lot of garbage.
     new 2150014  #84 Fewer URL's, they make a lot of garbage.
     new 8086c4b  #85 Try to prevent so much resizing of this StringBuilder in Lucene.

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (5ddbbce)
            \
             N -- N -- N   refs/heads/reference_impl (8086c4b)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../core/src/java/org/apache/lucene/index/IndexWriterConfig.java  | 4 +++-
 .../apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java    | 2 +-
 .../solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java  | 6 +++---
 .../src/test/org/apache/solr/cloud/JettySolrRunnerTest.java       | 8 ++++----
 4 files changed, 11 insertions(+), 9 deletions(-)


[lucene-solr] 01/02: #84 Fewer URL's, they make a lot of garbage.

Posted by ma...@apache.org.
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

commit 21500142a25e567d73a5bc33ee1e97dc180cd445
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Jul 12 02:17:37 2020 -0500

    #84 Fewer URL's, they make a lot of garbage.
---
 .../client/solrj/embedded/JettySolrRunner.java     | 36 ++++++++++------------
 .../apache/solr/response/SolrQueryResponse.java    |  3 +-
 .../test/org/apache/solr/TestTolerantSearch.java   |  2 +-
 .../client/solrj/impl/ConnectionReuseTest.java     | 12 +++++---
 .../solr/cloud/FullSolrCloudDistribCmdsTest.java   |  3 +-
 .../solr/cloud/LeaderVoteWaitTimeoutTest.java      |  2 +-
 .../org/apache/solr/cloud/OverseerRolesTest.java   |  2 +-
 .../apache/solr/cloud/TestCloudConsistency.java    |  2 +-
 .../apache/solr/cloud/TestCloudDeleteByQuery.java  |  8 ++---
 .../cloud/TestLeaderElectionWithEmptyReplica.java  |  2 +-
 .../solr/cloud/TestPullReplicaErrorHandling.java   |  2 +-
 .../apache/solr/cloud/TestRebalanceLeaders.java    |  2 +-
 .../cloud/TestStressCloudBlindAtomicUpdates.java   |  2 +-
 .../solr/cloud/TestTlogReplayVsRecovery.java       |  2 +-
 .../cloud/TestTolerantUpdateProcessorCloud.java    |  4 +--
 .../TestTolerantUpdateProcessorRandomCloud.java    |  2 +-
 .../solr/cloud/api/collections/ShardSplitTest.java |  2 +-
 .../TestCollectionsAPIViaSolrCloudCluster.java     |  6 ++--
 .../cloud/autoscaling/SearchRateTriggerTest.java   |  2 +-
 .../test/org/apache/solr/cloud/rule/RulesTest.java |  4 +--
 .../solr/handler/TestSystemCollAutoCreate.java     |  2 +-
 .../solr/handler/admin/ZookeeperReadAPITest.java   |  2 +-
 .../handler/admin/ZookeeperStatusHandlerTest.java  |  2 +-
 .../handler/component/ShardsWhitelistTest.java     |  3 +-
 .../client/solrj/impl/BasicHttpSolrClientTest.java |  2 +-
 .../impl/HttpSolrClientSSLAuthConPoolTest.java     |  6 ++--
 .../solr/cloud/AbstractFullDistribZkTestBase.java  |  2 +-
 .../apache/solr/cloud/MiniSolrCloudCluster.java    |  2 +-
 .../org/apache/solr/cloud/JettySolrRunnerTest.java |  8 ++---
 29 files changed, 64 insertions(+), 65 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
index 7085b06..3fb1d4f 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
@@ -31,6 +31,7 @@ import java.io.IOException;
 import java.lang.invoke.MethodHandles;
 import java.net.BindException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.EnumSet;
@@ -156,6 +157,10 @@ public class JettySolrRunner implements Closeable {
 
   private static Scheduler scheduler = new SolrHttpClientScheduler("JettySolrRunnerScheduler", true, null, new ThreadGroup("JettySolrRunnerScheduler"), 1);
 
+  public String getContext() {
+    return config.context;
+  }
+
   public static class DebugFilter implements Filter {
     private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -579,7 +584,7 @@ public class JettySolrRunner implements Closeable {
         if (started) {
           proxy.reopen();
         } else {
-          proxy.open(getBaseUrl().toURI());
+          proxy.open(new URI(getBaseUrl()));
         }
       }
 
@@ -850,32 +855,19 @@ public class JettySolrRunner implements Closeable {
    * Returns a base URL consisting of the protocol, host, and port for a
    * Connector in use by the Jetty Server contained in this runner.
    */
-  public URL getBaseUrl() {
-    try {
-      return new URL(protocol, host, jettyPort, config.context);
-    } catch (MalformedURLException e) {
-      throw new RuntimeException(e);
-    }
+  public String getBaseUrl() {
+      return protocol +"://" + host + ":" + jettyPort + config.context;
   }
 
-  public URL getBaseURLV2(){
-    try {
-      return new URL(protocol, host, jettyPort, "/api");
-    } catch (MalformedURLException e) {
-      throw new RuntimeException(e);
-    }
-
+  public String getBaseURLV2(){
+    return protocol +"://" + host + ":" + jettyPort + "/api";
   }
   /**
    * Returns a base URL consisting of the protocol, host, and port for a
    * Connector in use by the Jetty Server contained in this runner.
    */
-  public URL getProxyBaseUrl() {
-    try {
-      return new URL(protocol, host, getLocalPort(), config.context);
-    } catch (MalformedURLException e) {
-      throw new RuntimeException(e);
-    }
+  public String getProxyBaseUrl() {
+    return protocol +":" + host + ":" + getLocalPort() + config.context;
   }
 
   public SolrClient newClient() {
@@ -924,6 +916,10 @@ public class JettySolrRunner implements Closeable {
     return solrHome;
   }
 
+  public String getHost() {
+    return host;
+  }
+
   /**
    * @return this node's properties
    */
diff --git a/solr/core/src/java/org/apache/solr/response/SolrQueryResponse.java b/solr/core/src/java/org/apache/solr/response/SolrQueryResponse.java
index 70a002d..c2cdbee 100644
--- a/solr/core/src/java/org/apache/solr/response/SolrQueryResponse.java
+++ b/solr/core/src/java/org/apache/solr/response/SolrQueryResponse.java
@@ -224,7 +224,8 @@ public class SolrQueryResponse {
 
   /** Returns a string of the form "logid name1=value1 name2=value2 ..." */
   public String getToLogAsString(String logid) {
-    StringBuilder sb = new StringBuilder(logid);
+    StringBuilder sb = new StringBuilder(logid.length() + 1024);
+    sb.append(logid);
     for (int i=0; i<toLog.size(); i++) {
       if (sb.length() > 0) {
         sb.append(' ');
diff --git a/solr/core/src/test/org/apache/solr/TestTolerantSearch.java b/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
index 81dd4be..2f2e703 100644
--- a/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
+++ b/solr/core/src/test/org/apache/solr/TestTolerantSearch.java
@@ -59,7 +59,7 @@ public class TestTolerantSearch extends SolrJettyTestBase {
     systemSetPropertySolrDisableShardsWhitelist("true");
     solrHome = createSolrHome();
     createAndStartJetty(solrHome.getAbsolutePath());
-    String url = jetty.getBaseUrl().toString();
+    String url = jetty.getBaseUrl();
     collection1 = getHttpSolrClient(url + "/collection1");
     collection2 = getHttpSolrClient(url + "/collection2");
     
diff --git a/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java b/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
index 3dafe04..36981bf 100644
--- a/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
+++ b/solr/core/src/test/org/apache/solr/client/solrj/impl/ConnectionReuseTest.java
@@ -65,13 +65,13 @@ public class ConnectionReuseTest extends SolrCloudTestCase {
         .process(cluster.getSolrClient());
   }
 
-  private SolrClient buildClient(CloseableHttpClient httpClient, URL url) {
+  private SolrClient buildClient(CloseableHttpClient httpClient, String url) {
     switch (random().nextInt(3)) {
       case 0:
         // currently only testing with 1 thread
         return getConcurrentUpdateSolrClient(url.toString() + "/" + COLLECTION, httpClient, 6, 1);
       case 1:
-        return getHttpSolrClient(url.toString() + "/" + COLLECTION, httpClient);
+        return getHttpSolrClient(url + "/" + COLLECTION, httpClient);
       case 2:
         CloudSolrClient client = getCloudSolrClient(cluster.getZkServer().getZkAddress(), random().nextBoolean(), httpClient, 30000, 60000);
         client.setDefaultCollection(COLLECTION);
@@ -83,13 +83,15 @@ public class ConnectionReuseTest extends SolrCloudTestCase {
   @Test
   public void testConnectionReuse() throws Exception {
 
-    URL url = cluster.getJettySolrRunners().get(0).getBaseUrl();
+    String url = cluster.getJettySolrRunners().get(0).getBaseUrl();
+    String host = cluster.getJettySolrRunners().get(0).getHost();
+    int port = cluster.getJettySolrRunners().get(0).getLocalPort();
     PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();
 
     CloseableHttpClient httpClient = HttpClientUtil.createClient(null, cm);
     try (SolrClient client = buildClient(httpClient, url)) {
 
-      HttpHost target = new HttpHost(url.getHost(), url.getPort(), isSSLMode() ? "https" : "http");
+      HttpHost target = new HttpHost(host, port, isSSLMode() ? "https" : "http");
       HttpRoute route = new HttpRoute(target);
 
       ConnectionRequest mConn = getClientConnectionRequest(httpClient, route, cm);
@@ -124,7 +126,7 @@ public class ConnectionReuseTest extends SolrCloudTestCase {
         }
       }
 
-      route = new HttpRoute(new HttpHost(url.getHost(), url.getPort(), isSSLMode() ? "https" : "http"));
+      route = new HttpRoute(new HttpHost(host, port, isSSLMode() ? "https" : "http"));
 
       mConn = cm.requestConnection(route, HttpSolrClient.cacheKey);
 
diff --git a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
index 6cd25d5..2b2fd75 100644
--- a/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/FullSolrCloudDistribCmdsTest.java
@@ -18,6 +18,7 @@ package org.apache.solr.cloud;
 
 import java.lang.invoke.MethodHandles;
 
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -187,7 +188,7 @@ public class FullSolrCloudDistribCmdsTest extends SolrCloudTestCase {
       cluster.waitForJettyToStop(leaderToPartition);
       leaderToPartition.setProxyPort(proxy.getListenPort());
       cluster.startJettySolrRunner(leaderToPartition);
-      proxy.open(leaderToPartition.getBaseUrl().toURI());
+      proxy.open(new URI(leaderToPartition.getBaseUrl()));
       try {
         log.info("leaderToPartition's Proxy: {}", proxy);
         
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
index 8cececd..eaa412f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
@@ -93,7 +93,7 @@ public class LeaderVoteWaitTimeoutTest extends SolrCloudTestCase {
       jetty.setProxyPort(proxy.getListenPort());
       cluster.stopJettySolrRunner(jetty);// TODO: Can we avoid this restart
       cluster.startJettySolrRunner(jetty);
-      proxy.open(jetty.getBaseUrl().toURI());
+      proxy.open(new URI(jetty.getBaseUrl()));
       if (log.isInfoEnabled()) {
         log.info("Adding proxy for URL: {}. Proxy {}", jetty.getBaseUrl(), proxy.getUrl());
       }
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java
index e0e2048..4048336 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerRolesTest.java
@@ -88,7 +88,7 @@ public class OverseerRolesTest extends SolrCloudTestCase {
     int hostPort = overseerUrl.getPort();
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
       try {
-      if (jetty.getBaseUrl().getPort() == hostPort)
+      if (jetty.getLocalPort() == hostPort)
         return jetty;
       } catch (IllegalStateException e) {
         
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
index 2e84513..f11b9d02 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
@@ -73,7 +73,7 @@ public class TestCloudConsistency extends SolrCloudTestCase {
       jetty.setProxyPort(proxy.getListenPort());
       cluster.stopJettySolrRunner(jetty);//TODO: Can we avoid this restart
       cluster.startJettySolrRunner(jetty);
-      proxy.open(jetty.getBaseUrl().toURI());
+      proxy.open(new URI(jetty.getBaseUrl()));
       if (log.isInfoEnabled()) {
         log.info("Adding proxy for URL: {}. Proxy: {}", jetty.getBaseUrl(), proxy.getUrl());
       }
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
index e895fe3..d08f26d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
@@ -137,9 +137,9 @@ public class TestCloudDeleteByQuery extends SolrCloudTestCase {
     // inspired by TestMiniSolrCloudCluster
     HashMap<String, String> urlMap = new HashMap<>();
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
-      URL jettyURL = jetty.getBaseUrl();
-      String nodeKey = jettyURL.getHost() + ":" + jettyURL.getPort() + jettyURL.getPath().replace("/","_");
-      urlMap.put(nodeKey, jettyURL.toString());
+      String jettyURL = jetty.getBaseUrl();
+      String nodeKey =  (jetty.getHost() + ":" + jetty.getLocalPort() + jetty.getContext()).replace("/","_");
+      urlMap.put(nodeKey, jettyURL);
     }
     ClusterState clusterState = zkStateReader.getClusterState();
     for (Slice slice : clusterState.getCollection(COLLECTION_NAME).getSlices()) {
@@ -148,7 +148,7 @@ public class TestCloudDeleteByQuery extends SolrCloudTestCase {
       assertNotNull("slice has null leader: " + slice.toString(), leader);
       assertNotNull("slice leader has null node name: " + slice.toString(), leader.getNodeName());
       String leaderUrl = urlMap.remove(leader.getNodeName());
-      assertNotNull("could not find URL for " + shardName + " leader: " + leader.getNodeName(),
+      assertNotNull("could not find URL for " + shardName + " leader: " + leader.getNodeName() + " " + urlMap.keySet(),
                     leaderUrl);
       assertEquals("expected two total replicas for: " + slice.getName(),
                    2, slice.getReplicas().size());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
index efcd914..9bc5628 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestLeaderElectionWithEmptyReplica.java
@@ -74,7 +74,7 @@ public class TestLeaderElectionWithEmptyReplica extends SolrCloudTestCase {
     JettySolrRunner replicaJetty = null;
     List<JettySolrRunner> jettySolrRunners = cluster.getJettySolrRunners();
     for (JettySolrRunner jettySolrRunner : jettySolrRunners) {
-      int port = jettySolrRunner.getBaseUrl().getPort();
+      int port = jettySolrRunner.getLocalPort();
       if (replica.getStr(BASE_URL_PROP).contains(":" + port))  {
         replicaJetty = jettySolrRunner;
         break;
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
index def0a40..63ac70d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplicaErrorHandling.java
@@ -86,7 +86,7 @@ public class TestPullReplicaErrorHandling extends SolrCloudTestCase {
       cluster.stopJettySolrRunner(jetty);//TODO: Can we avoid this restart
       cluster.startJettySolrRunner(jetty);
       cluster.waitForAllNodes(30);
-      proxy.open(jetty.getBaseUrl().toURI());
+      proxy.open(new URI(jetty.getBaseUrl()));
       if (log.isInfoEnabled()) {
         log.info("Adding proxy for URL: {}. Proxy: {}", jetty.getBaseUrl(), proxy.getUrl());
       }
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java b/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
index 0b091c9..649f357 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
@@ -522,7 +522,7 @@ public class TestRebalanceLeaders extends SolrCloudTestCase {
 
     Set<String> downJettyNodes = new TreeSet<>();
     for (JettySolrRunner jetty : downJettys) {
-      downJettyNodes.add(jetty.getBaseUrl().getHost() + ":" + jetty.getBaseUrl().getPort() + "_solr");
+      downJettyNodes.add(jetty.getHost() + ":" + jetty.getLocalPort() + "_solr");
     }
     while (timeout.hasTimedOut() == false) {
       forceUpdateCollectionStatus();
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
index 34679d8..22ab4d9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressCloudBlindAtomicUpdates.java
@@ -137,7 +137,7 @@ public class TestStressCloudBlindAtomicUpdates extends SolrCloudTestCase {
     CLIENTS.clear();
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
       assertNotNull("Cluster contains null jetty?", jetty);
-      final URL baseUrl = jetty.getBaseUrl();
+      final String baseUrl = jetty.getBaseUrl();
       assertNotNull("Jetty has null baseUrl: " + jetty.toString(), baseUrl);
       CLIENTS.add(getHttpSolrClient(baseUrl + "/" + COLLECTION_NAME + "/"));
     }
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java
index 1c68306..5f630f5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java
@@ -87,7 +87,7 @@ public class TestTlogReplayVsRecovery extends SolrCloudTestCase {
       jetty.setProxyPort(proxy.getListenPort());
       cluster.stopJettySolrRunner(jetty);//TODO: Can we avoid this restart
       cluster.startJettySolrRunner(jetty);
-      proxy.open(jetty.getBaseUrl().toURI());
+      proxy.open(new URI(jetty.getBaseUrl()));
       if (log.isInfoEnabled()) {
         log.info("Adding proxy for URL: {}. Proxy: {}", jetty.getBaseUrl(), proxy.getUrl());
       }
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
index b022950..a43e2f9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
@@ -128,8 +128,8 @@ public class TestTolerantUpdateProcessorCloud extends SolrCloudTestCase {
     // inspired by TestMiniSolrCloudCluster
     HashMap<String, String> urlMap = new HashMap<>();
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
-      URL jettyURL = jetty.getBaseUrl();
-      String nodeKey = jettyURL.getHost() + ":" + jettyURL.getPort() + jettyURL.getPath().replace("/","_");
+      String jettyURL = jetty.getBaseUrl();
+      String nodeKey = jetty.getHost() + ":" + jetty.getLocalPort() + jetty.getBaseUrl().replace("/","_");
       urlMap.put(nodeKey, jettyURL.toString());
     }
     zkStateReader.forceUpdateCollection(COLLECTION_NAME);
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
index 7fadf7a..bee8a67 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorRandomCloud.java
@@ -115,7 +115,7 @@ public class TestTolerantUpdateProcessorRandomCloud extends SolrCloudTestCase {
     NODE_CLIENTS = new ArrayList<HttpSolrClient>(numServers);
     
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
-      URL jettyURL = jetty.getBaseUrl();
+      String jettyURL = jetty.getBaseUrl();
       NODE_CLIENTS.add(getHttpSolrClient(jettyURL.toString() + "/" + COLLECTION_NAME + "/"));
     }
     assertEquals(numServers, NODE_CLIENTS.size());
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
index 6fdb230..c4c7e04 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
@@ -193,7 +193,7 @@ public class ShardSplitTest extends SolrCloudBridgeTestCase {
         String stoppedNodeName = null;
         boolean restarted = false;
         for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
-          int port = jetty.getBaseUrl().getPort();
+          int port = jetty.getLocalPort();
           if (replica.getStr(BASE_URL_PROP).contains(":" + port))  {
             stoppedNodeName = jetty.getNodeName();
             jetty.stop();
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionsAPIViaSolrCloudCluster.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionsAPIViaSolrCloudCluster.java
index 03bce06..bd1e6b8 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionsAPIViaSolrCloudCluster.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionsAPIViaSolrCloudCluster.java
@@ -140,7 +140,7 @@ public class TestCollectionsAPIViaSolrCloudCluster extends SolrCloudTestCase {
     ClusterState clusterState = zkStateReader.getClusterState();
     Map<String,JettySolrRunner> jettyMap = new HashMap<>();
     for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
-      String key = jetty.getBaseUrl().toString().substring((jetty.getBaseUrl().getProtocol() + "://").length());
+      String key = jetty.getBaseUrl().toString().substring((System.getProperty("urlScheme") + "://").length());
       jettyMap.put(key, jetty);
     }
     Collection<Slice> slices = clusterState.getCollection(collectionName).getSlices();
@@ -257,8 +257,8 @@ public class TestCollectionsAPIViaSolrCloudCluster extends SolrCloudTestCase {
         shardLeaderMap.put(slice.getLeader().getNodeName().replace("_solr", "/solr"), Boolean.TRUE);
       }
       for (int ii = 0; ii < jettys.size(); ++ii) {
-        final URL jettyBaseUrl = jettys.get(ii).getBaseUrl();
-        final String jettyBaseUrlString = jettyBaseUrl.toString().substring((jettyBaseUrl.getProtocol() + "://").length());
+        final String jettyBaseUrl = jettys.get(ii).getBaseUrl();
+        final String jettyBaseUrlString = jettyBaseUrl.toString().substring((System.getProperty("urlScheme")+ "://").length());
         final Boolean isLeader = shardLeaderMap.get(jettyBaseUrlString);
         if (Boolean.TRUE.equals(isLeader)) {
           leaderIndices.add(ii);
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerTest.java
index a96e8c3..b9051ea 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerTest.java
@@ -112,7 +112,7 @@ public class SearchRateTriggerTest extends SolrCloudTestCase {
     CloudUtil.waitForState(cloudManager, COLL2, 60, TimeUnit.SECONDS, clusterShape(2, 2));
 
     double rate = 1.0;
-    URL baseUrl = targetNode.getBaseUrl();
+    String baseUrl = targetNode.getBaseUrl();
     long waitForSeconds = 5 + random().nextInt(5);
     Map<String, Object> props = createTriggerProps(Arrays.asList(COLL1, COLL2), waitForSeconds, rate, -1);
     final List<TriggerEvent> events = new ArrayList<>();
diff --git a/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java b/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
index 0862a9d..9cfe944 100644
--- a/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/rule/RulesTest.java
@@ -263,7 +263,7 @@ public class RulesTest extends SolrCloudTestCase {
     String rulesColl = "hostFragment";
 
     JettySolrRunner jetty = cluster.getRandomJetty(random());
-    String host = jetty.getBaseUrl().getHost();
+    String host = jetty.getHost();
     String[] ipFragments = host.split("\\.");
     String ip_1 = ipFragments[ipFragments.length - 1];
     String ip_2 = ipFragments[ipFragments.length - 2];
@@ -294,7 +294,7 @@ public class RulesTest extends SolrCloudTestCase {
     String rulesColl = "ipRuleColl";
 
     JettySolrRunner jetty = cluster.getRandomJetty(random());
-    String host = jetty.getBaseUrl().getHost();
+    String host = jetty.getHost();
     String[] ipFragments = host.split("\\.");
     String ip_1 = ipFragments[ipFragments.length - 1];
     String ip_2 = ipFragments[ipFragments.length - 2];
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSystemCollAutoCreate.java b/solr/core/src/test/org/apache/solr/handler/TestSystemCollAutoCreate.java
index f21beaf..c03e14d 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSystemCollAutoCreate.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSystemCollAutoCreate.java
@@ -34,7 +34,7 @@ public class TestSystemCollAutoCreate extends SolrCloudBridgeTestCase {
 
   // commented out on: 17-Feb-2019   @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // annotated on: 24-Dec-2018
   public void testAutoCreate() throws Exception {
-    TestBlobHandler.checkBlobPost(cluster.getJettySolrRunner(0).getBaseUrl().toExternalForm(), cloudClient);
+    TestBlobHandler.checkBlobPost(cluster.getJettySolrRunner(0).getBaseUrl(), cloudClient);
     DocCollection sysColl = cloudClient.getZkStateReader().getClusterState().getCollection(".system");
   }
 }
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperReadAPITest.java b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperReadAPITest.java
index 87ae909b..98c83a4 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperReadAPITest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperReadAPITest.java
@@ -62,7 +62,7 @@ public class ZookeeperReadAPITest extends SolrCloudTestCase {
 
   @Test
   public void testZkread() throws Exception {
-    URL baseUrl = cluster.getJettySolrRunner(0).getBaseUrl();
+    String baseUrl = cluster.getJettySolrRunner(0).getBaseUrl();
     String basezk = baseUrl.toString().replace("/solr", "/api") + "/cluster/zk/data";
     String basezkls = baseUrl.toString().replace("/solr", "/api") + "/cluster/zk/ls";
 
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
index b297597..6832eec 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/ZookeeperStatusHandlerTest.java
@@ -78,7 +78,7 @@ public class ZookeeperStatusHandlerTest extends SolrCloudTestCase {
    */
   @Test
   public void monitorZookeeper() throws IOException, SolrServerException, InterruptedException, ExecutionException, TimeoutException {
-    URL baseUrl = cluster.getJettySolrRunner(0).getBaseUrl();
+    String baseUrl = cluster.getJettySolrRunner(0).getBaseUrl();
     HttpSolrClient solr = new HttpSolrClient.Builder(baseUrl.toString()).build();
     GenericSolrRequest mntrReq = new GenericSolrRequest(SolrRequest.METHOD.GET, "/admin/zookeeper/status", new ModifiableSolrParams());
     mntrReq.setResponseParser(new DelegationTokenResponse.JsonMapResponseParser());
diff --git a/solr/core/src/test/org/apache/solr/handler/component/ShardsWhitelistTest.java b/solr/core/src/test/org/apache/solr/handler/component/ShardsWhitelistTest.java
index 9932429..2ee5cd2 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/ShardsWhitelistTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/ShardsWhitelistTest.java
@@ -137,9 +137,8 @@ public class ShardsWhitelistTest extends MultiSolrCloudTestCase {
     assertThat(getShardHandlerFactory(IMPLICIT_CLUSTER_KEY).getWhitelistHostChecker().hasExplicitWhitelist(), is(false));
     for (MiniSolrCloudCluster cluster : clusterId2cluster.values()) {
       for (JettySolrRunner runner : cluster.getJettySolrRunners()) {
-        URI uri = runner.getBaseUrl().toURI();
         assertThat(getShardHandlerFactory(EXPLICIT_CLUSTER_KEY).getWhitelistHostChecker().getWhitelistHosts(),
-            hasItem(uri.getHost() + ":" + uri.getPort()));
+            hasItem(runner.getHost() + ":" + runner.getLocalPort()));
       }
     }
 
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
index a5a4708..6d6dadb 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/BasicHttpSolrClientTest.java
@@ -603,7 +603,7 @@ public class BasicHttpSolrClientTest extends SolrJettyTestBase {
       BasicClientCookie cookie = new BasicClientCookie(cookieName, cookieValue);
       cookie.setVersion(0);
       cookie.setPath("/");
-      cookie.setDomain(jetty.getBaseUrl().getHost());
+      cookie.setDomain(jetty.getHost());
 
       CookieStore cookieStore = new BasicCookieStore();
       CookieSpec cookieSpec = new SolrPortAwareCookieSpecFactory().create(context);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
index c9f7257..c6d6999 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/HttpSolrClientSSLAuthConPoolTest.java
@@ -30,11 +30,11 @@ public class HttpSolrClientSSLAuthConPoolTest extends HttpSolrClientConPoolTest
 
     @BeforeClass
     public static void checkUrls() throws Exception {
-      URL[] urls = new URL[] {
+      String[] urls = new String[] {
           jetty.getBaseUrl(), yetty.getBaseUrl() 
       };
-      for (URL u : urls) {
-        assertEquals("expect https urls ","https", u.getProtocol());
+      for (String u : urls) {
+        assertTrue("expect https urls ", u.startsWith("https"));
       }
       assertFalse("expect different urls "+Arrays.toString(urls),
               urls[0].equals(urls[1]));
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index c2412c4..8dfcd1f 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -849,7 +849,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
     runners.add(controlJetty);
     
     for (JettySolrRunner j : runners) {
-      if (replicaBaseUrl.replaceAll("/$", "").equals(j.getProxyBaseUrl().toExternalForm().replaceAll("/$", ""))) {
+      if (replicaBaseUrl.replaceAll("/$", "").equals(j.getProxyBaseUrl().replaceAll("/$", ""))) {
         return j.getProxy();
       }
     }
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
index 508d4e7..260f337 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
@@ -718,7 +718,7 @@ public class MiniSolrCloudCluster {
     String replicaBaseUrl = replica.getStr(ZkStateReader.BASE_URL_PROP);
 
     for (JettySolrRunner j : jettys) {
-      if (replicaBaseUrl.replaceAll("/$", "").equals(j.getProxyBaseUrl().toExternalForm().replaceAll("/$", ""))) {
+      if (replicaBaseUrl.replaceAll("/$", "").equals(j.getProxyBaseUrl().replaceAll("/$", ""))) {
         if (j.getProxy() == null) {
           throw new IllegalStateException("proxy is not enabled for " + JettySolrRunner.class.getSimpleName());
         }
diff --git a/solr/test-framework/src/test/org/apache/solr/cloud/JettySolrRunnerTest.java b/solr/test-framework/src/test/org/apache/solr/cloud/JettySolrRunnerTest.java
index ccb0693..50534f5 100644
--- a/solr/test-framework/src/test/org/apache/solr/cloud/JettySolrRunnerTest.java
+++ b/solr/test-framework/src/test/org/apache/solr/cloud/JettySolrRunnerTest.java
@@ -43,18 +43,18 @@ public class JettySolrRunnerTest extends SolrTestCaseJ4 {
     try {
       jetty.start();
 
-      URL url = jetty.getBaseUrl();
-      int usedPort = url.getPort();
+      String url = jetty.getBaseUrl();
+      int usedPort = jetty.getLocalPort();
 
       jetty.stop();
       jetty.start();
 
-      assertEquals("After restart, jetty port should be the same", usedPort, jetty.getBaseUrl().getPort());
+      assertEquals("After restart, jetty port should be the same", usedPort, jetty.getLocalPort());
 
       jetty.stop();
       jetty.start(false, false);
 
-      assertThat("After restart, jetty port should be different", jetty.getBaseUrl().getPort(), not(usedPort));
+      assertThat("After restart, jetty port should be different", jetty.getLocalPort(), not(usedPort));
     }
     finally {
       if (jetty.isRunning())


[lucene-solr] 02/02: #85 Try to prevent so much resizing of this StringBuilder in Lucene.

Posted by ma...@apache.org.
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

commit 8086c4be5d92e04e617ebbcaf8111ac3ca44fe06
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Jul 12 02:18:04 2020 -0500

    #85 Try to prevent so much resizing of this StringBuilder in Lucene.
---
 lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
index 26e7e3d..eaef6c6 100644
--- a/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
+++ b/lucene/core/src/java/org/apache/lucene/index/IndexWriterConfig.java
@@ -475,7 +475,9 @@ public final class IndexWriterConfig extends LiveIndexWriterConfig {
 
   @Override
   public String toString() {
-    StringBuilder sb = new StringBuilder(super.toString());
+    String superString = super.toString();
+    StringBuilder sb = new StringBuilder(superString.length() + 512);
+    sb.append(superString);
     sb.append("writer=").append(writer.get()).append("\n");
     return sb.toString();
   }