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:26 UTC
[lucene-solr] 01/02: #84 Fewer URL's, they make a lot of garbage.
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())