This is an automated email from the ASF dual-hosted git repository.
psalagnac pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new e9089326442 Skip creation of ZkCoreNodeProps when we have a Replica
instance (#3315)
e9089326442 is described below
commit e9089326442a3c60e6194b68c4835da3bcb76fb0
Author: Pierre Salagnac <[email protected]>
AuthorDate: Mon Apr 14 16:03:16 2025 +0200
Skip creation of ZkCoreNodeProps when we have a Replica instance (#3315)
Trivial code clean-up to remove unnecessary creations of ZkCoreNodeProps
objects (I think they exist for historical reasons). Instead, directly use
getter methods from already existing Replica instances.
---
.../java/org/apache/solr/cli/HealthcheckTool.java | 11 ++--
.../org/apache/solr/cloud/RecoveryStrategy.java | 6 +--
.../api/collections/CollectionHandlingUtils.java | 6 +--
.../apache/solr/cloud/overseer/SliceMutator.java | 4 +-
.../org/apache/solr/handler/admin/ColStatus.java | 3 +-
.../apache/solr/handler/admin/api/SyncShard.java | 10 ++--
.../solr/cloud/DistributedVersionInfoTest.java | 6 +--
.../org/apache/solr/cloud/HttpPartitionTest.java | 7 +--
.../cloud/LeaderFailureAfterFreshStartTest.java | 2 +-
.../solr/cloud/LeaderVoteWaitTimeoutTest.java | 4 +-
.../apache/solr/cloud/PeerSyncReplicationTest.java | 2 +-
.../apache/solr/cloud/ReplicationFactorTest.java | 4 +-
.../apache/solr/cloud/TestCloudConsistency.java | 4 +-
.../solr/cloud/api/collections/ShardSplitTest.java | 9 ++--
.../solr/client/solrj/io/sql/StatementImpl.java | 4 +-
.../solrj/io/stream/FeaturesSelectionStream.java | 4 +-
.../client/solrj/io/stream/TextLogitStream.java | 4 +-
.../solr/client/solrj/io/stream/TopicStream.java | 4 +-
.../apache/solr/common/cloud/ZkStateReader.java | 3 +-
.../solr/client/solrj/impl/CloudSolrClient.java | 6 +--
.../cloud/AbstractBasicDistributedZkTestBase.java | 25 ++++-----
.../solr/cloud/AbstractFullDistribZkTestBase.java | 60 +++++++++-------------
.../cloud/AbstractUnloadDistributedZkTestBase.java | 23 ++++-----
...bstractCollectionsAPIDistributedZkTestBase.java | 8 ++-
.../component/TrackingShardHandlerFactory.java | 3 +-
25 files changed, 84 insertions(+), 138 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
index 4201392f933..afabd5275d3 100644
--- a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java
@@ -40,7 +40,6 @@ import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
@@ -150,12 +149,11 @@ public class HealthcheckTool extends ToolBase {
String replicaStatus;
long numDocs = -1L;
- ZkCoreNodeProps replicaCoreProps = new ZkCoreNodeProps(r);
- String coreUrl = replicaCoreProps.getCoreUrl();
+ String coreUrl = r.getCoreUrl();
boolean isLeader = coreUrl.equals(leaderUrl);
// if replica's node is not live, its status is DOWN
- String nodeName = replicaCoreProps.getNodeName();
+ String nodeName = r.getNodeName();
if (nodeName == null || !liveNodes.contains(nodeName)) {
replicaStatus = Replica.State.DOWN.toString();
} else {
@@ -170,8 +168,7 @@ public class HealthcheckTool extends ToolBase {
numDocs = qr.getResults().getNumFound();
try (var solrClient =
CLIUtils.getSolrClient(
- replicaCoreProps.getBaseUrl(),
- cli.getOptionValue(CommonCLIOptions.CREDENTIALS_OPTION))) {
+ r.getBaseUrl(),
cli.getOptionValue(CommonCLIOptions.CREDENTIALS_OPTION))) {
NamedList<Object> systemInfo =
solrClient.request(
new GenericSolrRequest(
@@ -183,7 +180,7 @@ public class HealthcheckTool extends ToolBase {
}
// if we get here, we can trust the state
- replicaStatus = replicaCoreProps.getState();
+ replicaStatus = String.valueOf(r.getState());
} catch (Exception exc) {
log.error("ERROR: {} when trying to reach: {}", exc, coreUrl);
diff --git a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
index 164f10d0db0..022ea8a9b34 100644
--- a/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
+++ b/solr/core/src/java/org/apache/solr/cloud/RecoveryStrategy.java
@@ -365,9 +365,9 @@ public class RecoveryStrategy implements Runnable,
Closeable {
while (!successfulRecovery && !Thread.currentThread().isInterrupted() &&
!isClosed()) {
try {
CloudDescriptor cloudDesc = this.coreDescriptor.getCloudDescriptor();
- ZkNodeProps leaderprops =
+ Replica leader =
zkStateReader.getLeaderRetry(cloudDesc.getCollectionName(),
cloudDesc.getShardId());
- final String leaderUrl = ZkCoreNodeProps.getCoreUrl(leaderprops);
+ final String leaderUrl = leader.getCoreUrl();
final String ourUrl = ZkCoreNodeProps.getCoreUrl(baseUrl, coreName);
// TODO: We can probably delete most of this code if we say this
strategy can only be used
@@ -407,7 +407,7 @@ public class RecoveryStrategy implements Runnable,
Closeable {
log.info("Stopping background replicate from leader process");
zkController.stopReplicationFromLeader(coreName);
}
- replicate(zkController.getNodeName(), core, leaderprops);
+ replicate(zkController.getNodeName(), core, leader);
if (isClosed()) {
if (log.isInfoEnabled()) {
diff --git
a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
index a0eb4d3233f..738994a94d5 100644
---
a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
+++
b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
@@ -55,7 +55,6 @@ import org.apache.solr.common.cloud.DocRouter;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.SolrZkClient;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionAdminParams;
@@ -221,13 +220,12 @@ public class CollectionHandlingUtils {
static void commit(NamedList<Object> results, String slice, Replica
parentShardLeader) {
log.debug("Calling soft commit to make sub shard updates visible");
- final var zkCoreProps = new ZkCoreNodeProps(parentShardLeader);
- String coreUrl = new ZkCoreNodeProps(parentShardLeader).getCoreUrl();
+ String coreUrl = parentShardLeader.getCoreUrl();
// HttpShardHandler is hard coded to send a QueryRequest hence we go direct
// and we force open a searcher so that we have documents to show upon
switching states
UpdateResponse updateResponse = null;
try {
- updateResponse = softCommit(zkCoreProps.getBaseUrl(),
zkCoreProps.getCoreName());
+ updateResponse = softCommit(parentShardLeader.getBaseUrl(),
parentShardLeader.getCoreName());
CollectionHandlingUtils.processResponse(
results, null, coreUrl, updateResponse, slice,
Collections.emptySet());
} catch (Exception e) {
diff --git
a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
index 66af10548a8..962f7ea0b47 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
@@ -171,9 +171,7 @@ public class SliceMutator {
final Map<String, Replica> newReplicas = new LinkedHashMap<>();
for (Replica replica : slice.getReplicas()) {
// TODO: this should only be calculated once and cached somewhere?
- String coreURL =
- ZkCoreNodeProps.getCoreUrl(
- replica.getBaseUrl(),
replica.getStr(ZkStateReader.CORE_NAME_PROP));
+ String coreURL = replica.getCoreUrl();
if (replica.equals(oldLeader) && !coreURL.equals(leaderUrl)) {
replica = ReplicaMutator.unsetLeader(replica);
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/ColStatus.java
b/solr/core/src/java/org/apache/solr/handler/admin/ColStatus.java
index d4980a0a674..39e115146b9 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/ColStatus.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/ColStatus.java
@@ -34,7 +34,6 @@ import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.RoutingRule;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CommonParams;
@@ -184,7 +183,7 @@ public class ColStatus {
if (!leader.isActive(clusterState.getLiveNodes())) {
continue;
}
- String url = ZkCoreNodeProps.getCoreUrl(leader);
+ String url = leader.getCoreUrl();
if (url == null) {
continue;
}
diff --git
a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
index 17f63fa739e..8dbe4921c9a 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/api/SyncShard.java
@@ -32,8 +32,7 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.CoreAdminRequest;
import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
-import org.apache.solr.common.cloud.ZkNodeProps;
+import org.apache.solr.common.cloud.Replica;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.handler.api.V2ApiUtils;
import org.apache.solr.jersey.PermissionName;
@@ -78,18 +77,17 @@ public class SyncShard extends AdminAPIBase implements
SyncShardApi {
ClusterState clusterState =
coreContainer.getZkController().getClusterState();
DocCollection docCollection = clusterState.getCollection(collection);
- ZkNodeProps leaderProps = docCollection.getLeader(shardName);
- ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(leaderProps);
+ Replica leader = docCollection.getLeader(shardName);
try (SolrClient client =
- new HttpSolrClient.Builder(nodeProps.getBaseUrl())
+ new HttpSolrClient.Builder(leader.getBaseUrl())
.withConnectionTimeout(15000, TimeUnit.MILLISECONDS)
.withSocketTimeout(60000, TimeUnit.MILLISECONDS)
.build()) {
CoreAdminRequest.RequestSyncShard reqSyncShard = new
CoreAdminRequest.RequestSyncShard();
reqSyncShard.setCollection(collection);
reqSyncShard.setShard(shardName);
- reqSyncShard.setCoreName(nodeProps.getCoreName());
+ reqSyncShard.setCoreName(leader.getCoreName());
client.request(reqSyncShard);
}
}
diff --git
a/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
b/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
index 38f7abeca0e..b5c902467a4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
@@ -47,7 +47,6 @@ import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
@@ -378,10 +377,9 @@ public class DistributedVersionInfoTest extends
SolrCloudTestCase {
}
protected boolean reloadCollection(Replica replica, String
testCollectionName) throws Exception {
- ZkCoreNodeProps coreProps = new ZkCoreNodeProps(replica);
- String coreName = coreProps.getCoreName();
+ String coreName = replica.getCoreName();
boolean reloadedOk = false;
- try (SolrClient client = getHttpSolrClient(coreProps.getBaseUrl())) {
+ try (SolrClient client = getHttpSolrClient(replica.getBaseUrl())) {
CoreAdminResponse statusResp = CoreAdminRequest.getStatus(coreName,
client);
long leaderCoreStartTime = statusResp.getStartTime(coreName).getTime();
diff --git a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
index d274539a2b3..7527af9cc08 100644
--- a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
@@ -46,7 +46,6 @@ import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.core.CoreContainer;
@@ -241,8 +240,7 @@ public class HttpPartitionTest extends
AbstractFullDistribZkTestBase {
// SOLR-7625)
JettySolrRunner replicaJetty = getJettyOnPort(getReplicaPort(notLeader));
CoreContainer coreContainer = replicaJetty.getCoreContainer();
- ZkCoreNodeProps replicaCoreNodeProps = new ZkCoreNodeProps(notLeader);
- String coreName = replicaCoreNodeProps.getCoreName();
+ String coreName = notLeader.getCoreName();
try (SolrCore core = coreContainer.getCore(coreName)) {
assertNotNull("Core '" + coreName + "' not found for replica: " +
notLeader.getName(), core);
}
@@ -517,8 +515,7 @@ public class HttpPartitionTest extends
AbstractFullDistribZkTestBase {
}
protected SolrClient getHttpSolrClient(Replica replica, String collection) {
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(replica);
- return getHttpSolrClient(zkProps.getBaseUrl(), collection);
+ return getHttpSolrClient(replica.getBaseUrl(), collection);
}
// Send doc directly to a server (without going through proxy)
diff --git
a/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
b/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
index 5710f1a6624..fb297fbdca2 100644
---
a/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
+++
b/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
@@ -152,7 +152,7 @@ public class LeaderFailureAfterFreshStartTest extends
AbstractFullDistribZkTestB
// shutdown the original leader
log.info("Now shutting down initial leader");
forceNodeFailures(singletonList(initialLeaderJetty));
- waitForNewLeader(cloudClient, "shard1", (Replica)
initialLeaderJetty.client.info);
+ waitForNewLeader(cloudClient, "shard1", initialLeaderJetty.info);
waitTillNodesActive();
log.info("Updating mappings from zk");
updateMappingsFromZk(jettys, clients, true);
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 7f64a5d8a94..d8299d4fe9d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
@@ -38,7 +38,6 @@ import
org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.embedded.JettySolrRunner;
@@ -341,7 +340,6 @@ public class LeaderVoteWaitTimeoutTest extends
SolrCloudTestCase {
}
protected SolrClient getSolrClient(Replica replica, String coll) {
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(replica);
- return getHttpSolrClient(zkProps.getBaseUrl(), coll);
+ return getHttpSolrClient(replica.getBaseUrl(), coll);
}
}
diff --git
a/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
b/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
index 5c29bc834fb..6695fcef951 100644
--- a/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
@@ -151,7 +151,7 @@ public class PeerSyncReplicationTest extends
AbstractFullDistribZkTestBase {
log.info("Now shutting down initial leader");
forceNodeFailures(singletonList(initialLeaderJetty));
log.info("Updating mappings from zk");
- waitForNewLeader(cloudClient, "shard1", (Replica)
initialLeaderJetty.client.info);
+ waitForNewLeader(cloudClient, "shard1", initialLeaderJetty.info);
updateMappingsFromZk(jettys, clients, true);
assertEquals(
"PeerSynced node did not become leader",
diff --git
a/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
b/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
index f375bfc229c..4d6158e0179 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReplicationFactorTest.java
@@ -37,7 +37,6 @@ import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.DocRouter;
import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.embedded.JettySolrRunner;
@@ -267,8 +266,7 @@ public class ReplicationFactorTest extends
AbstractFullDistribZkTestBase {
protected void sendNonDirectUpdateRequestReplica(
Replica replica, UpdateRequest up, int expectedRf, String collection)
throws Exception {
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(replica);
- try (SolrClient solrServer = getHttpSolrClient(zkProps.getBaseUrl(),
collection)) {
+ try (SolrClient solrServer = getHttpSolrClient(replica.getBaseUrl(),
collection)) {
NamedList<?> resp = solrServer.request(up);
NamedList<?> hdr = (NamedList<?>) resp.get("responseHeader");
Integer batchRf = (Integer) hdr.get(UpdateRequest.REPFACT);
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 009a1d48d07..0ef05c16988 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
@@ -36,7 +36,6 @@ import
org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.embedded.JettySolrRunner;
import org.junit.After;
@@ -349,7 +348,6 @@ public class TestCloudConsistency extends SolrCloudTestCase
{
}
protected SolrClient getHttpSolrClient(Replica replica, String coll) {
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(replica);
- return getHttpSolrClient(zkProps.getBaseUrl(), coll);
+ return getHttpSolrClient(replica.getBaseUrl(), coll);
}
}
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 7e610b2c2da..4b5a784185d 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
@@ -61,7 +61,6 @@ import org.apache.solr.common.cloud.DocRouter;
import org.apache.solr.common.cloud.HashBasedRouter;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams;
import org.apache.solr.common.params.ModifiableSolrParams;
@@ -1190,8 +1189,7 @@ public class ShardSplitTest extends
BasicDistributedZkTest {
SolrQuery query = new SolrQuery("*:*").setRows(1000).setFields("id",
"_version_");
query.set("distrib", false);
- ZkCoreNodeProps shard1_0 =
- getLeaderUrlFromZk(AbstractDistribZkTestBase.DEFAULT_COLLECTION,
SHARD1_0);
+ Replica shard1_0 =
getLeaderFromZk(AbstractDistribZkTestBase.DEFAULT_COLLECTION, SHARD1_0);
QueryResponse response;
try (SolrClient shard1_0Client =
getHttpSolrClient(shard1_0.getBaseUrl(), shard1_0.getCoreName())) {
@@ -1199,8 +1197,7 @@ public class ShardSplitTest extends
BasicDistributedZkTest {
}
long shard10Count = response.getResults().getNumFound();
- ZkCoreNodeProps shard1_1 =
- getLeaderUrlFromZk(AbstractDistribZkTestBase.DEFAULT_COLLECTION,
SHARD1_1);
+ Replica shard1_1 =
getLeaderFromZk(AbstractDistribZkTestBase.DEFAULT_COLLECTION, SHARD1_1);
QueryResponse response2;
try (SolrClient shard1_1Client =
getHttpSolrClient(shard1_1.getBaseUrl(), shard1_1.getCoreName())) {
@@ -1224,7 +1221,7 @@ public class ShardSplitTest extends
BasicDistributedZkTest {
long[] numFound = new long[slice.getReplicasMap().size()];
int c = 0;
for (Replica replica : slice.getReplicas()) {
- String coreUrl = new ZkCoreNodeProps(replica).getCoreUrl();
+ String coreUrl = replica.getCoreUrl();
QueryResponse response;
try (SolrClient client = getHttpSolrClient(replica)) {
response = client.query(query);
diff --git
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
index c2a6259576a..f76f7bdb06e 100644
---
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
+++
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/sql/StatementImpl.java
@@ -31,7 +31,6 @@ import org.apache.solr.client.solrj.io.stream.CloudSolrStream;
import org.apache.solr.client.solrj.io.stream.SolrStream;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
@@ -97,8 +96,7 @@ class StatementImpl implements Statement {
}
Replica rep = shuffler.get(0);
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(rep);
- String url = zkProps.getCoreUrl();
+ String url = rep.getCoreUrl();
return new SolrStream(url, params);
} catch (Exception e) {
throw new IOException(e);
diff --git
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
index 1a694fc72b1..946a1141f17 100644
---
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
+++
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
@@ -52,7 +52,6 @@ import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
@@ -285,8 +284,7 @@ public class FeaturesSelectionStream extends TupleStream
implements Expressible
Collections.shuffle(shuffler, new Random());
Replica rep = shuffler.get(0);
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(rep);
- String url = zkProps.getCoreUrl();
+ String url = rep.getCoreUrl();
baseUrls.add(url);
}
diff --git
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
index 6f79ef04876..2ac825c7ea4 100644
---
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
+++
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
@@ -52,7 +52,6 @@ import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.NamedList;
@@ -392,8 +391,7 @@ public class TextLogitStream extends TupleStream implements
Expressible {
Collections.shuffle(shuffler, new Random());
Replica rep = shuffler.get(0);
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(rep);
- String url = zkProps.getCoreUrl();
+ String url = rep.getCoreUrl();
baseUrls.add(url);
}
diff --git
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
index dbc295e79e3..b3bc4967c6d 100644
---
a/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
+++
b/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
@@ -57,7 +57,6 @@ import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
@@ -551,8 +550,7 @@ public class TopicStream extends CloudSolrStream implements
Expressible {
}
Replica rep = shuffler.get(random.nextInt(shuffler.size()));
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(rep);
- String url = zkProps.getCoreUrl();
+ String url = rep.getCoreUrl();
SolrStream solrStream = new SolrStream(url, localParams);
solrStream.setSlice(slice.getName());
solrStream.setCheckpoint(checkpoint);
diff --git
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index aa8b4edc799..e9a21713d22 100644
---
a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++
b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -911,8 +911,7 @@ public class ZkStateReader implements SolrCloseable {
if (replica == null || replica.getBaseUrl() == null) {
return null;
}
- ZkCoreNodeProps props = new ZkCoreNodeProps(replica);
- return props.getCoreUrl();
+ return replica.getCoreUrl();
}
public Replica getLeader(Set<String> liveNodes, DocCollection docCollection,
String shard) {
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 a0dc29f7196..8a7bddd0ad1 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
@@ -69,7 +69,6 @@ import org.apache.solr.common.cloud.DocRouter;
import org.apache.solr.common.cloud.ImplicitDocRouter;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.ShardParams;
import org.apache.solr.common.params.SolrParams;
@@ -1290,10 +1289,9 @@ public abstract class CloudSolrClient extends SolrClient
{
for (Slice slice : coll.getActiveSlicesArr()) {
Replica leader = slice.getLeader();
if (leader != null) {
- ZkCoreNodeProps zkProps = new ZkCoreNodeProps(leader);
- String leaderUrl = zkProps.getBaseUrl() + "/" +
zkProps.getCoreName();
+ String leaderUrl = leader.getBaseUrl() + "/" + leader.getCoreName();
leaders.put(leaderUrl, slice.getName());
- String altLeaderUrl = zkProps.getBaseUrl() + "/" + collection;
+ String altLeaderUrl = leader.getBaseUrl() + "/" + collection;
leaders.put(altLeaderUrl, slice.getName());
}
}
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
index 4fcd1b1279f..ed37dcde551 100644
---
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
+++
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractBasicDistributedZkTestBase.java
@@ -66,8 +66,6 @@ import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
-import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.CommonParams;
@@ -1160,13 +1158,13 @@ public abstract class
AbstractBasicDistributedZkTestBase extends AbstractFullDis
}
@Override
- protected ZkCoreNodeProps getLeaderUrlFromZk(String collection, String
slice) {
+ protected Replica getLeaderFromZk(String collection, String slice) {
ClusterState clusterState = getCommonCloudSolrClient().getClusterState();
- ZkNodeProps leader =
clusterState.getCollection(collection).getLeader(slice);
+ Replica leader = clusterState.getCollection(collection).getLeader(slice);
if (leader == null) {
throw new RuntimeException("Could not find leader:" + collection + " " +
slice);
}
- return new ZkCoreNodeProps(leader);
+ return leader;
}
/**
@@ -1369,12 +1367,11 @@ public abstract class
AbstractBasicDistributedZkTestBase extends AbstractFullDis
zkStateReader.getClusterState().getCollection(oneInstanceCollection2).getSlicesMap();
assertNotNull(slices);
- ZkCoreNodeProps props =
- new ZkCoreNodeProps(
- getCommonCloudSolrClient()
- .getClusterState()
- .getCollection(oneInstanceCollection2)
- .getLeader("shard1"));
+ Replica leader =
+ getCommonCloudSolrClient()
+ .getClusterState()
+ .getCollection(oneInstanceCollection2)
+ .getLeader("shard1");
// now test that unloading a core gets us a new leader
try (SolrClient unloadClient =
@@ -1383,9 +1380,9 @@ public abstract class AbstractBasicDistributedZkTestBase
extends AbstractFullDis
.withSocketTimeout(60000, TimeUnit.MILLISECONDS)
.build()) {
Unload unloadCmd = new Unload(true);
- unloadCmd.setCoreName(props.getCoreName());
+ unloadCmd.setCoreName(leader.getCoreName());
- String leader = props.getCoreUrl();
+ String leaderUrl = leader.getCoreUrl();
testExecutor.execute(
new Runnable() {
@@ -1410,7 +1407,7 @@ public abstract class AbstractBasicDistributedZkTestBase
extends AbstractFullDis
TimeUnit.MILLISECONDS,
(n, c) -> {
try {
- if (leader.equals(
+ if (leaderUrl.equals(
zkStateReader.getLeaderUrl(oneInstanceCollection2,
"shard1", 10000))) {
return false;
}
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 681bf7152e5..00a74dc7eb2 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
@@ -73,7 +73,6 @@ import org.apache.solr.common.cloud.ClusterStateUtil;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams;
@@ -164,7 +163,7 @@ public abstract class AbstractFullDistribZkTestBase extends
AbstractDistribZkTes
public String url;
public CloudSolrServerClient client;
- public ZkNodeProps info;
+ public Replica info;
@Override
public int hashCode() {
@@ -189,9 +188,8 @@ public abstract class AbstractFullDistribZkTestBase extends
AbstractDistribZkTes
public static class CloudSolrServerClient {
SolrClient solrClient;
- String shardName;
+ String nodeName;
int port;
- public ZkNodeProps info;
public CloudSolrServerClient() {}
@@ -932,8 +930,7 @@ public abstract class AbstractFullDistribZkTestBase extends
AbstractDistribZkTes
CloudSolrServerClient csc = new CloudSolrServerClient();
csc.solrClient = client;
csc.port = port;
- csc.shardName = replica.getStr(ZkStateReader.NODE_NAME_PROP);
- csc.info = replica;
+ csc.nodeName = replica.getNodeName();
theClients.add(csc);
@@ -1130,12 +1127,12 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
controlClient.add(doc);
}
- protected ZkCoreNodeProps getLeaderUrlFromZk(String collection, String
slice) throws IOException {
+ protected Replica getLeaderFromZk(String collection, String slice) {
getCommonCloudSolrClient();
ClusterState clusterState = cloudClient.getClusterState();
final DocCollection docCollection =
clusterState.getCollectionOrNull(collection);
if (docCollection != null && docCollection.getLeader(slice) != null) {
- return new ZkCoreNodeProps(docCollection.getLeader(slice));
+ return docCollection.getLeader(slice);
}
throw new RuntimeException("Could not find leader:" + collection + " " +
slice);
}
@@ -1467,10 +1464,9 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
assertNotNull("no jetties found for shard: " + shard, solrJetties);
for (CloudJettyRunner cjetty : solrJetties) {
- ZkNodeProps props = cjetty.info;
- String nodeName = props.getStr(ZkStateReader.NODE_NAME_PROP);
- boolean active =
- Replica.State.getState(props.getStr(ZkStateReader.STATE_PROP)) ==
Replica.State.ACTIVE;
+ Replica replica = cjetty.info;
+ String nodeName = replica.getNodeName();
+ boolean active = replica.getState() == Replica.State.ACTIVE;
boolean live =
zkStateReader.getClusterState().liveNodesContain(nodeName);
if (active && live) {
shardClients.add(cjetty.client.solrClient);
@@ -1536,9 +1532,9 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
CloudJettyRunner lastJetty = null;
for (CloudJettyRunner cjetty : solrJetties) {
- ZkNodeProps props = cjetty.info;
+ Replica replica = cjetty.info;
log.debug("client{}", cnt);
- log.debug("PROPS:{}", props);
+ log.debug("REPLICA:{}", replica);
cnt++;
try {
@@ -1560,15 +1556,14 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
}
boolean live = false;
- String nodeName = props.getStr(ZkStateReader.NODE_NAME_PROP);
+ String nodeName = replica.getNodeName();
if (zkStateReader.getClusterState().liveNodesContain(nodeName)) {
live = true;
}
log.debug(" live:{}", live);
log.debug(" num:{}", num);
- boolean active =
- Replica.State.getState(props.getStr(ZkStateReader.STATE_PROP)) ==
Replica.State.ACTIVE;
+ boolean active = replica.getState() == Replica.State.ACTIVE;
if (active && live) {
if (lastNum > -1 && lastNum != num && failMessage == null) {
failMessage =
@@ -1612,8 +1607,8 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
List<CloudJettyRunner> solrJetties = shardToJetty.get(shard);
for (CloudJettyRunner cjetty : solrJetties) {
- ZkNodeProps props = cjetty.info;
- log.debug("PROPS:{}", props);
+ Replica info = cjetty.info;
+ log.debug("REPLICA:{}", info);
try {
SolrParams query =
@@ -1636,7 +1631,7 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
continue;
}
boolean live = false;
- String nodeName = props.getStr(ZkStateReader.NODE_NAME_PROP);
+ String nodeName = info.getNodeName();
ZkStateReader zkStateReader = ZkStateReader.from(cloudClient);
if (zkStateReader.getClusterState().liveNodesContain(nodeName)) {
live = true;
@@ -1729,18 +1724,15 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
for (int i = 0; i < times; i++) {
try {
CloudJettyRunner cjetty = shardToJetty.get(s).get(i);
- ZkNodeProps props = cjetty.info;
+ Replica replica = cjetty.info;
SolrClient client = cjetty.client.solrClient;
- boolean active =
- Replica.State.getState(props.getStr(ZkStateReader.STATE_PROP))
- == Replica.State.ACTIVE;
+ boolean active = replica.getState() == Replica.State.ACTIVE;
if (active) {
SolrQuery query = new SolrQuery("*:*");
query.set("distrib", false);
long results = client.query(query).getResults().getNumFound();
- if (verbose)
- System.err.println(new ZkCoreNodeProps(props).getCoreUrl() + " :
" + results);
- if (verbose) System.err.println("shard:" +
props.getStr(ZkStateReader.SHARD_ID_PROP));
+ if (verbose) System.err.println(replica.getCoreUrl() + " : " +
results);
+ if (verbose) System.err.println("shard:" + replica.getShard());
cnt += results;
break;
}
@@ -1774,7 +1766,7 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
protected SolrClient getClient(String nodeName) {
for (CloudJettyRunner cjetty : cloudJettys) {
CloudSolrServerClient client = cjetty.client;
- if (client.shardName.equals(nodeName)) {
+ if (client.nodeName.equals(nodeName)) {
return client.solrClient;
}
}
@@ -1827,12 +1819,9 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
}
ZkStateReader zkStateReader = ZkStateReader.from(cloudClient);
long count = 0;
- final Replica.State currentState =
- Replica.State.getState(cjetty.info.getStr(ZkStateReader.STATE_PROP));
+ final Replica.State currentState = cjetty.info.getState();
if (currentState == Replica.State.ACTIVE
- && zkStateReader
- .getClusterState()
-
.liveNodesContain(cjetty.info.getStr(ZkStateReader.NODE_NAME_PROP))) {
+ &&
zkStateReader.getClusterState().liveNodesContain(cjetty.info.getNodeName())) {
SolrQuery query = new SolrQuery("*:*");
query.set("distrib", false);
count = client.solrClient.query(query).getResults().getNumFound();
@@ -2540,10 +2529,9 @@ public abstract class AbstractFullDistribZkTestBase
extends AbstractDistribZkTes
}
protected boolean reloadCollection(Replica replica, String
testCollectionName) throws Exception {
- ZkCoreNodeProps coreProps = new ZkCoreNodeProps(replica);
- String coreName = coreProps.getCoreName();
+ String coreName = replica.getCoreName();
boolean reloadedOk = false;
- try (SolrClient client = getHttpSolrClient(coreProps.getBaseUrl())) {
+ try (SolrClient client = getHttpSolrClient(replica.getBaseUrl())) {
CoreAdminResponse statusResp = CoreAdminRequest.getStatus(coreName,
client);
long leaderCoreStartTime = statusResp.getStartTime(coreName).getTime();
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractUnloadDistributedZkTestBase.java
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractUnloadDistributedZkTestBase.java
index ee7fac68736..1cbc29b1146 100644
---
a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractUnloadDistributedZkTestBase.java
+++
b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractUnloadDistributedZkTestBase.java
@@ -36,7 +36,6 @@ import
org.apache.solr.client.solrj.request.CoreAdminRequest.Unload;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.ExecutorUtil;
@@ -242,12 +241,12 @@ public abstract class AbstractUnloadDistributedZkTestBase
extends AbstractFullDi
waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
- ZkCoreNodeProps leaderProps = getLeaderUrlFromZk("unloadcollection",
"shard1");
+ Replica leader = getLeaderFromZk("unloadcollection", "shard1");
Random random = random();
if (random.nextBoolean()) {
try (SolrClient collectionClient =
- getHttpSolrClient(leaderProps.getBaseUrl(),
leaderProps.getCoreName())) {
+ getHttpSolrClient(leader.getBaseUrl(), leader.getCoreName())) {
// lets try and use the solrj client to index and retrieve a couple
// documents
SolrInputDocument doc1 =
@@ -292,10 +291,10 @@ public abstract class AbstractUnloadDistributedZkTestBase
extends AbstractFullDi
// collectionClient.commit();
// unload the leader
- try (SolrClient collectionClient =
newSolrClient(leaderProps.getBaseUrl())) {
+ try (SolrClient collectionClient = newSolrClient(leader.getBaseUrl())) {
Unload unloadCmd = new Unload(false);
- unloadCmd.setCoreName(leaderProps.getCoreName());
+ unloadCmd.setCoreName(leader.getCoreName());
ModifiableSolrParams p = (ModifiableSolrParams) unloadCmd.getParams();
collectionClient.request(unloadCmd);
@@ -304,7 +303,7 @@ public abstract class AbstractUnloadDistributedZkTestBase
extends AbstractFullDi
// printLayout();
int tries = 50;
- while (leaderProps
+ while (leader
.getCoreUrl()
.equals(zkStateReader.getLeaderUrl("unloadcollection", "shard1",
15000))) {
Thread.sleep(100);
@@ -341,15 +340,15 @@ public abstract class AbstractUnloadDistributedZkTestBase
extends AbstractFullDi
waitForRecoveriesToFinish("unloadcollection", zkStateReader, false);
// unload the leader again
- leaderProps = getLeaderUrlFromZk("unloadcollection", "shard1");
- try (SolrClient collectionClient =
newSolrClient(leaderProps.getBaseUrl())) {
+ leader = getLeaderFromZk("unloadcollection", "shard1");
+ try (SolrClient collectionClient = newSolrClient(leader.getBaseUrl())) {
Unload unloadCmd = new Unload(false);
- unloadCmd.setCoreName(leaderProps.getCoreName());
+ unloadCmd.setCoreName(leader.getCoreName());
collectionClient.request(unloadCmd);
}
tries = 50;
- while (leaderProps
+ while (leader
.getCoreUrl()
.equals(zkStateReader.getLeaderUrl("unloadcollection", "shard1",
15000))) {
Thread.sleep(100);
@@ -363,9 +362,9 @@ public abstract class AbstractUnloadDistributedZkTestBase
extends AbstractFullDi
TestInjection.skipIndexWriterCommitOnClose = false; // set this back
assertTrue(
CollectionAdminRequest.addReplicaToShard("unloadcollection", "shard1")
- .setCoreName(leaderProps.getCoreName())
+ .setCoreName(leader.getCoreName())
.setDataDir(core1DataDir)
- .setNode(leaderProps.getNodeName())
+ .setNode(leader.getNodeName())
.process(cloudClient)
.isSuccess());
diff --git
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
index 0a2a7ae6099..fd984b244f5 100644
---
a/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
+++
b/solr/test-framework/src/java/org/apache/solr/cloud/api/collections/AbstractCollectionsAPIDistributedZkTestBase.java
@@ -54,7 +54,6 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.params.CoreAdminParams;
@@ -565,13 +564,12 @@ public abstract class
AbstractCollectionsAPIDistributedZkTestBase extends SolrCl
if (collectionState != null) {
for (Slice shard : collectionState) {
for (Replica replica : shard) {
- ZkCoreNodeProps coreProps = new ZkCoreNodeProps(replica);
CoreStatusResponse.SingleCoreData coreStatus;
- try (SolrClient server = getHttpSolrClient(coreProps.getBaseUrl())) {
- coreStatus =
CoreAdminRequest.getCoreStatus(coreProps.getCoreName(), false, server);
+ try (SolrClient server = getHttpSolrClient(replica.getBaseUrl())) {
+ coreStatus = CoreAdminRequest.getCoreStatus(replica.getCoreName(),
false, server);
}
long before = coreStatus.startTime.getTime();
- urlToTime.put(coreProps.getCoreUrl(), before);
+ urlToTime.put(replica.getCoreUrl(), before);
}
}
} else {
diff --git
a/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
b/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
index d7bfc961b77..d8c1e039f78 100644
---
a/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
+++
b/solr/test-framework/src/java/org/apache/solr/handler/component/TrackingShardHandlerFactory.java
@@ -27,7 +27,6 @@ import org.apache.solr.cloud.MiniSolrCloudCluster;
import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.StrUtils;
@@ -273,7 +272,7 @@ public class TrackingShardHandlerFactory extends
HttpShardHandlerFactory {
// multiple shard addresses may be present separated by '|'
List<String> list = StrUtils.splitSmart(entry.getKey(), '|');
for (Map.Entry<String, Replica> replica :
slice.getReplicasMap().entrySet()) {
- String coreUrl = new
ZkCoreNodeProps(replica.getValue()).getCoreUrl();
+ String coreUrl = replica.getValue().getCoreUrl();
if (list.contains(coreUrl)) {
return new ArrayList<>(entry.getValue());
}