You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2020/07/14 12:58:34 UTC
[lucene-solr] branch jira/solr-14244 updated: SOLR-14244: Remove
ReplicaInfo, part 2.
This is an automated email from the ASF dual-hosted git repository.
ab pushed a commit to branch jira/solr-14244
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/jira/solr-14244 by this push:
new 6dd2963 SOLR-14244: Remove ReplicaInfo, part 2.
6dd2963 is described below
commit 6dd2963241f81322bd61087c0790fcbf62548df7
Author: Andrzej Bialecki <ab...@apache.org>
AuthorDate: Tue Jul 14 14:58:09 2020 +0200
SOLR-14244: Remove ReplicaInfo, part 2.
---
.../stream/AnalyticsShardRequestManager.java | 2 +-
.../apache/solr/cloud/ExclusiveSliceProperty.java | 4 +-
.../solr/cloud/ShardLeaderElectionContext.java | 2 +-
.../java/org/apache/solr/cloud/ZkController.java | 6 +-
.../apache/solr/cloud/api/collections/Assign.java | 6 +-
.../solr/cloud/api/collections/BackupCmd.java | 2 +-
.../cloud/api/collections/CreateSnapshotCmd.java | 2 +-
.../cloud/api/collections/DeleteReplicaCmd.java | 4 +-
.../solr/cloud/api/collections/DeleteShardCmd.java | 2 +-
.../cloud/api/collections/DeleteSnapshotCmd.java | 2 +-
.../solr/cloud/api/collections/MigrateCmd.java | 34 ++--
.../solr/cloud/api/collections/MoveReplicaCmd.java | 20 +-
.../solr/cloud/api/collections/ReplaceNodeCmd.java | 2 +-
.../solr/cloud/api/collections/RestoreCmd.java | 2 +-
.../solr/cloud/api/collections/SplitShardCmd.java | 22 +-
.../solr/cloud/autoscaling/IndexSizeTrigger.java | 2 +-
.../solr/cloud/autoscaling/MetricTrigger.java | 4 +-
.../autoscaling/sim/SimClusterStateProvider.java | 44 ++--
.../autoscaling/sim/SimNodeStateProvider.java | 2 +-
.../solr/cloud/autoscaling/sim/SimUtils.java | 4 +-
.../autoscaling/sim/SnapshotNodeStateProvider.java | 8 +-
.../apache/solr/cloud/overseer/NodeMutator.java | 6 +-
.../apache/solr/cloud/rule/ReplicaAssigner.java | 4 +-
.../src/java/org/apache/solr/core/CoreSorter.java | 4 +-
.../java/org/apache/solr/handler/IndexFetcher.java | 2 +-
.../org/apache/solr/handler/SolrConfigHandler.java | 2 +-
.../solr/handler/admin/CollectionsHandler.java | 4 +-
.../org/apache/solr/schema/ManagedIndexSchema.java | 2 +-
.../solr/search/join/ScoreJoinQParserPlugin.java | 2 +-
.../java/org/apache/solr/servlet/HttpSolrCall.java | 4 +-
.../processor/DistributedZkUpdateProcessor.java | 6 +-
.../solr/cloud/ChaosMonkeyShardSplitTest.java | 2 +-
.../solr/cloud/ClusterStateMockUtilTest.java | 2 +-
.../apache/solr/cloud/CollectionsAPISolrJTest.java | 4 +-
.../apache/solr/cloud/CreateRoutedAliasTest.java | 2 +-
.../test/org/apache/solr/cloud/DeleteNodeTest.java | 2 +-
.../org/apache/solr/cloud/DeleteReplicaTest.java | 6 +-
.../solr/cloud/DistribJoinFromCollectionTest.java | 2 +-
.../org/apache/solr/cloud/ForceLeaderTest.java | 4 +-
.../org/apache/solr/cloud/HttpPartitionTest.java | 4 +-
.../cloud/LeaderFailoverAfterPartitionTest.java | 6 +-
.../cloud/LeaderFailureAfterFreshStartTest.java | 2 +-
.../apache/solr/cloud/LeaderTragicEventTest.java | 4 +-
.../solr/cloud/LeaderVoteWaitTimeoutTest.java | 6 +-
.../solr/cloud/MoveReplicaHDFSFailoverTest.java | 6 +-
.../org/apache/solr/cloud/MoveReplicaTest.java | 20 +-
.../apache/solr/cloud/PeerSyncReplicationTest.java | 2 +-
.../cloud/RoutingToNodesWithPropertiesTest.java | 4 +-
.../cloud/SharedFSAutoReplicaFailoverTest.java | 6 +-
.../test/org/apache/solr/cloud/SyncSliceTest.java | 2 +-
.../apache/solr/cloud/TestCloudConsistency.java | 2 +-
.../apache/solr/cloud/TestCloudDeleteByQuery.java | 10 +-
.../org/apache/solr/cloud/TestCloudRecovery2.java | 2 +-
.../solr/cloud/TestCloudSearcherWarming.java | 4 +-
.../org/apache/solr/cloud/TestPullReplica.java | 4 +-
.../apache/solr/cloud/TestRebalanceLeaders.java | 4 +-
.../solr/cloud/TestShortCircuitedRequests.java | 2 +-
.../solr/cloud/TestStressInPlaceUpdates.java | 2 +-
.../solr/cloud/TestTlogReplayVsRecovery.java | 2 +-
.../org/apache/solr/cloud/TestTlogReplica.java | 6 +-
.../cloud/TestTolerantUpdateProcessorCloud.java | 10 +-
.../org/apache/solr/cloud/TestUtilizeNode.java | 2 +-
.../org/apache/solr/cloud/TestWithCollection.java | 30 +--
.../AbstractCloudBackupRestoreTestCase.java | 2 +-
.../collections/CollectionTooManyReplicasTest.java | 4 +-
.../CollectionsAPIAsyncDistributedZkTest.java | 2 +-
.../CollectionsAPIDistributedZkTest.java | 2 +-
.../api/collections/ReplicaPropertiesBase.java | 10 +-
.../solr/cloud/api/collections/ShardSplitTest.java | 2 +-
.../cloud/api/collections/TestCollectionAPI.java | 4 +-
.../TestCollectionsAPIViaSolrCloudCluster.java | 8 +-
.../AutoAddReplicasIntegrationTest.java | 2 +-
.../cloud/autoscaling/AutoScalingHandlerTest.java | 6 +-
.../cloud/autoscaling/ComputePlanActionTest.java | 3 +-
.../IndexSizeTriggerSizeEstimationTest.java | 4 +-
.../SearchRateTriggerIntegrationTest.java | 3 +-
.../cloud/autoscaling/SearchRateTriggerTest.java | 12 +-
.../cloud/autoscaling/SystemLogListenerTest.java | 2 +-
.../solr/cloud/autoscaling/TestPolicyCloud.java | 31 ++-
.../autoscaling/sim/SimSolrCloudTestCase.java | 11 +-
.../sim/TestSimClusterStateProvider.java | 3 +-
.../cloud/autoscaling/sim/TestSimLargeCluster.java | 4 +-
.../cloud/autoscaling/sim/TestSimPolicyCloud.java | 21 +-
.../autoscaling/sim/TestSimTriggerIntegration.java | 4 +-
.../autoscaling/sim/TestSnapshotCloudManager.java | 21 +-
.../solr/cloud/cdcr/BaseCdcrDistributedZkTest.java | 4 +-
.../org/apache/solr/cloud/cdcr/CdcrTestsUtil.java | 2 +-
.../org/apache/solr/cloud/rule/RuleEngineTest.java | 1 -
.../test/org/apache/solr/cloud/rule/RulesTest.java | 8 +-
.../apache/solr/core/BlobRepositoryCloudTest.java | 2 +-
.../test/org/apache/solr/core/CoreSorterTest.java | 2 +-
.../admin/AutoscalingHistoryHandlerTest.java | 10 +-
.../solr/update/TestInPlaceUpdatesDistrib.java | 4 +-
.../solr/client/solrj/cloud/NodeStateProvider.java | 2 +-
.../solrj/cloud/autoscaling/FreeDiskVariable.java | 2 +-
.../cloud/autoscaling/MoveReplicaSuggester.java | 2 +-
.../solrj/cloud/autoscaling/PolicyHelper.java | 4 +-
.../solrj/cloud/autoscaling/ReplicaInfoXX.java | 224 ---------------------
.../solr/client/solrj/cloud/autoscaling/Row.java | 3 +-
.../client/solrj/cloud/autoscaling/Suggester.java | 2 +-
.../client/solrj/cloud/autoscaling/Suggestion.java | 2 +-
.../client/solrj/impl/BaseCloudSolrClient.java | 4 +-
.../solrj/impl/SolrClientNodeStateProvider.java | 2 +-
.../solrj/io/stream/FeaturesSelectionStream.java | 2 +-
.../client/solrj/io/stream/TextLogitStream.java | 2 +-
.../solr/client/solrj/io/stream/TopicStream.java | 6 +-
.../solr/client/solrj/io/stream/TupleStream.java | 2 +-
.../routing/NodePreferenceRulesComparator.java | 2 +-
.../apache/solr/common/cloud/ClusterStateUtil.java | 8 +-
.../apache/solr/common/cloud/DocCollection.java | 10 +-
.../java/org/apache/solr/common/cloud/Replica.java | 148 ++++++++------
.../apache/solr/common/cloud/ZkStateReader.java | 4 +-
.../autoscaling/MoveReplicaSuggesterTest.java | 32 +--
.../client/solrj/cloud/autoscaling/TestPolicy.java | 41 ++--
.../solrj/cloud/autoscaling/TestPolicy2.java | 14 +-
.../client/solrj/io/stream/MathExpressionTest.java | 2 +-
.../solrj/io/stream/StreamDecoratorTest.java | 2 +-
.../solr/client/solrj/request/TestV2Request.java | 2 +-
.../routing/NodePreferenceRulesComparatorTest.java | 20 +-
...RequestReplicaListTransformerGeneratorTest.java | 44 ++--
.../solr/cloud/AbstractDistribZkTestBase.java | 2 +-
.../solr/cloud/AbstractFullDistribZkTestBase.java | 10 +-
.../java/org/apache/solr/cloud/ChaosMonkey.java | 2 +-
123 files changed, 483 insertions(+), 691 deletions(-)
diff --git a/solr/contrib/analytics/src/java/org/apache/solr/analytics/stream/AnalyticsShardRequestManager.java b/solr/contrib/analytics/src/java/org/apache/solr/analytics/stream/AnalyticsShardRequestManager.java
index 59c3305..4ce5eb6 100644
--- a/solr/contrib/analytics/src/java/org/apache/solr/analytics/stream/AnalyticsShardRequestManager.java
+++ b/solr/contrib/analytics/src/java/org/apache/solr/analytics/stream/AnalyticsShardRequestManager.java
@@ -114,7 +114,7 @@ public class AnalyticsShardRequestManager {
Collection<Replica> replicas = slice.getReplicas();
List<Replica> shuffler = new ArrayList<>();
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode()))
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName()))
shuffler.add(replica);
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/ExclusiveSliceProperty.java b/solr/core/src/java/org/apache/solr/cloud/ExclusiveSliceProperty.java
index 20f37ae..448f455 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ExclusiveSliceProperty.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ExclusiveSliceProperty.java
@@ -133,8 +133,8 @@ class ExclusiveSliceProperty {
}
continue;
}
- allHosts.add(replica.getNode());
- String nodeName = replica.getNode();
+ allHosts.add(replica.getNodeName());
+ String nodeName = replica.getNodeName();
if (StringUtils.isNotBlank(replica.getStr(property))) {
if (sliceHasProp) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
diff --git a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContext.java b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContext.java
index b7eddc6..f6c96ca 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContext.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContext.java
@@ -352,7 +352,7 @@ final class ShardLeaderElectionContext extends ShardLeaderElectionContextBase {
for (Replica replica : slices.getReplicas()) {
if (replica.getName().equals(coreNodeName)) continue;
- if (clusterState.getLiveNodes().contains(replica.getNode())) {
+ if (clusterState.getLiveNodes().contains(replica.getNodeName())) {
long otherTerm = zkShardTerms.getTerm(replica.getName());
boolean isOtherReplicaRecovering = zkShardTerms.isRecovering(replica.getName());
diff --git a/solr/core/src/java/org/apache/solr/cloud/ZkController.java b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
index cc44704..c50581c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ZkController.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ZkController.java
@@ -730,7 +730,7 @@ public class ZkController implements Closeable {
int numActiveReplicas = shard.getReplicas(
rep -> rep.getState() == Replica.State.ACTIVE
&& rep.getType() != Type.PULL
- && getClusterState().getLiveNodes().contains(rep.getNode())
+ && getClusterState().getLiveNodes().contains(rep.getNodeName())
).size();
// at least the leader still be able to search, we should give up leadership if other replicas can take over
@@ -1355,7 +1355,7 @@ public class ZkController implements Closeable {
Replica replica = slice.getReplica(coreNodeName);
if (replica == null) return null;
- if (!getNodeName().equals(replica.getNode())) return null;
+ if (!getNodeName().equals(replica.getNodeName())) return null;
return replica;
}
@@ -1857,7 +1857,7 @@ public class ZkController implements Closeable {
Replica replica = zkStateReader.getClusterState().getCollection(cloudDesc.getCollectionName())
.getSlice(cloudDesc.getShardId())
.getReplica(cloudDesc.getCoreNodeName());
- return !replica.getNode().equals(getNodeName());
+ return !replica.getNodeName().equals(getNodeName());
}
private void checkStateInZk(CoreDescriptor cd) throws InterruptedException, NotInClusterStateException {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
index debd65d..98a399a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/Assign.java
@@ -421,7 +421,7 @@ public class Assign {
for (Slice slice : c.getSlices()) {
Collection<Replica> replicas = slice.getReplicas();
for (Replica replica : replicas) {
- ReplicaCount count = nodeNameVsShardCount.get(replica.getNode());
+ ReplicaCount count = nodeNameVsShardCount.get(replica.getNodeName());
if (count != null) {
count.totalNodes++; // Used to "weigh" whether this node should be used later.
if (entry.getKey().equals(collectionName)) {
@@ -614,9 +614,9 @@ public class Assign {
LinkedHashMap<String, Integer> n = new LinkedHashMap<>();
shardVsNodes.put(slice.getName(), n);
for (Replica replica : slice.getReplicas()) {
- Integer count = n.get(replica.getNode());
+ Integer count = n.get(replica.getNodeName());
if (count == null) count = 0;
- n.put(replica.getNode(), ++count);
+ n.put(replica.getNodeName(), ++count);
}
}
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
index bd93539..6ff3797 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/BackupCmd.java
@@ -226,7 +226,7 @@ public class BackupCmd implements OverseerCollectionMessageHandler.Cmd {
params.set(CoreAdminParams.COMMIT_NAME, snapshotMeta.get().getName());
}
- shardRequestTracker.sendShardRequest(replica.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(replica.getNodeName(), params, shardHandler);
log.debug("Sent backup request to core={} for backupName={}", coreName, backupName);
}
log.debug("Sent backup requests to all shard leaders for backupName={}", backupName);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
index f0697fa..e3d8ab5 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateSnapshotCmd.java
@@ -116,7 +116,7 @@ public class CreateSnapshotCmd implements OverseerCollectionMessageHandler.Cmd {
params.set(CORE_NAME_PROP, coreName);
params.set(CoreAdminParams.COMMIT_NAME, commitName);
- shardRequestTracker.sendShardRequest(replica.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(replica.getNodeName(), params, shardHandler);
log.debug("Sent createsnapshot request to core={} with commitName={}", coreName, commitName);
shardByCoreName.put(coreName, slice);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
index 0696878..ff168c4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
@@ -245,10 +245,10 @@ public class DeleteReplicaCmd implements Cmd {
params.set(CoreAdminParams.DELETE_DATA_DIR, message.getBool(CoreAdminParams.DELETE_DATA_DIR, true));
params.set(CoreAdminParams.DELETE_METRICS_HISTORY, message.getBool(CoreAdminParams.DELETE_METRICS_HISTORY, true));
- boolean isLive = ocmh.zkStateReader.getClusterState().getLiveNodes().contains(replica.getNode());
+ boolean isLive = ocmh.zkStateReader.getClusterState().getLiveNodes().contains(replica.getNodeName());
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
if (isLive) {
- shardRequestTracker.sendShardRequest(replica.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(replica.getNodeName(), params, shardHandler);
}
Callable<Boolean> callable = () -> {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
index fb654eb..ff7edfa 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteShardCmd.java
@@ -165,7 +165,7 @@ public class DeleteShardCmd implements OverseerCollectionMessageHandler.Cmd {
SHARD_ID_PROP, slice.getName(),
ZkStateReader.CORE_NAME_PROP, replica.getCoreName(),
ZkStateReader.REPLICA_PROP, replica.getName(),
- CoreAdminParams.NODE, replica.getNode());
+ CoreAdminParams.NODE, replica.getNodeName());
sourceReplicas.add(props);
}
return sourceReplicas;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
index 7601258..9e4388b 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteSnapshotCmd.java
@@ -122,7 +122,7 @@ public class DeleteSnapshotCmd implements OverseerCollectionMessageHandler.Cmd {
params.set(CoreAdminParams.COMMIT_NAME, commitName);
log.info("Sending deletesnapshot request to core={} with commitName={}", coreName, commitName);
- shardRequestTracker.sendShardRequest(replica.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(replica.getNodeName(), params, shardHandler);
}
}
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
index 4b7ea6c..85bac4b 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
@@ -180,7 +180,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
if (log.isInfoEnabled()) {
log.info("Asking target leader node: {} core: {} to buffer updates"
- , targetLeader.getNode(), targetLeader.getStr("core"));
+ , targetLeader.getNodeName(), targetLeader.getStr("core"));
}
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(CoreAdminParams.ACTION, CoreAdminParams.CoreAdminAction.REQUESTBUFFERUPDATES.toString());
@@ -188,7 +188,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
- shardRequestTracker.sendShardRequest(targetLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(targetLeader.getNodeName(), params, shardHandler);
shardRequestTracker.processResponses(results, shardHandler, true, "MIGRATE failed to request node to buffer updates");
}
@@ -237,7 +237,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
NRT_REPLICAS, 1,
OverseerCollectionMessageHandler.NUM_SLICES, 1,
CollectionAdminParams.COLL_CONF, configName,
- OverseerCollectionMessageHandler.CREATE_NODE_SET, sourceLeader.getNode());
+ OverseerCollectionMessageHandler.CREATE_NODE_SET, sourceLeader.getNodeName());
if (asyncId != null) {
String internalAsyncId = asyncId + Math.abs(System.nanoTime());
props.put(ASYNC, internalAsyncId);
@@ -252,14 +252,14 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
String tempCollectionReplica1 = tempSourceLeader.getCoreName();
String coreNodeName = ocmh.waitForCoreNodeName(tempSourceCollectionName,
- sourceLeader.getNode(), tempCollectionReplica1);
+ sourceLeader.getNodeName(), tempCollectionReplica1);
// wait for the replicas to be seen as active on temp source leader
if (log.isInfoEnabled()) {
- log.info("Asking source leader to wait for: {} to be alive on: {}", tempCollectionReplica1, sourceLeader.getNode());
+ log.info("Asking source leader to wait for: {} to be alive on: {}", tempCollectionReplica1, sourceLeader.getNodeName());
}
CoreAdminRequest.WaitForState cmd = new CoreAdminRequest.WaitForState();
cmd.setCoreName(tempCollectionReplica1);
- cmd.setNodeName(sourceLeader.getNode());
+ cmd.setNodeName(sourceLeader.getNodeName());
cmd.setCoreNodeName(coreNodeName);
cmd.setState(Replica.State.ACTIVE);
cmd.setCheckLive(true);
@@ -267,7 +267,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker syncRequestTracker = ocmh.syncRequestTracker();
// we don't want this to happen asynchronously
- syncRequestTracker.sendShardRequest(tempSourceLeader.getNode(), new ModifiableSolrParams(cmd.getParams()),
+ syncRequestTracker.sendShardRequest(tempSourceLeader.getNodeName(), new ModifiableSolrParams(cmd.getParams()),
shardHandler);
syncRequestTracker.processResponses(results, shardHandler, true,
@@ -283,7 +283,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
params.set(CoreAdminParams.RANGES, splitRange.toString());
params.set("split.key", splitKey);
- String tempNodeName = sourceLeader.getNode();
+ String tempNodeName = sourceLeader.getNodeName();
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
@@ -292,7 +292,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
}
if (log.isInfoEnabled()) {
log.info("Creating a replica of temporary collection: {} on the target leader node: {}",
- tempSourceCollectionName, targetLeader.getNode());
+ tempSourceCollectionName, targetLeader.getNodeName());
}
String tempCollectionReplica2 = Assign.buildSolrCoreName(ocmh.overseer.getSolrCloudManager().getDistribStateManager(),
zkStateReader.getClusterState().getCollection(tempSourceCollectionName), tempSourceSlice.getName(), Replica.Type.NRT);
@@ -300,7 +300,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
props.put(Overseer.QUEUE_OPERATION, ADDREPLICA.toLower());
props.put(COLLECTION_PROP, tempSourceCollectionName);
props.put(SHARD_ID_PROP, tempSourceSlice.getName());
- props.put("node", targetLeader.getNode());
+ props.put("node", targetLeader.getNodeName());
props.put(CoreAdminParams.NAME, tempCollectionReplica2);
// copy over property params:
for (String key : message.keySet()) {
@@ -320,14 +320,14 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
"temporary collection in target leader node.");
}
coreNodeName = ocmh.waitForCoreNodeName(tempSourceCollectionName,
- targetLeader.getNode(), tempCollectionReplica2);
+ targetLeader.getNodeName(), tempCollectionReplica2);
// wait for the replicas to be seen as active on temp source leader
if (log.isInfoEnabled()) {
- log.info("Asking temp source leader to wait for: {} to be alive on: {}", tempCollectionReplica2, targetLeader.getNode());
+ log.info("Asking temp source leader to wait for: {} to be alive on: {}", tempCollectionReplica2, targetLeader.getNodeName());
}
cmd = new CoreAdminRequest.WaitForState();
cmd.setCoreName(tempSourceLeader.getStr("core"));
- cmd.setNodeName(targetLeader.getNode());
+ cmd.setNodeName(targetLeader.getNodeName());
cmd.setCoreNodeName(coreNodeName);
cmd.setState(Replica.State.ACTIVE);
cmd.setCheckLive(true);
@@ -336,7 +336,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
- shardRequestTracker.sendShardRequest(tempSourceLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(tempSourceLeader.getNodeName(), params, shardHandler);
shardRequestTracker.processResponses(results, shardHandler, true, "MIGRATE failed to create temp collection" +
" replica or timed out waiting for them to come up");
@@ -352,9 +352,9 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
- shardRequestTracker.sendShardRequest(targetLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(targetLeader.getNodeName(), params, shardHandler);
String msg = "MIGRATE failed to merge " + tempCollectionReplica2 + " to "
- + targetLeader.getStr("core") + " on node: " + targetLeader.getNode();
+ + targetLeader.getStr("core") + " on node: " + targetLeader.getNodeName();
shardRequestTracker.processResponses(results, shardHandler, true, msg);
}
log.info("Asking target leader to apply buffered updates");
@@ -364,7 +364,7 @@ public class MigrateCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
- shardRequestTracker.sendShardRequest(targetLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(targetLeader.getNodeName(), params, shardHandler);
shardRequestTracker.processResponses(results, shardHandler, true, "MIGRATE failed to request node to apply buffered updates");
}
try {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
index 4d886f1..f567b2e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MoveReplicaCmd.java
@@ -117,7 +117,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "'" + SHARD_ID_PROP + "' is a required param");
}
Slice slice = coll.getSlice(shardId);
- List<Replica> sliceReplicas = new ArrayList<>(slice.getReplicas(r -> sourceNode.equals(r.getNode())));
+ List<Replica> sliceReplicas = new ArrayList<>(slice.getReplicas(r -> sourceNode.equals(r.getNodeName())));
if (sliceReplicas.isEmpty()) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"Collection: " + collection + " node: " + sourceNode + " does not have any replica belonging to shard: " + shardId);
@@ -128,18 +128,18 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
if (coll.getStr(CollectionAdminParams.COLOCATED_WITH) != null) {
// we must ensure that moving this replica does not cause the co-location to break
- String sourceNode = replica.getNode();
+ String sourceNode = replica.getNodeName();
String colocatedCollectionName = coll.getStr(CollectionAdminParams.COLOCATED_WITH);
DocCollection colocatedCollection = clusterState.getCollectionOrNull(colocatedCollectionName);
if (colocatedCollection != null) {
- if (colocatedCollection.getReplica((s, r) -> sourceNode.equals(r.getNode())) != null) {
+ if (colocatedCollection.getReplica((s, r) -> sourceNode.equals(r.getNodeName())) != null) {
// check if we have at least two replicas of the collection on the source node
// only then it is okay to move one out to another node
- List<Replica> replicasOnSourceNode = coll.getReplicas(replica.getNode());
+ List<Replica> replicasOnSourceNode = coll.getReplicas(replica.getNodeName());
if (replicasOnSourceNode == null || replicasOnSourceNode.size() < 2) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"Collection: " + collection + " is co-located with collection: " + colocatedCollectionName
- + " and has a single replica: " + replica.getName() + " on node: " + replica.getNode()
+ + " and has a single replica: " + replica.getName() + " on node: " + replica.getNodeName()
+ " so it is not possible to move it to another node");
}
}
@@ -170,7 +170,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
private void moveHdfsReplica(ClusterState clusterState, @SuppressWarnings({"rawtypes"})NamedList results, String dataDir, String targetNode, String async,
DocCollection coll, Replica replica, Slice slice, int timeout, boolean waitForFinalState) throws Exception {
String skipCreateReplicaInClusterState = "true";
- if (clusterState.getLiveNodes().contains(replica.getNode())) {
+ if (clusterState.getLiveNodes().contains(replica.getNodeName())) {
skipCreateReplicaInClusterState = "false";
ZkNodeProps removeReplicasProps = new ZkNodeProps(
COLLECTION_PROP, coll.getName(),
@@ -236,7 +236,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
" on node=%s, failure=%s", coll.getName(), slice.getName(), targetNode, addResult.get("failure"));
results.add("failure", errorString);
log.warn("Error adding replica {} - trying to roll back...", addReplicasProps, e);
- addReplicasProps = addReplicasProps.plus(CoreAdminParams.NODE, replica.getNode());
+ addReplicasProps = addReplicasProps.plus(CoreAdminParams.NODE, replica.getNodeName());
@SuppressWarnings({"rawtypes"})
NamedList rollback = new NamedList();
ocmh.addReplica(ocmh.zkStateReader.getClusterState(), addReplicasProps, rollback, null);
@@ -253,7 +253,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
results.add("failure", errorString);
log.debug("--- trying to roll back...");
// try to roll back
- addReplicasProps = addReplicasProps.plus(CoreAdminParams.NODE, replica.getNode());
+ addReplicasProps = addReplicasProps.plus(CoreAdminParams.NODE, replica.getNodeName());
@SuppressWarnings({"rawtypes"})
NamedList rollback = new NamedList();
try {
@@ -269,7 +269,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
return;
} else {
String successString = String.format(Locale.ROOT, "MOVEREPLICA action completed successfully, moved replica=%s at node=%s " +
- "to replica=%s at node=%s", replica.getCoreName(), replica.getNode(), replica.getCoreName(), targetNode);
+ "to replica=%s at node=%s", replica.getCoreName(), replica.getNodeName(), replica.getCoreName(), targetNode);
results.add("success", successString);
}
}
@@ -346,7 +346,7 @@ public class MoveReplicaCmd implements OverseerCollectionMessageHandler.Cmd {
results.add("failure", errorString);
} else {
String successString = String.format(Locale.ROOT, "MOVEREPLICA action completed successfully, moved replica=%s at node=%s " +
- "to replica=%s at node=%s", replica.getCoreName(), replica.getNode(), newCoreName, targetNode);
+ "to replica=%s at node=%s", replica.getCoreName(), replica.getNodeName(), newCoreName, targetNode);
results.add("success", successString);
}
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
index 77a0f5c..f1c1f8c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/ReplaceNodeCmd.java
@@ -242,7 +242,7 @@ public class ReplaceNodeCmd implements OverseerCollectionMessageHandler.Cmd {
for (Map.Entry<String, DocCollection> e : state.getCollectionsMap().entrySet()) {
for (Slice slice : e.getValue().getSlices()) {
for (Replica replica : slice.getReplicas()) {
- if (source.equals(replica.getNode())) {
+ if (source.equals(replica.getNodeName())) {
ZkNodeProps props = new ZkNodeProps(
COLLECTION_PROP, e.getKey(),
SHARD_ID_PROP, slice.getName(),
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
index 3923e59..f800979 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
@@ -330,7 +330,7 @@ public class RestoreCmd implements OverseerCollectionMessageHandler.Cmd {
for (Slice s : restoreCollection.getSlices()) {
for (Replica r : s.getReplicas()) {
- String nodeName = r.getNode();
+ String nodeName = r.getNodeName();
String coreNodeName = r.getCoreName();
Replica.State stateRep = r.getState();
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
index e14c5ef..0df9d09 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java
@@ -157,10 +157,10 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
t.stop();
// let's record the ephemeralOwner of the parent leader node
- Stat leaderZnodeStat = zkStateReader.getZkClient().exists(ZkStateReader.LIVE_NODES_ZKNODE + "/" + parentShardLeader.getNode(), null, true);
+ Stat leaderZnodeStat = zkStateReader.getZkClient().exists(ZkStateReader.LIVE_NODES_ZKNODE + "/" + parentShardLeader.getNodeName(), null, true);
if (leaderZnodeStat == null) {
// we just got to know the leader but its live node is gone already!
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "The shard leader node: " + parentShardLeader.getNode() + " is not live anymore!");
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "The shard leader node: " + parentShardLeader.getNodeName() + " is not live anymore!");
}
List<DocRouter.Range> subRanges = new ArrayList<>();
@@ -224,7 +224,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
{
final ShardRequestTracker shardRequestTracker = ocmh.syncRequestTracker();
- shardRequestTracker.sendShardRequest(parentShardLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(parentShardLeader.getNodeName(), params, shardHandler);
SimpleOrderedMap<Object> getRangesResults = new SimpleOrderedMap<>();
String msgOnError = "SPLITSHARD failed to invoke SPLIT.getRanges core admin command";
shardRequestTracker.processResponses(getRangesResults, shardHandler, true, msgOnError);
@@ -287,7 +287,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
collection = clusterState.getCollection(collectionName);
}
- String nodeName = parentShardLeader.getNode();
+ String nodeName = parentShardLeader.getNodeName();
t = timings.sub("createSubSlicesAndLeadersInState");
for (int i = 0; i < subRanges.size(); i++) {
@@ -389,7 +389,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
t = timings.sub("splitParentCore");
{
final ShardRequestTracker shardRequestTracker = ocmh.asyncRequestTracker(asyncId);
- shardRequestTracker.sendShardRequest(parentShardLeader.getNode(), params, shardHandler);
+ shardRequestTracker.sendShardRequest(parentShardLeader.getNodeName(), params, shardHandler);
String msgOnError = "SPLITSHARD failed to invoke SPLIT core admin command";
shardRequestTracker.processResponses(results, shardHandler, true, msgOnError);
@@ -514,7 +514,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
long ephemeralOwner = leaderZnodeStat.getEphemeralOwner();
// compare against the ephemeralOwner of the parent leader node
- leaderZnodeStat = zkStateReader.getZkClient().exists(ZkStateReader.LIVE_NODES_ZKNODE + "/" + parentShardLeader.getNode(), null, true);
+ leaderZnodeStat = zkStateReader.getZkClient().exists(ZkStateReader.LIVE_NODES_ZKNODE + "/" + parentShardLeader.getNodeName(), null, true);
if (leaderZnodeStat == null || ephemeralOwner != leaderZnodeStat.getEphemeralOwner()) {
// put sub-shards in recovery_failed state
@@ -529,11 +529,11 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
if (leaderZnodeStat == null) {
// the leader is not live anymore, fail the split!
- throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "The shard leader node: " + parentShardLeader.getNode() + " is not live anymore!");
+ throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "The shard leader node: " + parentShardLeader.getNodeName() + " is not live anymore!");
} else if (ephemeralOwner != leaderZnodeStat.getEphemeralOwner()) {
// there's a new leader, fail the split!
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
- "The zk session id for the shard leader node: " + parentShardLeader.getNode() + " has changed from "
+ "The zk session id for the shard leader node: " + parentShardLeader.getNodeName() + " has changed from "
+ ephemeralOwner + " to " + leaderZnodeStat.getEphemeralOwner() + ". This can cause data loss so we must abort the split");
}
}
@@ -635,9 +635,9 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
// check that enough disk space is available on the parent leader node
// otherwise the actual index splitting will always fail
NodeStateProvider nodeStateProvider = cloudManager.getNodeStateProvider();
- Map<String, Object> nodeValues = nodeStateProvider.getNodeValues(parentShardLeader.getNode(),
+ Map<String, Object> nodeValues = nodeStateProvider.getNodeValues(parentShardLeader.getNodeName(),
Collections.singletonList(ImplicitSnitch.DISK));
- Map<String, Map<String, List<Replica>>> infos = nodeStateProvider.getReplicaInfo(parentShardLeader.getNode(),
+ Map<String, Map<String, List<Replica>>> infos = nodeStateProvider.getReplicaInfo(parentShardLeader.getNodeName(),
Collections.singletonList(Type.CORE_IDX.metricsAttribute));
if (infos.get(collection) == null || infos.get(collection).get(shard) == null) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "missing replica information for parent shard leader");
@@ -666,7 +666,7 @@ public class SplitShardCmd implements OverseerCollectionMessageHandler.Cmd {
double neededSpace = method == SolrIndexSplitter.SplitMethod.REWRITE ? 2.0 * indexSize : 1.05 * indexSize;
if (freeSize.doubleValue() < neededSpace) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "not enough free disk space to perform index split on node " +
- parentShardLeader.getNode() + ", required: " + neededSpace + ", available: " + freeSize);
+ parentShardLeader.getNodeName() + ", required: " + neededSpace + ", available: " + freeSize);
}
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/IndexSizeTrigger.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/IndexSizeTrigger.java
index b276036..e987828 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/IndexSizeTrigger.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/IndexSizeTrigger.java
@@ -288,7 +288,7 @@ public class IndexSizeTrigger extends TriggerBase {
return;
}
// not on this node
- if (!r.getNode().equals(node)) {
+ if (!r.getNodeName().equals(node)) {
return;
}
// find ReplicaInfo
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/MetricTrigger.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/MetricTrigger.java
index 0b9b055..573ac77 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/MetricTrigger.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/MetricTrigger.java
@@ -133,7 +133,7 @@ public class MetricTrigger extends TriggerBase {
}
if (shard.equals(Policy.ANY)) {
docCollection.getReplicas().forEach(replica -> {
- nodes.add(replica.getNode());
+ nodes.add(replica.getNodeName());
});
} else {
Slice slice = docCollection.getSlice(shard);
@@ -141,7 +141,7 @@ public class MetricTrigger extends TriggerBase {
log.warn("MetricTrigger could not find collection: {} shard: {}", collection, shard);
return;
}
- slice.getReplicas().forEach(replica -> nodes.add(replica.getNode()));
+ slice.getReplicas().forEach(replica -> nodes.add(replica.getNodeName()));
}
liveNodes = nodes;
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
index 563fd05..19866d6 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
@@ -359,17 +359,17 @@ public class SimClusterStateProvider implements ClusterStateProvider {
if (leader != null && r.getName().equals(leader.getName())) {
props.put("leader", "true");
}
- Replica ri = new Replica(r.getName(), r.getNode(), dc.getName(), s.getName(), r.getCoreName(), r.isLeader,
+ Replica ri = new Replica(r.getName(), r.getNodeName(), dc.getName(), s.getName(), r.getCoreName(),
r.getState(), r.getType(), props);
if (leader != null && r.getName().equals(leader.getName())) {
ri.getProperties().put("leader", "true");
}
- if (liveNodes.get().contains(r.getNode())) {
- nodeReplicaMap.computeIfAbsent(r.getNode(), Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN).add(ri);
+ if (liveNodes.get().contains(r.getNodeName())) {
+ nodeReplicaMap.computeIfAbsent(r.getNodeName(), Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN).add(ri);
colShardReplicaMap.computeIfAbsent(ri.getCollection(), name -> new ConcurrentHashMap<>())
.computeIfAbsent(ri.getShard(), shard -> new ArrayList<>()).add(ri);
} else {
- log.warn("- dropping replica because its node {} is not live: {}", r.getNode(), r);
+ log.warn("- dropping replica because its node {} is not live: {}", r.getNodeName(), r);
}
});
});
@@ -415,7 +415,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
private Replica getReplicaInfo(Replica r) {
@SuppressWarnings({"unchecked"})
final List<Replica> list = nodeReplicaMap.computeIfAbsent
- (r.getNode(), Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
+ (r.getNodeName(), Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
synchronized (list) {
for (Replica ri : list) {
if (r.getCoreName().equals(ri.getCoreName()) && r.getName().equals(ri.getName())) {
@@ -532,7 +532,8 @@ public class SimClusterStateProvider implements ClusterStateProvider {
List<Replica> replicas = nodeReplicaMap.computeIfAbsent(nodeId, Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
synchronized (replicas) {
replicas.forEach(r -> {
- r.getProperties().put(ZkStateReader.STATE_PROP, state.toString());
+ r.setState(state);
+ //r.getProperties().put(ZkStateReader.STATE_PROP, state.toString());
if (state != Replica.State.ACTIVE) {
r.getProperties().remove(ZkStateReader.LEADER_PROP);
}
@@ -634,12 +635,11 @@ public class SimClusterStateProvider implements ClusterStateProvider {
createReplica.collectionName,
createReplica.sliceName,
createReplica.coreName,
- false,
Replica.State.DOWN,
createReplica.replicaType,
message.getProperties()
);
- simAddReplica(ri.getNode(), ri, true);
+ simAddReplica(ri.getNodeName(), ri, true);
}
if (sessionWrapper.get() != null) {
sessionWrapper.get().release();
@@ -686,17 +686,17 @@ public class SimClusterStateProvider implements ClusterStateProvider {
if (replicaInfo.getName() == null) {
throw new Exception("Missing name: " + replicaInfo);
}
- if (replicaInfo.getNode() == null) {
+ if (replicaInfo.getNodeName() == null) {
throw new Exception("Missing node: " + replicaInfo);
}
- if (!replicaInfo.getNode().equals(nodeId)) {
+ if (!replicaInfo.getNodeName().equals(nodeId)) {
throw new Exception("Wrong node (not " + nodeId + "): " + replicaInfo);
}
opDelay(replicaInfo.getCollection(), CollectionParams.CollectionAction.ADDREPLICA.name());
// mark replica as active
- replicaInfo.getProperties().put(ZkStateReader.STATE_PROP, Replica.State.ACTIVE.toString());
+ replicaInfo.setState(Replica.State.ACTIVE);
// add a property expected in Policy calculations, if missing
if (replicaInfo.get(Type.CORE_IDX.metricsAttribute) == null) {
replicaInfo.getProperties().put(Type.CORE_IDX.metricsAttribute, new AtomicLong(SimCloudManager.DEFAULT_IDX_SIZE_BYTES));
@@ -892,7 +892,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
}
final Replica leader = s.getLeader();
- if (null != leader && liveNodes.contains(leader.getNode())) {
+ if (null != leader && liveNodes.contains(leader.getNodeName())) {
log.trace("-- already has livenode leader, skipping leader election {} / {}",
collection, slice);
return;
@@ -932,7 +932,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
if (log.isTraceEnabled()) {
log.trace("-- replica not active on live nodes: {}, {}", liveNodes.get(), r);
}
- if (!liveNodes.contains(r.getNode())) {
+ if (!liveNodes.contains(r.getNodeName())) {
ri.getProperties().put(ZkStateReader.STATE_PROP, Replica.State.DOWN.toString());
ri.getProperties().remove(ZkStateReader.LEADER_PROP);
stateChanged.set(true);
@@ -1109,7 +1109,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
replicaProps.put("SEARCHER.searcher.numDocs", new AtomicLong(0));
replicaProps.put("SEARCHER.searcher.maxDoc", new AtomicLong(0));
Replica ri = new Replica("core_node" + Assign.incAndGetId(stateManager, withCollection, 0),
- pos.node, withCollection, withCollectionShard, coreName, false, Replica.State.DOWN,
+ pos.node, withCollection, withCollectionShard, coreName, Replica.State.DOWN,
pos.type, replicaProps);
cloudManager.submit(() -> {
simAddReplica(pos.node, ri, false);
@@ -1133,7 +1133,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
replicaProps.put("SEARCHER.searcher.numDocs", new AtomicLong(0));
replicaProps.put("SEARCHER.searcher.maxDoc", new AtomicLong(0));
Replica ri = new Replica("core_node" + Assign.incAndGetId(stateManager, collectionName, 0),
- pos.node, collectionName, pos.shard, coreName, false, Replica.State.DOWN,
+ pos.node, collectionName, pos.shard, coreName, Replica.State.DOWN,
pos.type, replicaProps);
cloudManager.submit(() -> {
simAddReplica(pos.node, ri, true);
@@ -1320,12 +1320,12 @@ public class SimClusterStateProvider implements ClusterStateProvider {
.filter(e -> !NO_COPY_PROPS.contains(e.getKey()))
.collect(Collectors.toMap(e -> e.getKey(), e -> e.getValue()));
Replica newReplica = new Replica(coreNodeName, targetNode, collection, slice.getName(), newSolrCoreName,
- false, Replica.State.DOWN, replica.getType(), props);
+ Replica.State.DOWN, replica.getType(), props);
log.debug("-- new replica: {}", newReplica);
// xxx should run leader election here already?
simAddReplica(targetNode, newReplica, false);
// this will trigger leader election
- simRemoveReplica(replica.getNode(), collection, replica.getName());
+ simRemoveReplica(replica.getNodeName(), collection, replica.getName());
results.add("success", "");
}
@@ -1510,7 +1510,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
replicaProps.put(Variable.coreidxsize, new AtomicDouble((Double)Type.CORE_IDX.convertVal(replicasIndexSize)));
Replica ri = new Replica("core_node" + Assign.incAndGetId(stateManager, collectionName, 0),
- subShardNodeName, collectionName, replicaPosition.shard, solrCoreName, false,
+ subShardNodeName, collectionName, replicaPosition.shard, solrCoreName,
Replica.State.DOWN, replicaPosition.type, replicaProps);
simAddReplica(replicaPosition.node, ri, false);
}
@@ -1718,7 +1718,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
// this is somewhat wrong - we should wait until buffered updates are applied
// but this way the freedisk changes are much easier to track
s.getReplicas().forEach(r ->
- freediskDeltaPerNode.computeIfAbsent(r.getNode(), node -> new AtomicLong(0))
+ freediskDeltaPerNode.computeIfAbsent(r.getNodeName(), node -> new AtomicLong(0))
.addAndGet(DEFAULT_DOC_SIZE_BYTES));
AtomicLong bufferedUpdates = (AtomicLong)sliceProperties.get(collection).get(s.getName()).get(BUFFERED_UPDATES);
@@ -1793,7 +1793,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
long delta = indexSize.longValue() < SimCloudManager.DEFAULT_IDX_SIZE_BYTES ? 0 :
indexSize.longValue() - SimCloudManager.DEFAULT_IDX_SIZE_BYTES;
s.getReplicas().forEach(r ->
- freediskDeltaPerNode.computeIfAbsent(r.getNode(), node -> new AtomicLong(0))
+ freediskDeltaPerNode.computeIfAbsent(r.getNodeName(), node -> new AtomicLong(0))
.addAndGet(delta));
} else {
throw new RuntimeException("Missing index size in " + ri);
@@ -1882,7 +1882,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
modified = true;
long perSliceCount = perSlice[i];
s.getReplicas().forEach(r ->
- freediskDeltaPerNode.computeIfAbsent(r.getNode(), node -> new AtomicLong(0))
+ freediskDeltaPerNode.computeIfAbsent(r.getNodeName(), node -> new AtomicLong(0))
.addAndGet(-perSliceCount * DEFAULT_DOC_SIZE_BYTES));
AtomicLong bufferedUpdates = (AtomicLong)sliceProperties.get(collection).get(s.getName()).get(BUFFERED_UPDATES);
if (bufferedUpdates != null) {
@@ -1909,7 +1909,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
.incrementAndGet();
modified = true;
s.getReplicas().forEach(r ->
- freediskDeltaPerNode.computeIfAbsent(r.getNode(), node -> new AtomicLong())
+ freediskDeltaPerNode.computeIfAbsent(r.getNodeName(), node -> new AtomicLong())
.addAndGet(-DEFAULT_DOC_SIZE_BYTES));
AtomicLong bufferedUpdates = (AtomicLong)sliceProperties.get(collection).get(s.getName()).get(BUFFERED_UPDATES);
if (bufferedUpdates != null) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimNodeStateProvider.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimNodeStateProvider.java
index d0b7b89..e7a1fd4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimNodeStateProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimNodeStateProvider.java
@@ -293,7 +293,7 @@ public class SimNodeStateProvider implements NodeStateProvider {
String replica = m.group(3);
List<Replica> replicas = clusterStateProvider.simGetReplicaInfos(collection, shard);
replicas.forEach(r -> {
- if (r.getNode().equals(node) && r.getCoreName().endsWith(replica)) {
+ if (r.getNodeName().equals(node) && r.getCoreName().endsWith(replica)) {
Object value = r.getProperties().get(key);
if (value != null) {
values.put(tag, value);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimUtils.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimUtils.java
index a94aeac..944049e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimUtils.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimUtils.java
@@ -183,7 +183,7 @@ public class SimUtils {
coll.getSlices().forEach(s -> {
numCores.addAndGet(s.getReplicas().size());
s.getReplicas().forEach(r -> {
- nodes.computeIfAbsent(r.getNode(), n -> new HashMap<>())
+ nodes.computeIfAbsent(r.getNodeName(), n -> new HashMap<>())
.computeIfAbsent(s.getName(), slice -> new AtomicInteger()).incrementAndGet();
});
});
@@ -274,7 +274,7 @@ public class SimUtils {
}
}
perReplica.put("coreNode", ri.getName());
- if (ri.isLeader || ri.getBool("leader", false)) {
+ if (ri.isLeader() || ri.getBool("leader", false)) {
perReplica.put("leader", true);
Double totalSize = (Double)collStats.computeIfAbsent(ri.getCollection(), c -> new HashMap<>())
.computeIfAbsent("avgShardSize", size -> 0.0);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotNodeStateProvider.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotNodeStateProvider.java
index 53ff928..fca154a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotNodeStateProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotNodeStateProvider.java
@@ -69,12 +69,12 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
.computeIfAbsent(shard, s -> new ArrayList<>());
Map<String, Object> rMap = new LinkedHashMap<>();
r.toMap(rMap);
- if (r.isLeader) { // ReplicaInfo.toMap doesn't write this!!!
+ if (r.isLeader()) { // ReplicaInfo.toMap doesn't write this!!!
((Map<String, Object>)rMap.values().iterator().next()).put("leader", "true");
}
Replica ri = new Replica(rMap);
// put in "leader" again if present
- if (r.isLeader) {
+ if (r.isLeader()) {
ri.getProperties().put("leader", "true");
}
// externally produced snapshots may not include the right units
@@ -109,7 +109,7 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
List<Replica> infos = perColl.computeIfAbsent(shard, s -> new ArrayList<>());
((List<Map<String, Object>>)replicas).forEach(replicaMap -> {
Replica ri = new Replica(new LinkedHashMap<>(replicaMap)); // constructor modifies this map
- if (ri.isLeader) {
+ if (ri.isLeader()) {
ri.getProperties().put("leader", "true");
}
// externally produced snapshots may not include the right units
@@ -148,7 +148,7 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
.computeIfAbsent(shard, s -> new ArrayList<>());
Map<String, Object> rMap = new LinkedHashMap<>();
r.toMap(rMap);
- if (r.isLeader) { // ReplicaInfo.toMap doesn't write this!!!
+ if (r.isLeader()) { // ReplicaInfo.toMap doesn't write this!!!
((Map<String, Object>)rMap.values().iterator().next()).put("leader", "true");
}
myReplicas.add(rMap);
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
index bcb7f68..3f1971e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/NodeMutator.java
@@ -57,15 +57,15 @@ public class NodeMutator {
Collection<Replica> replicas = slice.getReplicas();
for (Replica replica : replicas) {
- String rNodeName = replica.getNode();
+ String rNodeName = replica.getNodeName();
if (rNodeName == null) {
throw new RuntimeException("Replica without node name! " + replica);
}
if (rNodeName.equals(nodeName)) {
log.debug("Update replica state for {} to {}", replica, Replica.State.DOWN);
Map<String, Object> props = replica.shallowCopy();
- props.put(ZkStateReader.STATE_PROP, Replica.State.DOWN.toString());
- Replica newReplica = new Replica(replica.getName(), props, collection, slice.getName());
+ Replica newReplica = new Replica(replica.getName(), replica.node, replica.collection, slice.getName(), replica.core,
+ Replica.State.DOWN, replica.type, props);
newReplicas.put(replica.getName(), newReplica);
needToUpdateCollection = true;
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
index 66273f8..6f68d1c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
+++ b/solr/core/src/java/org/apache/solr/cloud/rule/ReplicaAssigner.java
@@ -90,8 +90,8 @@ public class ReplicaAssigner {
DocCollection coll = entry.getValue();
for (Slice slice : coll.getSlices()) {
for (Replica replica : slice.getReplicas()) {
- AtomicInteger count = nodeVsCores.get(replica.getNode());
- if (count == null) nodeVsCores.put(replica.getNode(), count = new AtomicInteger());
+ AtomicInteger count = nodeVsCores.get(replica.getNodeName());
+ if (count == null) nodeVsCores.put(replica.getNodeName(), count = new AtomicInteger());
count.incrementAndGet();
}
}
diff --git a/solr/core/src/java/org/apache/solr/core/CoreSorter.java b/solr/core/src/java/org/apache/solr/core/CoreSorter.java
index 7b26c3d..06e75f2 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreSorter.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreSorter.java
@@ -102,11 +102,11 @@ public final class CoreSorter implements Comparator<CoreDescriptor> {
if (shardsVsReplicaCounts.containsKey(sliceName)) continue;
CountsForEachShard c = new CountsForEachShard(0, 0, 0);
for (Replica replica : getReplicas(state, coll, cloudDescriptor.getShardId())) {
- if (replica.getNode().equals(myNodeName)) {
+ if (replica.getNodeName().equals(myNodeName)) {
c.myReplicas++;
} else {
Set<String> liveNodes = state.getLiveNodes();
- if (liveNodes.contains(replica.getNode())) {
+ if (liveNodes.contains(replica.getNodeName())) {
c.totalReplicasInLiveNodes++;
} else {
c.totalReplicasInDownNodes++;
diff --git a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
index 1e13e7f..46c009c 100644
--- a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
+++ b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
@@ -398,7 +398,7 @@ public class IndexFetcher {
}
return IndexFetchResult.LEADER_IS_NOT_ACTIVE;
}
- if (!solrCore.getCoreContainer().getZkController().getClusterState().liveNodesContain(replica.getNode())) {
+ if (!solrCore.getCoreContainer().getZkController().getClusterState().liveNodesContain(replica.getNodeName())) {
if (log.isInfoEnabled()) {
log.info("Replica {} is leader but it's not hosted on a live node, skipping replication", replica.getName());
}
diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
index 3be40b6..9ff0e66 100644
--- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
@@ -871,7 +871,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
if (replicasMap != null) {
for (Map.Entry<String, Replica> entry : replicasMap.entrySet()) {
Replica replica = entry.getValue();
- if (replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())) {
+ if (replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())) {
activeReplicaCoreUrls.add(replica.getCoreUrl());
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index 7f9a0af..9b1cf78 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@ -1336,7 +1336,7 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
final Set<String> liveNodes = clusterState.getLiveNodes();
List<Replica> liveReplicas = slice.getReplicas().stream()
- .filter(rep -> liveNodes.contains(rep.getNode())).collect(Collectors.toList());
+ .filter(rep -> liveNodes.contains(rep.getNodeName())).collect(Collectors.toList());
boolean shouldIncreaseReplicaTerms = liveReplicas.stream()
.noneMatch(rep -> zkShardTerms.registered(rep.getName()) && zkShardTerms.canBecomeLeader(rep.getName()));
// we won't increase replica's terms if exist a live replica with term equals to leader
@@ -1424,7 +1424,7 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
log.debug("Checking replica status, collection={} replica={} state={}", collectionName,
replica.getCoreUrl(), state);
}
- if (!n.contains(replica.getNode())
+ if (!n.contains(replica.getNodeName())
|| !state.equals(Replica.State.ACTIVE.toString())) {
replicaNotAliveCnt++;
return false;
diff --git a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
index 5b7eebc..7f114d9 100644
--- a/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
@@ -303,7 +303,7 @@ public final class ManagedIndexSchema extends IndexSchema {
Replica replica = entry.getValue();
if (!localCoreNodeName.equals(replica.getName()) &&
replica.getState() == Replica.State.ACTIVE &&
- liveNodes.contains(replica.getNode())) {
+ liveNodes.contains(replica.getNodeName())) {
ZkCoreNodeProps replicaCoreProps = new ZkCoreNodeProps(replica);
activeReplicaCoreUrls.add(replicaCoreProps.getCoreUrl());
}
diff --git a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
index fac23ba..423fd25 100644
--- a/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/join/ScoreJoinQParserPlugin.java
@@ -312,7 +312,7 @@ public class ScoreJoinQParserPlugin extends QParserPlugin {
"SolrCloud join: To join with a sharded collection, use method=crossCollection.");
for (Replica replica : slice.getReplicas()) {
- if (replica.getNode().equals(nodeName)) {
+ if (replica.getNodeName().equals(nodeName)) {
fromReplica = replica.getStr(ZkStateReader.CORE_NAME_PROP);
// found local replica, but is it Active?
if (replica.getState() != Replica.State.ACTIVE)
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 29d3eaf..2b64cc0 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -960,7 +960,7 @@ public class HttpSolrCall {
RandomIterator<Replica> it = new RandomIterator<>(random, replicas);
while (it.hasNext()) {
Replica replica = it.next();
- if (liveNodes.contains(replica.getNode()) && replica.getState() == Replica.State.ACTIVE) {
+ if (liveNodes.contains(replica.getNodeName()) && replica.getState() == Replica.State.ACTIVE) {
SolrCore core = checkProps(replica);
if (core != null) return core;
}
@@ -1062,7 +1062,7 @@ public class HttpSolrCall {
Collections.shuffle(randomizedReplicas, random);
for (Replica replica : randomizedReplicas) {
- if (!activeReplicas || (liveNodes.contains(replica.getNode())
+ if (!activeReplicas || (liveNodes.contains(replica.getNodeName())
&& replica.getState() == Replica.State.ACTIVE)) {
if (byCoreName && !origCorename.equals(replica.getStr(CORE_NAME_PROP))) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
index 71cd9cb..8da2df7 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
@@ -698,7 +698,7 @@ public class DistributedZkUpdateProcessor extends DistributedUpdateProcessor {
log.debug("skip url:{} cause its term is less than leader", replica.getCoreUrl());
}
skippedCoreNodeNames.add(replica.getName());
- } else if (!clusterState.getLiveNodes().contains(replica.getNode()) || replica.getState() == Replica.State.DOWN) {
+ } else if (!clusterState.getLiveNodes().contains(replica.getNodeName()) || replica.getState() == Replica.State.DOWN) {
skippedCoreNodeNames.add(replica.getName());
} else {
nodes.add(new SolrCmdDistributor.StdNode(new ZkCoreNodeProps(replica), collection, shardId, maxRetriesToFollowers));
@@ -854,7 +854,7 @@ public class DistributedZkUpdateProcessor extends DistributedUpdateProcessor {
log.debug("skip url:{} cause its term is less than leader", replica.getCoreUrl());
}
skippedCoreNodeNames.add(replica.getName());
- } else if (!clusterState.getLiveNodes().contains(replica.getNode())
+ } else if (!clusterState.getLiveNodes().contains(replica.getNodeName())
|| replica.getState() == Replica.State.DOWN) {
skippedCoreNodeNames.add(replica.getName());
} else {
@@ -879,7 +879,7 @@ public class DistributedZkUpdateProcessor extends DistributedUpdateProcessor {
|| coll.getRouter().isTargetSlice(docId, doc, req.getParams(), aslice.getName(), coll))) {
Replica sliceLeader = aslice.getLeader();
// slice leader can be null because node/shard is created zk before leader election
- if (sliceLeader != null && clusterState.liveNodesContain(sliceLeader.getNode())) {
+ if (sliceLeader != null && clusterState.liveNodesContain(sliceLeader.getNodeName())) {
if (nodes == null) nodes = new ArrayList<>();
ZkCoreNodeProps nodeProps = new ZkCoreNodeProps(sliceLeader);
nodes.add(new SolrCmdDistributor.StdNode(nodeProps, coll.getName(), aslice.getName()));
diff --git a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
index ff94ea1..5be91da 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ChaosMonkeyShardSplitTest.java
@@ -227,7 +227,7 @@ public class ChaosMonkeyShardSplitTest extends ShardSplitTest {
Collection<Replica> replicas = slice.getReplicas();
boolean allActive = true;
for (Replica replica : replicas) {
- if (!clusterState.liveNodesContain(replica.getNode()) || replica.getState() != Replica.State.ACTIVE) {
+ if (!clusterState.liveNodesContain(replica.getNodeName()) || replica.getState() != Replica.State.ACTIVE) {
allActive = false;
break;
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java b/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
index f6f4c07..89e9007 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ClusterStateMockUtilTest.java
@@ -47,7 +47,7 @@ public class ClusterStateMockUtilTest extends SolrTestCaseJ4 {
assertEquals(1, slice1.getReplicas().size());
Replica replica1 = slice1.getReplica("replica1");
assertNotNull(replica1);
- assertEquals("baseUrl1_", replica1.getNode());
+ assertEquals("baseUrl1_", replica1.getNodeName());
assertEquals("slice1_replica1", replica1.getCoreName());
assertEquals("http://baseUrl1", replica1.getBaseUrl());
assertEquals("http://baseUrl1/slice1_replica1/", replica1.getCoreUrl());
diff --git a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
index 002df40..35daa44 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
@@ -522,7 +522,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
Replica newReplica = grabNewReplica(response, getCollectionState(collectionName));
assertEquals(0, response.getStatus());
assertTrue(response.isSuccess());
- assertTrue(newReplica.getNode().equals(node));
+ assertTrue(newReplica.getNodeName().equals(node));
// Test DELETEREPLICA
response = CollectionAdminRequest.deleteReplica(collectionName, "shard1", newReplica.getName())
@@ -657,7 +657,7 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
// test for replicas not active - SOLR-13882
DocCollection coll = cluster.getSolrClient().getClusterStateProvider().getClusterState().getCollection(collectionName);
Replica firstReplica = coll.getSlice("shard1").getReplicas().iterator().next();
- String firstNode = firstReplica.getNode();
+ String firstNode = firstReplica.getNodeName();
for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
if (jetty.getNodeName().equals(firstNode)) {
cluster.stopJettySolrRunner(jetty);
diff --git a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
index 919f96f..cd6edd9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CreateRoutedAliasTest.java
@@ -153,7 +153,7 @@ public class CreateRoutedAliasTest extends SolrCloudTestCase {
assertEquals(1, coll.getNumPullReplicas().intValue()); // per-shard
assertTrue("nodeSet didn't work?",
coll.getSlices().stream().flatMap(s -> s.getReplicas().stream())
- .map(Replica::getNode).allMatch(createNode::equals));
+ .map(Replica::getNodeName).allMatch(createNode::equals));
// Test Alias metadata:
Aliases aliases = cluster.getSolrClient().getZkStateReader().getAliases();
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
index 0252a10..84a5ece 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
@@ -84,7 +84,7 @@ public class DeleteNodeTest extends SolrCloudTestCase {
boolean hasOtherNonPullReplicas = false;
for (Replica r: slice.getReplicas()) {
if (!r.getName().equals(replica.getName()) &&
- !r.getNode().equals(node2bdecommissioned) &&
+ !r.getNodeName().equals(node2bdecommissioned) &&
r.getType() != Replica.Type.PULL) {
hasOtherNonPullReplicas = true;
break;
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
index c9d732c..8340458 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
@@ -239,7 +239,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
ZkNodeProps m = new ZkNodeProps(
Overseer.QUEUE_OPERATION, OverseerAction.DELETECORE.toLower(),
ZkStateReader.CORE_NAME_PROP, replica.getCoreName(),
- ZkStateReader.NODE_NAME_PROP, replica.getNode(),
+ ZkStateReader.NODE_NAME_PROP, replica.getNodeName(),
ZkStateReader.COLLECTION_PROP, collectionName,
ZkStateReader.CORE_NODE_NAME_PROP, replica.getName(),
ZkStateReader.BASE_URL_PROP, replica.getBaseUrl());
@@ -305,7 +305,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
ZkNodeProps m = new ZkNodeProps(
Overseer.QUEUE_OPERATION, OverseerAction.DELETECORE.toLower(),
ZkStateReader.CORE_NAME_PROP, replica1.getCoreName(),
- ZkStateReader.NODE_NAME_PROP, replica1.getNode(),
+ ZkStateReader.NODE_NAME_PROP, replica1.getNodeName(),
ZkStateReader.COLLECTION_PROP, collectionName,
ZkStateReader.CORE_NODE_NAME_PROP, replica1.getName(),
ZkStateReader.BASE_URL_PROP, replica1.getBaseUrl());
@@ -390,7 +390,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
private JettySolrRunner getJettyForReplica(Replica replica) {
for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
String nodeName = jetty.getNodeName();
- if (nodeName != null && nodeName.equals(replica.getNode())) return jetty;
+ if (nodeName != null && nodeName.equals(replica.getNodeName())) return jetty;
}
throw new IllegalArgumentException("Can not find jetty for replica "+ replica);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java b/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
index a023962..805e013 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
@@ -92,7 +92,7 @@ public class DistribJoinFromCollectionTest extends SolrCloudTestCase{
ClusterState cs = zkStateReader.getClusterState();
for (Slice slice : cs.getCollection(toColl).getActiveSlices())
for (Replica replica : slice.getReplicas())
- nodeSet.add(replica.getNode());
+ nodeSet.add(replica.getNodeName());
assertTrue(nodeSet.size() > 0);
// deploy the "from" collection to all nodes where the "to" collection exists
diff --git a/solr/core/src/test/org/apache/solr/cloud/ForceLeaderTest.java b/solr/core/src/test/org/apache/solr/cloud/ForceLeaderTest.java
index 05299a0..68b2b43 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ForceLeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ForceLeaderTest.java
@@ -106,7 +106,7 @@ public class ForceLeaderTest extends HttpPartitionTest {
int numReplicasOnLiveNodes = 0;
for (Replica rep : clusterState.getCollection(testCollectionName).getSlice(SHARD1).getReplicas()) {
- if (clusterState.getLiveNodes().contains(rep.getNode())) {
+ if (clusterState.getLiveNodes().contains(rep.getNodeName())) {
numReplicasOnLiveNodes++;
}
}
@@ -202,7 +202,7 @@ public class ForceLeaderTest extends HttpPartitionTest {
// Kill the leader
if (log.isInfoEnabled()) {
- log.info("Killing leader for shard1 of {} on node {}", collectionName, leader.getNode());
+ log.info("Killing leader for shard1 of {} on node {}", collectionName, leader.getNodeName());
}
leaderJetty.stop();
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 3be488d..824845c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
@@ -399,7 +399,7 @@ public class HttpPartitionTest extends AbstractFullDistribZkTestBase {
Replica leader =
cloudClient.getZkStateReader().getLeaderRetry(testCollectionName, "shard1");
- String leaderNode = leader.getNode();
+ String leaderNode = leader.getNodeName();
assertNotNull("Could not find leader for shard1 of "+
testCollectionName+"; clusterState: "+printClusterStateInfo(testCollectionName), leader);
JettySolrRunner leaderJetty = getJettyOnPort(getReplicaPort(leader));
@@ -582,7 +582,7 @@ public class HttpPartitionTest extends AbstractFullDistribZkTestBase {
}
protected int getReplicaPort(Replica replica) {
- String replicaNode = replica.getNode();
+ String replicaNode = replica.getNodeName();
String tmp = replicaNode.substring(replicaNode.indexOf(':')+1);
if (tmp.indexOf('_') != -1)
tmp = tmp.substring(0,tmp.indexOf('_'));
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderFailoverAfterPartitionTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderFailoverAfterPartitionTest.java
index accfdf7..fc340e0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderFailoverAfterPartitionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderFailoverAfterPartitionTest.java
@@ -106,7 +106,7 @@ public class LeaderFailoverAfterPartitionTest extends HttpPartitionTest {
Replica leader =
cloudClient.getZkStateReader().getLeaderRetry(testCollectionName, "shard1");
- String leaderNode = leader.getNode();
+ String leaderNode = leader.getNodeName();
assertNotNull("Could not find leader for shard1 of "+
testCollectionName+"; clusterState: "+printClusterStateInfo(testCollectionName), leader);
JettySolrRunner leaderJetty = getJettyOnPort(getReplicaPort(leader));
@@ -130,7 +130,7 @@ public class LeaderFailoverAfterPartitionTest extends HttpPartitionTest {
Thread.sleep(sleepMsBeforeHealPartition);
- String shouldNotBeNewLeaderNode = notLeaders.get(0).getNode();
+ String shouldNotBeNewLeaderNode = notLeaders.get(0).getNodeName();
//chaosMonkey.expireSession(leaderJetty);
// kill the leader
@@ -156,7 +156,7 @@ public class LeaderFailoverAfterPartitionTest extends HttpPartitionTest {
assertTrue("Expected node "+shouldNotBeNewLeaderNode+
" to NOT be the new leader b/c it was out-of-sync with the old leader! ClusterState: "+
printClusterStateInfo(testCollectionName),
- !shouldNotBeNewLeaderNode.equals(newLeader.getNode()));
+ !shouldNotBeNewLeaderNode.equals(newLeader.getNodeName()));
proxy0.reopen();
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 16f392a..8cb40dd 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderFailureAfterFreshStartTest.java
@@ -221,7 +221,7 @@ public class LeaderFailureAfterFreshStartTest extends AbstractFullDistribZkTestB
.collect(Collectors.toList());
for (Replica replica : replicasToCheck) {
- if (!clusterState.liveNodesContain(replica.getNode()) || replica.getState() != Replica.State.ACTIVE) {
+ if (!clusterState.liveNodesContain(replica.getNodeName()) || replica.getState() != Replica.State.ACTIVE) {
allActive = false;
break;
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderTragicEventTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderTragicEventTest.java
index 87fff33..9c5ff4d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderTragicEventTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderTragicEventTest.java
@@ -96,8 +96,8 @@ public class LeaderTragicEventTest extends SolrCloudTestCase {
});
ClusterStateUtil.waitForAllActiveAndLiveReplicas(cluster.getSolrClient().getZkStateReader(), collection, 120000);
Slice shard = getCollectionState(collection).getSlice("shard1");
- assertNotSame(shard.getLeader().getNode(), oldLeader.getNode());
- assertEquals(getNonLeader(shard).getNode(), oldLeader.getNode());
+ assertNotSame(shard.getLeader().getNodeName(), oldLeader.getNodeName());
+ assertEquals(getNonLeader(shard).getNodeName(), oldLeader.getNodeName());
for (String id : addedIds) {
assertNotNull(cluster.getSolrClient().getById(collection,id));
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 77893fe..fb0cbbd 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderVoteWaitTimeoutTest.java
@@ -144,7 +144,7 @@ public class LeaderVoteWaitTimeoutTest extends SolrCloudTestCase {
if (newLeader == null) {
return false;
}
- return newLeader.getNode().equals(cluster.getJettySolrRunner(1).getNodeName());
+ return newLeader.getNodeName().equals(cluster.getJettySolrRunner(1).getNodeName());
});
try (ZkShardTerms zkShardTerms = new ZkShardTerms(collectionName, "shard1", cluster.getZkClient())) {
@@ -183,7 +183,7 @@ public class LeaderVoteWaitTimeoutTest extends SolrCloudTestCase {
waitForState("Timeout waiting for 1x2 collection", collectionName, clusterShape(1, 2));
Replica replica1 = getCollectionState(collectionName).getSlice("shard1")
- .getReplicas(replica -> replica.getNode().equals(cluster.getJettySolrRunner(1).getNodeName())).get(0);
+ .getReplicas(replica -> replica.getNodeName().equals(cluster.getJettySolrRunner(1).getNodeName())).get(0);
CollectionAdminRequest.addReplicaToShard(collectionName, "shard1")
.setNode(cluster.getJettySolrRunner(2).getNodeName())
@@ -193,7 +193,7 @@ public class LeaderVoteWaitTimeoutTest extends SolrCloudTestCase {
waitForState("Timeout waiting for 1x3 collection", collectionName, clusterShape(1, 3));
Replica replica2 = getCollectionState(collectionName).getSlice("shard1")
- .getReplicas(replica -> replica.getNode().equals(cluster.getJettySolrRunner(2).getNodeName())).get(0);
+ .getReplicas(replica -> replica.getNodeName().equals(cluster.getJettySolrRunner(2).getNodeName())).get(0);
cluster.getSolrClient().add(collectionName, new SolrInputDocument("id", "1"));
cluster.getSolrClient().add(collectionName, new SolrInputDocument("id", "2"));
diff --git a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
index 534bb33..f66029b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaHDFSFailoverTest.java
@@ -102,13 +102,13 @@ public class MoveReplicaHDFSFailoverTest extends SolrCloudTestCase {
docCollection = zkStateReader.getClusterState().getCollection(coll);
assertEquals(1, docCollection.getSlice("shard1").getReplicas().size());
Replica newReplica = docCollection.getReplicas().iterator().next();
- assertEquals(newReplica.getNode(), cluster.getJettySolrRunner(1).getNodeName());
+ assertEquals(newReplica.getNodeName(), cluster.getJettySolrRunner(1).getNodeName());
assertTrue(newReplica.getStr("ulogDir"), newReplica.getStr("ulogDir").equals(ulogDir) || newReplica.getStr("ulogDir").equals(ulogDir+'/'));
assertTrue(newReplica.getStr("dataDir"),newReplica.getStr("dataDir").equals(dataDir) || newReplica.getStr("dataDir").equals(dataDir+'/'));
assertEquals(replica.getName(), newReplica.getName());
assertEquals(replica.getCoreName(), newReplica.getCoreName());
- assertFalse(replica.getNode().equals(newReplica.getNode()));
+ assertFalse(replica.getNodeName().equals(newReplica.getNodeName()));
final int numDocs = 100;
addDocs(coll, numDocs); // indexed but not committed
@@ -124,7 +124,7 @@ public class MoveReplicaHDFSFailoverTest extends SolrCloudTestCase {
docCollection = zkStateReader.getClusterState().getCollection(coll);
assertEquals(1, docCollection.getReplicas().size());
newReplica = docCollection.getReplicas().iterator().next();
- assertEquals(newReplica.getNode(), cluster.getJettySolrRunner(0).getNodeName());
+ assertEquals(newReplica.getNodeName(), cluster.getJettySolrRunner(0).getNodeName());
assertTrue(newReplica.getStr("ulogDir"), newReplica.getStr("ulogDir").equals(ulogDir) || newReplica.getStr("ulogDir").equals(ulogDir+'/'));
assertTrue(newReplica.getStr("dataDir"),newReplica.getStr("dataDir").equals(dataDir) || newReplica.getStr("dataDir").equals(dataDir+'/'));
diff --git a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
index 812b8e0..f4191d8 100644
--- a/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/MoveReplicaTest.java
@@ -116,7 +116,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
Collections.shuffle(l, random());
String targetNode = null;
for (String node : liveNodes) {
- if (!replica.getNode().equals(node)) {
+ if (!replica.getNodeName().equals(node)) {
targetNode = node;
break;
}
@@ -129,7 +129,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
}
}
- int sourceNumCores = getNumOfCores(cloudClient, replica.getNode(), coll, replica.getType().name());
+ int sourceNumCores = getNumOfCores(cloudClient, replica.getNodeName(), coll, replica.getType().name());
int targetNumCores = getNumOfCores(cloudClient, targetNode, coll, replica.getType().name());
CollectionAdminRequest.MoveReplica moveReplica = createMoveReplicaRequest(coll, replica, targetNode);
@@ -149,7 +149,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
Thread.sleep(500);
}
assertTrue(success);
- assertEquals("should be one less core on the source node!", sourceNumCores - 1, getNumOfCores(cloudClient, replica.getNode(), coll, replica.getType().name()));
+ assertEquals("should be one less core on the source node!", sourceNumCores - 1, getNumOfCores(cloudClient, replica.getNodeName(), coll, replica.getType().name()));
assertEquals("should be one more core on target node!", targetNumCores + 1, getNumOfCores(cloudClient, targetNode, coll, replica.getType().name()));
// wait for recovery
boolean recovered = false;
@@ -161,7 +161,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
boolean hasLeaders = true;
if (replicas != null && !replicas.isEmpty()) {
for (Replica r : replicas) {
- if (!r.getNode().equals(targetNode)) {
+ if (!r.getNodeName().equals(targetNode)) {
continue;
}
if (!r.isActive(Collections.singleton(targetNode))) {
@@ -194,7 +194,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
moveReplica = createMoveReplicaRequest(coll, replica, targetNode, shardId);
moveReplica.setInPlaceMove(inPlaceMove);
moveReplica.process(cloudClient);
- checkNumOfCores(cloudClient, replica.getNode(), coll, sourceNumCores);
+ checkNumOfCores(cloudClient, replica.getNodeName(), coll, sourceNumCores);
// wait for recovery
recovered = false;
for (int i = 0; i < 300; i++) {
@@ -205,10 +205,10 @@ public class MoveReplicaTest extends SolrCloudTestCase {
boolean hasLeaders = true;
if (replicas != null && !replicas.isEmpty()) {
for (Replica r : replicas) {
- if (!r.getNode().equals(replica.getNode())) {
+ if (!r.getNodeName().equals(replica.getNodeName())) {
continue;
}
- if (!r.isActive(Collections.singleton(replica.getNode()))) {
+ if (!r.isActive(Collections.singleton(replica.getNodeName()))) {
log.info("Not active yet: {}", r);
allActive = false;
}
@@ -262,14 +262,14 @@ public class MoveReplicaTest extends SolrCloudTestCase {
int count = 10;
do {
replica = getRandomReplica(coll, cloudClient);
- } while (!replica.getNode().equals(overseerLeader) && count-- > 0);
+ } while (!replica.getNodeName().equals(overseerLeader) && count-- > 0);
assertNotNull("could not find non-overseer replica???", replica);
Set<String> liveNodes = cloudClient.getZkStateReader().getClusterState().getLiveNodes();
ArrayList<String> l = new ArrayList<>(liveNodes);
Collections.shuffle(l, random());
String targetNode = null;
for (String node : liveNodes) {
- if (!replica.getNode().equals(node) && !overseerLeader.equals(node)) {
+ if (!replica.getNodeName().equals(node) && !overseerLeader.equals(node)) {
targetNode = node;
break;
}
@@ -309,7 +309,7 @@ public class MoveReplicaTest extends SolrCloudTestCase {
}
private CollectionAdminRequest.MoveReplica createMoveReplicaRequest(String coll, Replica replica, String targetNode, String shardId) {
- return new CollectionAdminRequest.MoveReplica(coll, shardId, targetNode, replica.getNode());
+ return new CollectionAdminRequest.MoveReplica(coll, shardId, targetNode, replica.getNodeName());
}
private CollectionAdminRequest.MoveReplica createMoveReplicaRequest(String coll, Replica replica, String targetNode) {
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 6c7ebccd..c20e3eb 100644
--- a/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/PeerSyncReplicationTest.java
@@ -354,7 +354,7 @@ public class PeerSyncReplicationTest extends AbstractFullDistribZkTestBase {
.collect(Collectors.toList());
for (Replica replica : replicasToCheck) {
- if (!clusterState.liveNodesContain(replica.getNode()) || replica.getState() != Replica.State.ACTIVE) {
+ if (!clusterState.liveNodesContain(replica.getNodeName()) || replica.getState() != Replica.State.ACTIVE) {
allActive = false;
break;
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/RoutingToNodesWithPropertiesTest.java b/solr/core/src/test/org/apache/solr/cloud/RoutingToNodesWithPropertiesTest.java
index 2624da7..4f9cbfc 100644
--- a/solr/core/src/test/org/apache/solr/cloud/RoutingToNodesWithPropertiesTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/RoutingToNodesWithPropertiesTest.java
@@ -96,9 +96,9 @@ public class RoutingToNodesWithPropertiesTest extends SolrCloudTestCase {
int numReplicaInZone1 = 0;
int numReplicaInZone2 = 0;
for (Replica replica : slice.getReplicas()) {
- if (zone1Nodes.contains(replica.getNode()))
+ if (zone1Nodes.contains(replica.getNodeName()))
numReplicaInZone1++;
- if (zone2Nodes.contains(replica.getNode()))
+ if (zone2Nodes.contains(replica.getNodeName()))
numReplicaInZone2++;
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java b/solr/core/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
index 1037d3d..3fe4d7d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SharedFSAutoReplicaFailoverTest.java
@@ -361,9 +361,9 @@ public class SharedFSAutoReplicaFailoverTest extends AbstractFullDistribZkTestBa
if (slice.getState() == Slice.State.ACTIVE) {
Collection<Replica> replicas = slice.getReplicas();
for (Replica replica : replicas) {
- if (nodeNames.contains(replica.getNode())) {
+ if (nodeNames.contains(replica.getNodeName())) {
boolean live = clusterState.liveNodesContain(replica
- .getNode());
+ .getNodeName());
if (live) {
success = false;
}
@@ -396,7 +396,7 @@ public class SharedFSAutoReplicaFailoverTest extends AbstractFullDistribZkTestBa
for (Slice slice : slices) {
int count = 0;
for (Replica replica : slice.getReplicas()) {
- if (replica.getState() == Replica.State.ACTIVE && clusterState.liveNodesContain(replica.getNode())) {
+ if (replica.getState() == Replica.State.ACTIVE && clusterState.liveNodesContain(replica.getNodeName())) {
count++;
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java b/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
index 20f85a5..c5a249f 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SyncSliceTest.java
@@ -224,7 +224,7 @@ public class SyncSliceTest extends AbstractFullDistribZkTestBase {
Collection<Replica> replicas = slice.getReplicas();
boolean allActive = true;
for (Replica replica : replicas) {
- if (!clusterState.liveNodesContain(replica.getNode()) || replica.getState() != Replica.State.ACTIVE) {
+ if (!clusterState.liveNodesContain(replica.getNodeName()) || replica.getState() != Replica.State.ACTIVE) {
allActive = false;
break;
}
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 04ed6a4..61e6dbd 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudConsistency.java
@@ -127,7 +127,7 @@ public class TestCloudConsistency extends SolrCloudTestCase {
addDocs(collectionName, 3, 1);
final Replica oldLeader = getCollectionState(collectionName).getSlice("shard1").getLeader();
- assertEquals(cluster.getJettySolrRunner(0).getNodeName(), oldLeader.getNode());
+ assertEquals(cluster.getJettySolrRunner(0).getNodeName(), oldLeader.getNodeName());
if (onRestart) {
addDocToWhenOtherReplicasAreDown(collectionName, oldLeader, 4);
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 fd2b41b..e895fe3 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudDeleteByQuery.java
@@ -146,9 +146,9 @@ public class TestCloudDeleteByQuery extends SolrCloudTestCase {
String shardName = slice.getName();
Replica leader = slice.getLeader();
assertNotNull("slice has null leader: " + slice.toString(), leader);
- assertNotNull("slice leader has null node name: " + slice.toString(), leader.getNode());
- String leaderUrl = urlMap.remove(leader.getNode());
- assertNotNull("could not find URL for " + shardName + " leader: " + leader.getNode(),
+ 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(),
leaderUrl);
assertEquals("expected two total replicas for: " + slice.getName(),
2, slice.getReplicas().size());
@@ -157,8 +157,8 @@ public class TestCloudDeleteByQuery extends SolrCloudTestCase {
for (Replica replica : slice.getReplicas()) {
if ( ! replica.equals(leader)) {
- passiveUrl = urlMap.remove(replica.getNode());
- assertNotNull("could not find URL for " + shardName + " replica: " + replica.getNode(),
+ passiveUrl = urlMap.remove(replica.getNodeName());
+ assertNotNull("could not find URL for " + shardName + " replica: " + replica.getNodeName(),
passiveUrl);
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudRecovery2.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudRecovery2.java
index d77cd69..8167f2c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudRecovery2.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudRecovery2.java
@@ -123,7 +123,7 @@ public class TestCloudRecovery2 extends SolrCloudTestCase {
node1.stop();
waitForState("", COLLECTION, (liveNodes, collectionState) -> {
Replica leader = collectionState.getLeader("shard1");
- return leader != null && leader.getNode().equals(node2.getNodeName());
+ return leader != null && leader.getNodeName().equals(node2.getNodeName());
});
node1.start();
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java b/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
index e35ce2d..247313e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestCloudSearcherWarming.java
@@ -195,7 +195,7 @@ public class TestCloudSearcherWarming extends SolrCloudTestCase {
// but clusterShape will also return true if replica is not live -- which we don't want
CollectionStatePredicate collectionStatePredicate = (liveNodes, collectionState) -> {
for (Replica r : collectionState.getReplicas()) {
- if (r.getNode().equals(oldNodeName.get())) {
+ if (r.getNodeName().equals(oldNodeName.get())) {
return r.getState() == Replica.State.DOWN;
}
}
@@ -262,7 +262,7 @@ public class TestCloudSearcherWarming extends SolrCloudTestCase {
if (log.isInfoEnabled()) {
log.info("Checking node: {}", jettySolrRunner.getNodeName());
}
- if (jettySolrRunner.getNodeName().equals(replica.getNode())) {
+ if (jettySolrRunner.getNodeName().equals(replica.getNodeName())) {
SolrDispatchFilter solrDispatchFilter = jettySolrRunner.getSolrDispatchFilter();
try (SolrCore core = solrDispatchFilter.getCores().getCore(coreName)) {
if (core.getSolrConfig().useColdSearcher) {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
index 6f5ff16..5e06c28 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestPullReplica.java
@@ -593,10 +593,10 @@ public class TestPullReplica extends SolrCloudTestCase {
if (r.getState() != Replica.State.DOWN && r.getState() != Replica.State.ACTIVE) {
return false;
}
- if (r.getState() == Replica.State.DOWN && liveNodes.contains(r.getNode())) {
+ if (r.getState() == Replica.State.DOWN && liveNodes.contains(r.getNodeName())) {
return false;
}
- if (r.getState() == Replica.State.ACTIVE && !liveNodes.contains(r.getNode())) {
+ if (r.getState() == Replica.State.ACTIVE && !liveNodes.contains(r.getNodeName())) {
return false;
}
}
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 b35f670..8a0a874 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestRebalanceLeaders.java
@@ -530,7 +530,7 @@ public class TestRebalanceLeaders extends SolrCloudTestCase {
for (Slice slice : docCollection.getSlices()) {
for (Replica rep : slice.getReplicas()) {
- if (downJettyNodes.contains(rep.getNode()) == false) {
+ if (downJettyNodes.contains(rep.getNodeName()) == false) {
continue; // We are on a live node
}
// A replica on an allegedly down node is reported as active.
@@ -587,7 +587,7 @@ public class TestRebalanceLeaders extends SolrCloudTestCase {
Replica changedRep = null;
int livePos = Integer.MAX_VALUE;
for (Replica rep : slice.getReplicas()) {
- int pos = liveNodes.indexOf(rep.getNode());
+ int pos = liveNodes.indexOf(rep.getNodeName());
if (pos >= 0 && pos < livePos) {
livePos = pos;
changedRep = rep;
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestShortCircuitedRequests.java b/solr/core/src/test/org/apache/solr/cloud/TestShortCircuitedRequests.java
index 9f29c4d..08e0eb5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestShortCircuitedRequests.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestShortCircuitedRequests.java
@@ -46,7 +46,7 @@ public class TestShortCircuitedRequests extends AbstractFullDistribZkTestBase {
// query shard3 directly with _route_=a! so that we trigger the short circuited request path
Replica shard3 = cloudClient.getZkStateReader().getClusterState().getCollection(DEFAULT_COLLECTION).getLeader("shard3");
- String nodeName = shard3.getNode();
+ String nodeName = shard3.getNodeName();
SolrClient shard3Client = getClient(nodeName);
QueryResponse response = shard3Client.query(new SolrQuery("*:*").add(ShardParams._ROUTE_, "a!").add(ShardParams.SHARDS_INFO, "true"));
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
index 4f2be63..4230ec1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
@@ -594,7 +594,7 @@ public class TestStressInPlaceUpdates extends AbstractFullDistribZkTestBase {
leader = shard1.getLeader();
for (int i = 0; i < clients.size(); i++) {
- String leaderBaseUrl = zkStateReader.getBaseUrlForNodeName(leader.getNode());
+ String leaderBaseUrl = zkStateReader.getBaseUrlForNodeName(leader.getNodeName());
if (((HttpSolrClient) clients.get(i)).getBaseURL().startsWith(leaderBaseUrl))
return clients.get(i);
}
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 ab8e67c..8b9f1cf 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplayVsRecovery.java
@@ -148,7 +148,7 @@ public class TestTlogReplayVsRecovery extends SolrCloudTestCase {
waitForState("Timeout waiting for 1x2 collection", COLLECTION, clusterShape(1, 2));
final Replica leader = getCollectionState(COLLECTION).getSlice("shard1").getLeader();
- assertEquals("Sanity check failed", NODE0.getNodeName(), leader.getNode());
+ assertEquals("Sanity check failed", NODE0.getNodeName(), leader.getNodeName());
log.info("Add and commit {} docs...", committedDocs);
addDocs(true, committedDocs, 1);
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
index e80d27f..d68f46b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTlogReplica.java
@@ -677,7 +677,7 @@ public class TestTlogReplica extends SolrCloudTestCase {
if (leader == null || !leader.isActive(cluster.getSolrClient().getZkStateReader().getClusterState().getLiveNodes())) {
return false;
}
- return oldLeaderJetty == null || !leader.getNode().equals(oldLeaderJetty.getNodeName());
+ return oldLeaderJetty == null || !leader.getNodeName().equals(oldLeaderJetty.getNodeName());
}
);
}
@@ -829,10 +829,10 @@ public class TestTlogReplica extends SolrCloudTestCase {
if (r.getState() != Replica.State.DOWN && r.getState() != Replica.State.ACTIVE) {
return false;
}
- if (r.getState() == Replica.State.DOWN && liveNodes.contains(r.getNode())) {
+ if (r.getState() == Replica.State.DOWN && liveNodes.contains(r.getNodeName())) {
return false;
}
- if (r.getState() == Replica.State.ACTIVE && !liveNodes.contains(r.getNode())) {
+ if (r.getState() == Replica.State.ACTIVE && !liveNodes.contains(r.getNodeName())) {
return false;
}
}
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 bd5ac26..0fe45c9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestTolerantUpdateProcessorCloud.java
@@ -136,9 +136,9 @@ public class TestTolerantUpdateProcessorCloud extends SolrCloudTestCase {
String shardName = slice.getName();
Replica leader = slice.getLeader();
assertNotNull("slice has null leader: " + slice.toString(), leader);
- assertNotNull("slice leader has null node name: " + slice.toString(), leader.getNode());
- String leaderUrl = urlMap.remove(leader.getNode());
- assertNotNull("could not find URL for " + shardName + " leader: " + leader.getNode(),
+ 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(),
leaderUrl);
assertEquals("expected two total replicas for: " + slice.getName(),
2, slice.getReplicas().size());
@@ -147,8 +147,8 @@ public class TestTolerantUpdateProcessorCloud extends SolrCloudTestCase {
for (Replica replica : slice.getReplicas()) {
if ( ! replica.equals(leader)) {
- passiveUrl = urlMap.remove(replica.getNode());
- assertNotNull("could not find URL for " + shardName + " replica: " + replica.getNode(),
+ passiveUrl = urlMap.remove(replica.getNodeName());
+ assertNotNull("could not find URL for " + shardName + " replica: " + replica.getNodeName(),
passiveUrl);
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestUtilizeNode.java b/solr/core/src/test/org/apache/solr/cloud/TestUtilizeNode.java
index 9692ace..68e1e88 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestUtilizeNode.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestUtilizeNode.java
@@ -173,7 +173,7 @@ public class TestUtilizeNode extends SolrCloudTestCase {
List<Replica> results = new ArrayList<>(3);
if (collection != null) {
collection.forEachReplica((s, replica) -> {
- if (replica.getNode().equals(jettyNode.getNodeName())) {
+ if (replica.getNodeName().equals(jettyNode.getNodeName())) {
results.add(replica);
}
});
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java b/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
index 1d0aad4..2ee47f4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestWithCollection.java
@@ -155,7 +155,7 @@ public class TestWithCollection extends SolrCloudTestCase {
assertNotNull(c1);
assertEquals(abc, c1.getStr(WITH_COLLECTION));
Replica replica = c1.getReplicas().get(0);
- String nodeName = replica.getNode();
+ String nodeName = replica.getNodeName();
assertEquals(chosenNode, nodeName);
}
@@ -242,7 +242,7 @@ public class TestWithCollection extends SolrCloudTestCase {
DocCollection collection = solrClient.getZkStateReader().getClusterState().getCollection(xyz);
DocCollection withCollection = solrClient.getZkStateReader().getClusterState().getCollection(abc);
- assertTrue(collection.getReplicas().stream().noneMatch(replica -> withCollection.getReplicas(replica.getNode()).isEmpty()));
+ assertTrue(collection.getReplicas().stream().noneMatch(replica -> withCollection.getReplicas(replica.getNodeName()).isEmpty()));
}
@Test
@@ -273,7 +273,7 @@ public class TestWithCollection extends SolrCloudTestCase {
.process(solrClient);
DocCollection collection = solrClient.getZkStateReader().getClusterState().getCollection(xyz);
- assertEquals(chosenNode, collection.getReplicas().iterator().next().getNode());
+ assertEquals(chosenNode, collection.getReplicas().iterator().next().getNodeName());
// zkClient().printLayoutToStdOut();
@@ -283,8 +283,8 @@ public class TestWithCollection extends SolrCloudTestCase {
DocCollection withCollection = solrClient.getZkStateReader().getClusterState().getCollection(abc);
assertTrue(collection.getReplicas().stream().noneMatch(
- replica -> withCollection.getReplicas(replica.getNode()) == null
- || withCollection.getReplicas(replica.getNode()).isEmpty()));
+ replica -> withCollection.getReplicas(replica.getNodeName()) == null
+ || withCollection.getReplicas(replica.getNodeName()).isEmpty()));
}
@Test
@@ -333,8 +333,8 @@ public class TestWithCollection extends SolrCloudTestCase {
collection = solrClient.getZkStateReader().getClusterState().getCollection(xyz); // refresh
DocCollection withCollectionRefreshed = solrClient.getZkStateReader().getClusterState().getCollection(abc); // refresh
assertTrue(collection.getReplicas().stream().noneMatch(
- replica -> withCollectionRefreshed.getReplicas(replica.getNode()) == null
- || withCollectionRefreshed.getReplicas(replica.getNode()).isEmpty()));
+ replica -> withCollectionRefreshed.getReplicas(replica.getNodeName()) == null
+ || withCollectionRefreshed.getReplicas(replica.getNodeName()).isEmpty()));
}
@Test
@@ -366,7 +366,7 @@ public class TestWithCollection extends SolrCloudTestCase {
.process(solrClient);
DocCollection collection = solrClient.getZkStateReader().getClusterState().getCollection(xyz);
- assertEquals(chosenNode, collection.getReplicas().iterator().next().getNode());
+ assertEquals(chosenNode, collection.getReplicas().iterator().next().getNodeName());
String otherNode = null;
for (JettySolrRunner jettySolrRunner : cluster.getJettySolrRunners()) {
@@ -393,8 +393,8 @@ public class TestWithCollection extends SolrCloudTestCase {
// sanity check that the failed move operation didn't actually change our co-location guarantees
assertTrue(collection.getReplicas().stream().noneMatch(
- replica -> withCollectionRefreshed.getReplicas(replica.getNode()) == null
- || withCollectionRefreshed.getReplicas(replica.getNode()).isEmpty()));
+ replica -> withCollectionRefreshed.getReplicas(replica.getNodeName()) == null
+ || withCollectionRefreshed.getReplicas(replica.getNodeName()).isEmpty()));
}
/**
@@ -429,7 +429,7 @@ public class TestWithCollection extends SolrCloudTestCase {
.process(solrClient);
DocCollection collection = solrClient.getZkStateReader().getClusterState().getCollection(xyz);
- assertEquals(chosenNode, collection.getReplicas().iterator().next().getNode());
+ assertEquals(chosenNode, collection.getReplicas().iterator().next().getNodeName());
String setTriggerCommand = "{" +
"'set-trigger' : {" +
@@ -477,7 +477,7 @@ public class TestWithCollection extends SolrCloudTestCase {
// assert that the replica of xyz collection was not moved
assertNotNull(collection.getReplica(xyzReplica.getName()));
- assertEquals(chosenNode, collection.getReplicas().get(0).getNode());
+ assertEquals(chosenNode, collection.getReplicas().get(0).getNodeName());
// add an extra replica of xyz collection -- this should be placed on the 'otherNode'
addReplica = CollectionAdminRequest.addReplicaToShard(xyz, "shard1");
@@ -592,12 +592,12 @@ public class TestWithCollection extends SolrCloudTestCase {
private void assertColocated(DocCollection collection, String noneOnNode, DocCollection withCollection) {
// sanity check
assertTrue(collection.getReplicas().stream().noneMatch(
- replica -> withCollection.getReplicas(replica.getNode()) == null
- || withCollection.getReplicas(replica.getNode()).isEmpty()));
+ replica -> withCollection.getReplicas(replica.getNodeName()) == null
+ || withCollection.getReplicas(replica.getNodeName()).isEmpty()));
if (noneOnNode != null) {
assertTrue(collection.getReplicas().stream().noneMatch(
- replica -> noneOnNode.equals(replica.getNode())));
+ replica -> noneOnNode.equals(replica.getNodeName())));
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
index b806c7d..74bcd75 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/AbstractCloudBackupRestoreTestCase.java
@@ -372,7 +372,7 @@ public abstract class AbstractCloudBackupRestoreTestCase extends SolrCloudTestCa
Map<String, Integer> numReplicasByNodeName = new HashMap<>();
restoreCollection.getReplicas().forEach(x -> {
- numReplicasByNodeName.put(x.getNode(), numReplicasByNodeName.getOrDefault(x.getNode(), 0) + 1);
+ numReplicasByNodeName.put(x.getNodeName(), numReplicasByNodeName.getOrDefault(x.getNodeName(), 0) + 1);
});
numReplicasByNodeName.forEach((k, v) -> {
assertTrue("Node " + k + " has " + v + " replicas. Expected num replicas : " + restoreMaxShardsPerNode
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
index 7ae5f02..6489f1c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionTooManyReplicasTest.java
@@ -90,7 +90,7 @@ public class CollectionTooManyReplicasTest extends SolrCloudTestCase {
Slice slice = collectionState.getSlice("shard1");
Replica replica = getRandomReplica(slice, r -> r.getCoreName().equals("bogus2"));
assertNotNull("Should have found a replica named 'bogus2'", replica);
- assertEquals("Replica should have been put on correct node", nodeName, replica.getNode());
+ assertEquals("Replica should have been put on correct node", nodeName, replica.getNodeName());
// Shard1 should have 2 replicas
assertEquals("There should be 3 replicas for shard 1", 3, slice.getReplicas().size());
@@ -216,7 +216,7 @@ public class CollectionTooManyReplicasTest extends SolrCloudTestCase {
private List<String> getAllNodeNames(String collectionName) throws KeeperException, InterruptedException {
DocCollection state = getCollectionState(collectionName);
- return state.getReplicas().stream().map(Replica::getNode).distinct().collect(Collectors.toList());
+ return state.getReplicas().stream().map(Replica::getNodeName).distinct().collect(Collectors.toList());
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
index 43b176c..a9fdcae 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIAsyncDistributedZkTest.java
@@ -191,7 +191,7 @@ public class CollectionsAPIAsyncDistributedZkTest extends SolrCloudTestCase {
Slice shard1 = client.getZkStateReader().getClusterState().getCollection(collection).getSlice("shard1");
Replica replica = shard1.getReplicas().iterator().next();
for (String liveNode : client.getZkStateReader().getClusterState().getLiveNodes()) {
- if (!replica.getNode().equals(liveNode)) {
+ if (!replica.getNodeName().equals(liveNode)) {
state = new CollectionAdminRequest.MoveReplica(collection, replica.getName(), liveNode)
.processAndWait(client, MAX_TIMEOUT_SECONDS);
assertSame("MoveReplica did not complete", RequestStatusState.COMPLETED, state);
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
index 22d6044..8d4f441 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/CollectionsAPIDistributedZkTest.java
@@ -312,7 +312,7 @@ public class CollectionsAPIDistributedZkTest extends SolrCloudTestCase {
DocCollection collection = getCollectionState("nodes_used_collection");
for (Slice slice : collection.getSlices()) {
for (Replica replica : slice.getReplicas()) {
- createNodeList.remove(replica.getNode());
+ createNodeList.remove(replica.getNodeName());
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ReplicaPropertiesBase.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ReplicaPropertiesBase.java
index 5d59270..fd4a409 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ReplicaPropertiesBase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ReplicaPropertiesBase.java
@@ -131,16 +131,16 @@ public abstract class ReplicaPropertiesBase extends AbstractFullDistribZkTestBas
boolean thisSliceHasProp = false;
int propCount = 0;
for (Replica replica : slice.getReplicas()) {
- uniqueNodes.add(replica.getNode());
+ uniqueNodes.add(replica.getNodeName());
String propVal = replica.getProperty(property);
if (StringUtils.isNotBlank(propVal)) {
++propCount;
- if (counts.containsKey(replica.getNode()) == false) {
- counts.put(replica.getNode(), 0);
+ if (counts.containsKey(replica.getNodeName()) == false) {
+ counts.put(replica.getNodeName(), 0);
}
- int count = counts.get(replica.getNode());
+ int count = counts.get(replica.getNodeName());
thisSliceHasProp = true;
- counts.put(replica.getNode(), count + 1);
+ counts.put(replica.getNodeName(), count + 1);
}
}
badSlice = (propCount > 1) ? true : badSlice;
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 a5a322f..aa99bf8 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
@@ -132,7 +132,7 @@ public class ShardSplitTest extends BasicDistributedZkTest {
DocCollection defCol = cloudClient.getZkStateReader().getClusterState().getCollection(AbstractDistribZkTestBase.DEFAULT_COLLECTION);
Replica replica = defCol.getReplicas().get(0);
- String nodeName = replica.getNode();
+ String nodeName = replica.getNodeName();
String collectionName = "testSplitStaticIndexReplication_" + splitMethod.toLower();
CollectionAdminRequest.Create create = CollectionAdminRequest.createCollection(collectionName, "conf1", 1, 1);
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
index 26b33ac..ef718e0 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestCollectionAPI.java
@@ -586,7 +586,7 @@ public class TestCollectionAPI extends ReplicaPropertiesBase {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("action", CollectionParams.CollectionAction.ADDROLE.toString());
- params.set("node", replica.getNode());
+ params.set("node", replica.getNodeName());
params.set("role", "overseer");
@SuppressWarnings({"rawtypes"})
SolrRequest request = new QueryRequest(params);
@@ -610,7 +610,7 @@ public class TestCollectionAPI extends ReplicaPropertiesBase {
List<String> overseer = (List<String>) roles.get("overseer");
assertNotNull(overseer);
assertEquals(1, overseer.size());
- assertTrue(overseer.contains(replica.getNode()));
+ assertTrue(overseer.contains(replica.getNodeName()));
}
}
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 f503ee1..3d5e28d 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
@@ -141,9 +141,9 @@ public class TestCollectionsAPIViaSolrCloudCluster extends SolrCloudTestCase {
Collection<Slice> slices = clusterState.getCollection(collectionName).getSlices();
// track the servers not host replicas
for (Slice slice : slices) {
- jettyMap.remove(slice.getLeader().getNode().replace("_solr", "/solr"));
+ jettyMap.remove(slice.getLeader().getNodeName().replace("_solr", "/solr"));
for (Replica replica : slice.getReplicas()) {
- jettyMap.remove(replica.getNode().replace("_solr", "/solr"));
+ jettyMap.remove(replica.getNodeName().replace("_solr", "/solr"));
}
}
assertTrue("Expected to find a node without a replica", jettyMap.size() > 0);
@@ -249,9 +249,9 @@ public class TestCollectionsAPIViaSolrCloudCluster extends SolrCloudTestCase {
final Map<String,Boolean> shardLeaderMap = new HashMap<>();
for (final Slice slice : clusterState.getCollection(collectionName).getSlices()) {
for (final Replica replica : slice.getReplicas()) {
- shardLeaderMap.put(replica.getNode().replace("_solr", "/solr"), Boolean.FALSE);
+ shardLeaderMap.put(replica.getNodeName().replace("_solr", "/solr"), Boolean.FALSE);
}
- shardLeaderMap.put(slice.getLeader().getNode().replace("_solr", "/solr"), Boolean.TRUE);
+ 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();
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoAddReplicasIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoAddReplicasIntegrationTest.java
index f1f17d1..b744ac1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoAddReplicasIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoAddReplicasIntegrationTest.java
@@ -419,7 +419,7 @@ public class AutoAddReplicasIntegrationTest extends SolrCloudTestCase {
List<Replica> replacedHdfsReplicas = new ArrayList<>();
for (Replica replica : zkStateReader.getClusterState().getCollection(collection).getReplicas()) {
String dataDir = replica.getStr("dataDir");
- if (replica.getNode().equals(lostNodeName) && dataDir != null) {
+ if (replica.getNodeName().equals(lostNodeName) && dataDir != null) {
replacedHdfsReplicas.add(replica);
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoScalingHandlerTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoScalingHandlerTest.java
index 0aca93d..6d83fe2 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoScalingHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/AutoScalingHandlerTest.java
@@ -117,7 +117,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
String configPayload = "{\n" +
" 'cluster-policy': [{'replica': 0, 'node': '_NODE'}]\n" +
"}";
- configPayload = configPayload.replaceAll("_NODE", aReplica.getNode());
+ configPayload = configPayload.replaceAll("_NODE", aReplica.getNodeName());
@SuppressWarnings({"rawtypes"})
SolrRequest req = AutoScalingRequest.create(SolrRequest.METHOD.POST, "/suggestions", configPayload);
NamedList<Object> response = solrClient.request(req);
@@ -125,7 +125,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
String replicaName = response._getStr("suggestions[0]/operation/command/move-replica/replica", null);
boolean[] passed = new boolean[]{false};
collection.forEachReplica((s, replica) -> {
- if (replica.getName().equals(replicaName) && replica.getNode().equals(aReplica.getNode())) {
+ if (replica.getName().equals(replicaName) && replica.getNodeName().equals(aReplica.getNodeName())) {
passed[0] = true;
}
});
@@ -150,7 +150,7 @@ public class AutoScalingHandlerTest extends SolrCloudTestCase {
String configPayload = "{\n" +
" 'cluster-policy': [{'replica': 0, 'node': '_NODE'}]\n" +
"}";
- configPayload = configPayload.replaceAll("_NODE", aReplica.getNode());
+ configPayload = configPayload.replaceAll("_NODE", aReplica.getNodeName());
@SuppressWarnings({"rawtypes"})
SolrRequest req = AutoScalingRequest.create(SolrRequest.METHOD.POST, "/diagnostics", configPayload);
NamedList<Object> response = solrClient.request(req);
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
index 44e4c73..325b1cf 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/ComputePlanActionTest.java
@@ -21,7 +21,6 @@ import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.cloud.NodeStateProvider;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
@@ -540,7 +539,7 @@ public class ComputePlanActionTest extends SolrCloudTestCase {
NodeStateProvider stateProvider = cloudManager.getNodeStateProvider();
List<String> nodes = new ArrayList<>();
cloudManager.getClusterStateProvider().getLiveNodes().forEach(n -> {
- Map<String, Map<String, List<ReplicaInfo>>> map = stateProvider.getReplicaInfo(n, ImplicitSnitch.tags);
+ Map<String, Map<String, List<Replica>>> map = stateProvider.getReplicaInfo(n, ImplicitSnitch.tags);
if (map.containsKey("testSelected3") && map.containsKey("testSelected2") && map.containsKey("testSelected1")) {
nodes.add(n);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerSizeEstimationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerSizeEstimationTest.java
index 2ba74b6..528dd55 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerSizeEstimationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerSizeEstimationTest.java
@@ -157,7 +157,7 @@ public class IndexSizeTriggerSizeEstimationTest extends SolrCloudTestCase {
final String registry = SolrCoreMetricManager.createRegistryName(true, collectionName, "shard1", replicaName, null);
Set<String> tags = SimUtils.COMMON_REPLICA_TAGS.stream()
.map(s -> "metrics:" + registry + ":" + s).collect(Collectors.toSet());
- Map<String, Object> sizes = cloudManager.getNodeStateProvider().getNodeValues(leader.getNode(), tags);
+ Map<String, Object> sizes = cloudManager.getNodeStateProvider().getNodeValues(leader.getNodeName(), tags);
String commitSizeTag = "metrics:" + registry + ":SEARCHER.searcher.indexCommitSize";
String numDocsTag = "metrics:" + registry + ":SEARCHER.searcher.numDocs";
String maxDocTag = "metrics:" + registry + ":SEARCHER.searcher.maxDoc";
@@ -283,7 +283,7 @@ public class IndexSizeTriggerSizeEstimationTest extends SolrCloudTestCase {
final String subregistry = SolrCoreMetricManager.createRegistryName(true, collectionName, subShard, replicaName, null);
Set<String> subtags = SimUtils.COMMON_REPLICA_TAGS.stream()
.map(s -> "metrics:" + subregistry + ":" + s).collect(Collectors.toSet());
- sizes = cloudManager.getNodeStateProvider().getNodeValues(leader.getNode(), subtags);
+ sizes = cloudManager.getNodeStateProvider().getNodeValues(leader.getNodeName(), subtags);
commitSizeTag = "metrics:" + subregistry + ":SEARCHER.searcher.indexCommitSize";
numDocsTag = "metrics:" + subregistry + ":SEARCHER.searcher.numDocs";
maxDocTag = "metrics:" + subregistry + ":SEARCHER.searcher.maxDoc";
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerIntegrationTest.java
index 92ace70..109f698 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SearchRateTriggerIntegrationTest.java
@@ -31,7 +31,6 @@ import com.google.common.util.concurrent.AtomicDouble;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventProcessorStage;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -243,7 +242,7 @@ public class SearchRateTriggerIntegrationTest extends SolrCloudTestCase {
assertNotNull("nodeRates", nodeRates);
// no node violations because node rates weren't set in the config
assertTrue(nodeRates.toString(), nodeRates.isEmpty());
- List<ReplicaInfo> replicaRates = (List<ReplicaInfo>) ev.event.getProperties().get(SearchRateTrigger.HOT_REPLICAS);
+ List<Replica> replicaRates = (List<Replica>) ev.event.getProperties().get(SearchRateTrigger.HOT_REPLICAS);
assertNotNull("replicaRates", replicaRates);
assertTrue(replicaRates.toString(), replicaRates.size() > 0);
AtomicDouble totalReplicaRate = new AtomicDouble();
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 5612548..3b35f7e 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
@@ -30,7 +30,6 @@ import com.codahale.metrics.MetricRegistry;
import com.google.common.util.concurrent.AtomicDouble;
import org.apache.solr.client.solrj.cloud.NodeStateProvider;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -42,6 +41,7 @@ import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.cloud.CloudUtil;
import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.cloud.ZkDistributedQueueFactory;
+import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.params.AutoScalingParams;
import org.apache.solr.common.params.CollectionParams;
@@ -145,10 +145,10 @@ public class SearchRateTriggerTest extends SolrCloudTestCase {
assertEquals(1, events.size());
TriggerEvent event = events.get(0);
assertEquals(TriggerEventType.SEARCHRATE, event.eventType);
- List<ReplicaInfo> infos = (List<ReplicaInfo>)event.getProperty(SearchRateTrigger.HOT_REPLICAS);
+ List<Replica> infos = (List<Replica>)event.getProperty(SearchRateTrigger.HOT_REPLICAS);
assertEquals(1, infos.size());
- ReplicaInfo info = infos.get(0);
- assertEquals(coreName, info.getCore());
+ Replica info = infos.get(0);
+ assertEquals(coreName, info.getCoreName());
assertTrue((Double)info.get(AutoScalingParams.RATE) > rate);
}
// close that jetty to remove the violation - alternatively wait for 1 min...
@@ -263,11 +263,11 @@ public class SearchRateTriggerTest extends SolrCloudTestCase {
TriggerEvent event = events.get(0);
assertEquals(event.toString(), TriggerEventType.SEARCHRATE, event.eventType);
Map<String, Object> hotNodes, hotCollections, hotShards;
- List<ReplicaInfo> hotReplicas;
+ List<Replica> hotReplicas;
hotNodes = (Map<String, Object>)event.properties.get(SearchRateTrigger.HOT_NODES);
hotCollections = (Map<String, Object>)event.properties.get(SearchRateTrigger.HOT_COLLECTIONS);
hotShards = (Map<String, Object>)event.properties.get(SearchRateTrigger.HOT_SHARDS);
- hotReplicas = (List<ReplicaInfo>)event.properties.get(SearchRateTrigger.HOT_REPLICAS);
+ hotReplicas = (List<Replica>)event.properties.get(SearchRateTrigger.HOT_REPLICAS);
assertTrue("no hot nodes?", hotNodes.isEmpty());
assertFalse("no hot collections?", hotCollections.isEmpty());
assertFalse("no hot shards?", hotShards.isEmpty());
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SystemLogListenerTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SystemLogListenerTest.java
index 96d1451..714bc34 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/SystemLogListenerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/SystemLogListenerTest.java
@@ -282,7 +282,7 @@ public class SystemLogListenerTest extends SolrCloudTestCase {
// now find a node that is *NOT* the overseer or the leader of a .system collection shard
for (Replica r : getCollectionState(CollectionAdminParams.SYSTEM_COLL).getReplicas()) {
- if ( ! (r.getBool("leader", false) || r.getNode().equals(overseerNodeName) ) ) {
+ if ( ! (r.getBool("leader", false) || r.getNodeName().equals(overseerNodeName) ) ) {
return cluster.getReplicaJetty(r);
}
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
index b0ddf46..eaca650 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/TestPolicyCloud.java
@@ -36,7 +36,6 @@ import org.apache.solr.client.solrj.cloud.DistributedQueueFactory;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.Row;
import org.apache.solr.client.solrj.cloud.autoscaling.Variable.Type;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
@@ -157,7 +156,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
try (SolrCloudManager cloudManager = new SolrClientCloudManager(new ZkDistributedQueueFactory(cluster.getZkClient()), cluster.getSolrClient())) {
String nodeName = cloudManager.getClusterStateProvider().getLiveNodes().iterator().next();
SolrClientNodeStateProvider nodeStateProvider = (SolrClientNodeStateProvider) cloudManager.getNodeStateProvider();
- Map<String, Map<String, List<ReplicaInfo>>> result = nodeStateProvider.getReplicaInfo(nodeName, Collections.singleton("UPDATE./update.requests"));
+ Map<String, Map<String, List<Replica>>> result = nodeStateProvider.getReplicaInfo(nodeName, Collections.singleton("UPDATE./update.requests"));
nodeStateProvider.forEachReplica(nodeName, replicaInfo -> {
if (replicaInfo.getProperties().containsKey("UPDATE./update.requests")) count.incrementAndGet();
});
@@ -177,7 +176,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
count .set(0);
for (Row row : session.getSortedNodes()) {
row.collectionVsShardVsReplicas.forEach((c, shardVsReplicas) -> shardVsReplicas.forEach((s, replicaInfos) -> {
- for (ReplicaInfo replicaInfo : replicaInfos) {
+ for (Replica replicaInfo : replicaInfos) {
if (replicaInfo.getProperties().containsKey(Type.CORE_IDX.tagName)) count.incrementAndGet();
}
}));
@@ -199,7 +198,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
for (Slice slice : collection) {
for (Replica replica : slice) {
if ( ! (replica.isActive(liveNodes)
- && expectedNodeName.equals(replica.getNode())) ) {
+ && expectedNodeName.equals(replica.getNodeName())) ) {
return false;
}
actualReplicaCount++;
@@ -296,8 +295,8 @@ public class TestPolicyCloud extends SolrCloudTestCase {
// now the main check we care about: were the replicas split up on
// the expected nodes...
if (! expectedNodeNames.equals(ImmutableSet.of
- (liveReplicas.get(0).getNode(),
- liveReplicas.get(1).getNode()))) {
+ (liveReplicas.get(0).getNodeName(),
+ liveReplicas.get(1).getNodeName()))) {
return false;
}
}
@@ -334,8 +333,8 @@ public class TestPolicyCloud extends SolrCloudTestCase {
// now the main check we care about: were the replicas split up on
// the expected nodes...
if (! expectedNodeNames.equals(ImmutableSet.of
- (liveReplicas.get(0).getNode(),
- liveReplicas.get(1).getNode()))) {
+ (liveReplicas.get(0).getNodeName(),
+ liveReplicas.get(1).getNodeName()))) {
return false;
}
}
@@ -381,11 +380,11 @@ public class TestPolicyCloud extends SolrCloudTestCase {
try (SolrCloudManager provider = new SolrClientCloudManager(queueFactory, solrClient)) {
List<String> tags = Arrays.asList("metrics:solr.node:ADMIN./admin/authorization.clientErrors:count",
"metrics:solr.jvm:buffers.direct.Count");
- Map<String, Object> val = provider.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNode(), tags);
+ Map<String, Object> val = provider.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNodeName(), tags);
for (String tag : tags) {
assertNotNull("missing : " + tag, val.get(tag));
}
- val = provider.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNode(), Collections.singleton("diskType"));
+ val = provider.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNodeName(), Collections.singleton("diskType"));
Set<String> diskTypes = ImmutableSet.of("rotational", "ssd");
assertTrue(diskTypes.contains(val.get("diskType")));
@@ -434,15 +433,15 @@ public class TestPolicyCloud extends SolrCloudTestCase {
BiConsumer<String, Replica> verifyReplicas = (s, replica) -> {
switch (replica.getType()) {
case NRT: {
- assertTrue("NRT replica should be in " + nrtNodeName, replica.getNode().equals(nrtNodeName));
+ assertTrue("NRT replica should be in " + nrtNodeName, replica.getNodeName().equals(nrtNodeName));
break;
}
case TLOG: {
- assertTrue("TLOG replica should be in " + tlogNodeName, replica.getNode().equals(tlogNodeName));
+ assertTrue("TLOG replica should be in " + tlogNodeName, replica.getNodeName().equals(tlogNodeName));
break;
}
case PULL: {
- assertTrue("PULL replica should be in " + pullNodeName, replica.getNode().equals(pullNodeName));
+ assertTrue("PULL replica should be in " + pullNodeName, replica.getNodeName().equals(pullNodeName));
break;
}
}
@@ -479,7 +478,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
DocCollection coll = getCollectionState(collectionName);
assertEquals("c1", coll.getPolicyName());
assertEquals(2,coll.getReplicas().size());
- coll.forEachReplica((s, replica) -> assertEquals(jetty.getNodeName(), replica.getNode()));
+ coll.forEachReplica((s, replica) -> assertEquals(jetty.getNodeName(), replica.getNodeName()));
CollectionAdminRequest.createShard(collectionName, "s3").process(cluster.getSolrClient());
@@ -487,7 +486,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
coll = getCollectionState(collectionName);
assertEquals(1, coll.getSlice("s3").getReplicas().size());
- coll.getSlice("s3").forEach(replica -> assertEquals(jetty.getNodeName(), replica.getNode()));
+ coll.getSlice("s3").forEach(replica -> assertEquals(jetty.getNodeName(), replica.getNodeName()));
}
public void testDataProvider() throws Exception {
@@ -500,7 +499,7 @@ public class TestPolicyCloud extends SolrCloudTestCase {
DocCollection rulesCollection = getCollectionState(collectionName);
try (SolrCloudManager cloudManager = new SolrClientCloudManager(new ZkDistributedQueueFactory(cluster.getZkClient()), cluster.getSolrClient())) {
- Map<String, Object> val = cloudManager.getNodeStateProvider().getNodeValues(rulesCollection.getReplicas().get(0).getNode(), Arrays.asList(
+ Map<String, Object> val = cloudManager.getNodeStateProvider().getNodeValues(rulesCollection.getReplicas().get(0).getNodeName(), Arrays.asList(
"freedisk",
"cores",
"host",
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimSolrCloudTestCase.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimSolrCloudTestCase.java
index 1b5e21f..6918018 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimSolrCloudTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimSolrCloudTestCase.java
@@ -33,7 +33,6 @@ import java.util.stream.Collectors;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.cloud.CloudTestUtils;
import org.apache.solr.common.cloud.ClusterState;
import org.apache.solr.common.cloud.DocCollection;
@@ -219,22 +218,22 @@ public class SimSolrCloudTestCase extends SolrTestCaseJ4 {
public static void assertReplicaEquals(Replica one, Replica two) {
assertEquals(one.getName(), two.getName());
- assertEquals(one.getNode(), two.getNode());
+ assertEquals(one.getNodeName(), two.getNodeName());
assertEquals(one.getState(), two.getState());
assertEquals(one.getType(), two.getType());
assertReplicaPropsEquals(one.getProperties(), two.getProperties());
}
@SuppressWarnings({"unchecked"})
- public static void assertReplicaInfoEquals(ReplicaInfo one, ReplicaInfo two) {
+ public static void assertReplicaInfoEquals(Replica one, Replica two) {
assertEquals(one.getName(), two.getName());
- assertEquals(one.getNode(), two.getNode());
+ assertEquals(one.getNodeName(), two.getNodeName());
assertEquals(one.getState(), two.getState());
assertEquals(one.getType(), two.getType());
- assertEquals(one.getCore(), two.getCore());
+ assertEquals(one.getCoreName(), two.getCoreName());
assertEquals(one.getCollection(), two.getCollection());
assertEquals(one.getShard(), two.getShard());
- assertEquals(one.isLeader, two.isLeader);
+ assertEquals(one.isLeader(), two.isLeader());
Map<String, Object> oneMap = new HashMap<>();
Map<String, Object> twoMap = new HashMap<>();
one.toMap(oneMap);
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
index abb75cc..2c82d0c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimClusterStateProvider.java
@@ -29,7 +29,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
import org.apache.solr.client.solrj.cloud.autoscaling.Preference;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -64,7 +63,7 @@ public class TestSimClusterStateProvider extends SolrCloudTestCase {
private static Collection<String> liveNodes;
private static Map<String, Object> clusterProperties;
private static AutoScalingConfig autoScalingConfig;
- private static Map<String, Map<String, Map<String, List<ReplicaInfo>>>> replicas;
+ private static Map<String, Map<String, Map<String, List<Replica>>>> replicas;
private static Map<String, Map<String, Object>> nodeValues;
private static ClusterState realState;
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
index d9a412d..edf2349 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
@@ -708,7 +708,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
cluster.getSimClusterStateProvider().getClusterState().getCollection(collectionName)
.getSlice("shard1")
.getReplicas()
- .forEach(r -> nodes.add(r.getNode()));
+ .forEach(r -> nodes.add(r.getNodeName()));
String metricName = "QUERY./select.requestTimes:1minRate";
// simulate search traffic
@@ -803,7 +803,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
ClusterState clusterState = cluster.getClusterStateProvider().getClusterState();
DocCollection coll = clusterState.getCollection(collectionName);
Set<String> nodes = coll.getReplicas().stream()
- .map(r -> r.getNode())
+ .map(r -> r.getNodeName())
.collect(Collectors.toSet());
Map<String, Number> initialFreedisk = getFreeDiskPerNode(nodes);
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimPolicyCloud.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimPolicyCloud.java
index db03368..011ef3a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimPolicyCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimPolicyCloud.java
@@ -32,7 +32,6 @@ import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
import org.apache.solr.client.solrj.cloud.autoscaling.Policy;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.Row;
import org.apache.solr.client.solrj.cloud.autoscaling.Variable.Type;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -105,7 +104,7 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
AtomicInteger count = new AtomicInteger(0);
for (Row row : session.getSortedNodes()) {
row.collectionVsShardVsReplicas.forEach((c, shardVsReplicas) -> shardVsReplicas.forEach((s, replicaInfos) -> {
- for (ReplicaInfo replicaInfo : replicaInfos) {
+ for (Replica replicaInfo : replicaInfos) {
if (replicaInfo.getProperties().containsKey(Type.CORE_IDX.tagName)) count.incrementAndGet();
}
}));
@@ -133,14 +132,14 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
CloudUtil.waitForState(cluster, collectionName, 120, TimeUnit.SECONDS,
CloudUtil.clusterShape(1, 1, false, true));
- getCollectionState(collectionName).forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNode()));
+ getCollectionState(collectionName).forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNodeName()));
CollectionAdminRequest.addReplicaToShard(collectionName, "shard1").process(solrClient);
CloudUtil.waitForState(cluster,
collectionName, 120l, TimeUnit.SECONDS,
(liveNodes, collectionState) -> collectionState.getReplicas().size() == 2);
- getCollectionState(collectionName).forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNode()));
+ getCollectionState(collectionName).forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNodeName()));
}
public void testCreateCollectionSplitShard() throws Exception {
@@ -230,7 +229,7 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
DocCollection collection = getCollectionState("metricsTest");
List<String> tags = Arrays.asList("metrics:solr.node:ADMIN./admin/authorization.clientErrors:count",
"metrics:solr.jvm:buffers.direct.Count");
- Map<String, Object> val = cluster.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNode(), tags);
+ Map<String, Object> val = cluster.getNodeStateProvider().getNodeValues(collection.getReplicas().get(0).getNodeName(), tags);
for (String tag : tags) {
assertNotNull( "missing : "+ tag , val.get(tag));
}
@@ -279,15 +278,15 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
BiConsumer<String, Replica> verifyReplicas = (s, replica) -> {
switch (replica.getType()) {
case NRT: {
- assertTrue("NRT replica should be in " + nrtNodeName, replica.getNode().equals(nrtNodeName));
+ assertTrue("NRT replica should be in " + nrtNodeName, replica.getNodeName().equals(nrtNodeName));
break;
}
case TLOG: {
- assertTrue("TLOG replica should be in " + tlogNodeName, replica.getNode().equals(tlogNodeName));
+ assertTrue("TLOG replica should be in " + tlogNodeName, replica.getNodeName().equals(tlogNodeName));
break;
}
case PULL: {
- assertTrue("PULL replica should be in " + pullNodeName, replica.getNode().equals(pullNodeName));
+ assertTrue("PULL replica should be in " + pullNodeName, replica.getNodeName().equals(pullNodeName));
break;
}
}
@@ -321,14 +320,14 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
DocCollection coll = getCollectionState("policiesTest");
assertEquals("c1", coll.getPolicyName());
assertEquals(2,coll.getReplicas().size());
- coll.forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNode()));
+ coll.forEachReplica((s, replica) -> assertEquals(nodeId, replica.getNodeName()));
CollectionAdminRequest.createShard("policiesTest", "s3").process(solrClient);
CloudUtil.waitForState(cluster, "Timeout waiting for collection to become active", "policiesTest",
CloudUtil.clusterShape(3, 1));
coll = getCollectionState("policiesTest");
assertEquals(1, coll.getSlice("s3").getReplicas().size());
- coll.getSlice("s3").forEach(replica -> assertEquals(nodeId, replica.getNode()));
+ coll.getSlice("s3").forEach(replica -> assertEquals(nodeId, replica.getNodeName()));
}
public void testDataProvider() throws IOException, SolrServerException, KeeperException, InterruptedException {
@@ -339,7 +338,7 @@ public class TestSimPolicyCloud extends SimSolrCloudTestCase {
CloudUtil.clusterShape(1, 2, false, true));
DocCollection rulesCollection = getCollectionState("policiesTest");
- Map<String, Object> val = cluster.getNodeStateProvider().getNodeValues(rulesCollection.getReplicas().get(0).getNode(), Arrays.asList(
+ Map<String, Object> val = cluster.getNodeStateProvider().getNodeValues(rulesCollection.getReplicas().get(0).getNodeName(), Arrays.asList(
"freedisk",
"cores",
"heapUsage",
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
index 3206f06..c7b6153 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
@@ -38,7 +38,6 @@ import java.util.concurrent.locks.ReentrantLock;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.AutoScalingConfig;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventProcessorStage;
import org.apache.solr.client.solrj.cloud.autoscaling.TriggerEventType;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
@@ -61,6 +60,7 @@ import org.apache.solr.cloud.autoscaling.TriggerListenerBase;
import org.apache.solr.cloud.autoscaling.TriggerValidationException;
import org.apache.solr.common.MapWriter;
import org.apache.solr.common.cloud.LiveNodesListener;
+import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.TimeSource;
import org.apache.solr.common.util.Utils;
@@ -1467,7 +1467,7 @@ public class TestSimTriggerIntegration extends SimSolrCloudTestCase {
assertTrue(nodeRates.toString(), nodeRates.size() > 0);
AtomicDouble totalNodeRate = new AtomicDouble();
nodeRates.forEach((n, r) -> totalNodeRate.addAndGet(r));
- List<ReplicaInfo> replicaRates = (List<ReplicaInfo>)ev.event.getProperties().get(SearchRateTrigger.HOT_REPLICAS);
+ List<Replica> replicaRates = (List<Replica>)ev.event.getProperties().get(SearchRateTrigger.HOT_REPLICAS);
assertNotNull("replicaRates", replicaRates);
assertTrue(replicaRates.toString(), replicaRates.size() > 0);
AtomicDouble totalReplicaRate = new AtomicDouble();
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
index 2bf345e..5b5e0c8 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSnapshotCloudManager.java
@@ -40,7 +40,6 @@ import org.apache.solr.client.solrj.cloud.DistribStateManager;
import org.apache.solr.client.solrj.cloud.NodeStateProvider;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.client.solrj.cloud.autoscaling.PolicyHelper;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.autoscaling.Suggester;
import org.apache.solr.client.solrj.cloud.autoscaling.Suggestion;
import org.apache.solr.client.solrj.cloud.autoscaling.VersionedData;
@@ -171,7 +170,7 @@ public class TestSnapshotCloudManager extends SolrCloudTestCase {
// get another node
String target = null;
for (String node : simCloudManager.getClusterStateProvider().getLiveNodes()) {
- if (!node.equals(r.getNode())) {
+ if (!node.equals(r.getNodeName())) {
target = node;
break;
}
@@ -202,22 +201,22 @@ public class TestSnapshotCloudManager extends SolrCloudTestCase {
}
}
assertEquals(Utils.toJSONString(oneVals), Utils.toJSONString(twoVals));
- Map<String, Map<String, List<ReplicaInfo>>> oneInfos = one.getReplicaInfo(node, SimUtils.COMMON_REPLICA_TAGS);
- Map<String, Map<String, List<ReplicaInfo>>> twoInfos = two.getReplicaInfo(node, SimUtils.COMMON_REPLICA_TAGS);
+ Map<String, Map<String, List<Replica>>> oneInfos = one.getReplicaInfo(node, SimUtils.COMMON_REPLICA_TAGS);
+ Map<String, Map<String, List<Replica>>> twoInfos = two.getReplicaInfo(node, SimUtils.COMMON_REPLICA_TAGS);
assertEquals("collections on node" + node, oneInfos.keySet(), twoInfos.keySet());
oneInfos.forEach((coll, oneShards) -> {
- Map<String, List<ReplicaInfo>> twoShards = twoInfos.get(coll);
+ Map<String, List<Replica>> twoShards = twoInfos.get(coll);
assertEquals("shards on node " + node, oneShards.keySet(), twoShards.keySet());
oneShards.forEach((shard, oneReplicas) -> {
- List<ReplicaInfo> twoReplicas = twoShards.get(shard);
+ List<Replica> twoReplicas = twoShards.get(shard);
assertEquals("num replicas on node " + node, oneReplicas.size(), twoReplicas.size());
- Map<String, ReplicaInfo> oneMap = oneReplicas.stream()
- .collect(Collectors.toMap(ReplicaInfo::getName, Function.identity()));
- Map<String, ReplicaInfo> twoMap = twoReplicas.stream()
- .collect(Collectors.toMap(ReplicaInfo::getName, Function.identity()));
+ Map<String, Replica> oneMap = oneReplicas.stream()
+ .collect(Collectors.toMap(Replica::getName, Function.identity()));
+ Map<String, Replica> twoMap = twoReplicas.stream()
+ .collect(Collectors.toMap(Replica::getName, Function.identity()));
assertEquals("replica coreNodeNames on node " + node, oneMap.keySet(), twoMap.keySet());
oneMap.forEach((coreNode, oneReplica) -> {
- ReplicaInfo twoReplica = twoMap.get(coreNode);
+ Replica twoReplica = twoMap.get(coreNode);
SimSolrCloudTestCase.assertReplicaInfoEquals(oneReplica, twoReplica);
});
});
diff --git a/solr/core/src/test/org/apache/solr/cloud/cdcr/BaseCdcrDistributedZkTest.java b/solr/core/src/test/org/apache/solr/cloud/cdcr/BaseCdcrDistributedZkTest.java
index 61dfb3b..aa35de1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/cdcr/BaseCdcrDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/cdcr/BaseCdcrDistributedZkTest.java
@@ -610,7 +610,7 @@ public class BaseCdcrDistributedZkTest extends AbstractDistribZkTestBase {
List<String> nodeNames = new ArrayList<>();
for (Slice shard : zkStateReader.getClusterState().getCollection(temporaryCollection).getSlices()) {
for (Replica replica : shard.getReplicas()) {
- nodeNames.add(replica.getNode());
+ nodeNames.add(replica.getNodeName());
}
}
@@ -742,7 +742,7 @@ public class BaseCdcrDistributedZkTest extends AbstractDistribZkTestBase {
this.coreNodeName = coreNodeName;
nodeProperties.setProperty(CoreDescriptor.CORE_NODE_NAME, this.coreNodeName);
- this.nodeName = replica.getNode();
+ this.nodeName = replica.getNodeName();
ZkCoreNodeProps coreNodeProps = new ZkCoreNodeProps(info);
this.url = coreNodeProps.getCoreUrl();
diff --git a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrTestsUtil.java b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrTestsUtil.java
index 2f379a0..869e5be 100644
--- a/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrTestsUtil.java
+++ b/solr/core/src/test/org/apache/solr/cloud/cdcr/CdcrTestsUtil.java
@@ -265,7 +265,7 @@ public class CdcrTestsUtil extends SolrTestCaseJ4 {
public static String getLeaderNode(MiniSolrCloudCluster cluster, String collection) throws Exception {
for (Replica replica : cluster.getSolrClient().getClusterStateProvider().getCollection(collection).getReplicas()) {
if (cluster.getSolrClient().getClusterStateProvider().getCollection(collection).getLeader("shard1") == replica) {
- return replica.getNode();
+ return replica.getNodeName();
}
}
return "";
diff --git a/solr/core/src/test/org/apache/solr/cloud/rule/RuleEngineTest.java b/solr/core/src/test/org/apache/solr/cloud/rule/RuleEngineTest.java
index e4787ca..ac708b4 100644
--- a/solr/core/src/test/org/apache/solr/cloud/rule/RuleEngineTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/rule/RuleEngineTest.java
@@ -31,7 +31,6 @@ import com.google.common.collect.ImmutableList;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.cloud.autoscaling.DelegatingCloudManager;
import org.apache.solr.client.solrj.cloud.NodeStateProvider;
-import org.apache.solr.client.solrj.cloud.autoscaling.ReplicaInfo;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.common.cloud.Replica;
import org.apache.solr.common.cloud.ReplicaPosition;
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 fe83514..7401c85 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
@@ -131,7 +131,7 @@ public class RulesTest extends SolrCloudTestCase {
return false;
}
replicaNodes.addAll(liveReplicas.stream().map
- (Replica::getNode).collect(Collectors.toList()));
+ (Replica::getNodeName).collect(Collectors.toList()));
} else if (slice.getName().equals("shard2")) {
// for shard2, we should have 3 fully live replicas
final List<Replica> liveReplicas = slice.getReplicas
@@ -140,7 +140,7 @@ public class RulesTest extends SolrCloudTestCase {
return false;
}
replicaNodes.addAll(liveReplicas.stream().map
- (Replica::getNode).collect(Collectors.toList()));
+ (Replica::getNodeName).collect(Collectors.toList()));
} else {
// WTF?
return false;
@@ -210,7 +210,7 @@ public class RulesTest extends SolrCloudTestCase {
// now sanity check that the rules were *obeyed*
// (and the contradictory policy was ignored)
return rulesCollection.getReplicas().stream().allMatch
- (replica -> (replica.getNode().contains(port) &&
+ (replica -> (replica.getNodeName().contains(port) &&
replica.isActive(liveNodes)));
});
}
@@ -254,7 +254,7 @@ public class RulesTest extends SolrCloudTestCase {
}
// now sanity check that the rules were *obeyed*
return rulesCollection.getReplicas().stream().allMatch
- (replica -> (replica.getNode().contains(port) &&
+ (replica -> (replica.getNodeName().contains(port) &&
replica.isActive(liveNodes)));
});
}
diff --git a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
index 8cb9485..efa8e11 100644
--- a/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
+++ b/solr/core/src/test/org/apache/solr/core/BlobRepositoryCloudTest.java
@@ -94,7 +94,7 @@ public class BlobRepositoryCloudTest extends SolrCloudTestCase {
// TODO: move this up to parent class?
private static String findLiveNodeURI() {
ZkStateReader zkStateReader = cluster.getSolrClient().getZkStateReader();
- return zkStateReader.getBaseUrlForNodeName(zkStateReader.getClusterState().getCollection(".system").getSlices().iterator().next().getLeader().getNode());
+ return zkStateReader.getBaseUrlForNodeName(zkStateReader.getClusterState().getCollection(".system").getSlices().iterator().next().getLeader().getNodeName());
}
private void assertLastQueryToCollection(String collection) throws SolrServerException, IOException {
diff --git a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
index 93a9dd4..7757606 100644
--- a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
+++ b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
@@ -187,7 +187,7 @@ public class CoreSorterTest extends SolrTestCaseJ4 {
Map<String,String> props = map(
CoreDescriptor.CORE_SHARD, r.getShard(),
CoreDescriptor.CORE_COLLECTION, r.getCollection(),
- CoreDescriptor.CORE_NODE_NAME, r.getNode()
+ CoreDescriptor.CORE_NODE_NAME, r.getNodeName()
);
return new CoreDescriptor(r.getCoreName(), TEST_PATH(), props , null, mock(ZkController.class));
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/AutoscalingHistoryHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/AutoscalingHistoryHandlerTest.java
index 7c4f503..9886e89 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/AutoscalingHistoryHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/AutoscalingHistoryHandlerTest.java
@@ -348,7 +348,7 @@ public class AutoscalingHistoryHandlerTest extends SolrCloudTestCase {
if (system != null) {
systemLeaderNodes = system.getReplicas().stream()
.filter(r -> r.getBool("leader", false))
- .map(r -> r.getNode())
+ .map(r -> r.getNodeName())
.collect(Collectors.toSet());
} else {
systemLeaderNodes = Collections.emptySet();
@@ -356,12 +356,12 @@ public class AutoscalingHistoryHandlerTest extends SolrCloudTestCase {
String nodeToKill = null;
for (Replica r : coll.getReplicas()) {
if (r.isActive(state.getLiveNodes()) &&
- !r.getNode().equals(overseerLeader)) {
- if (systemLeaderNodes.contains(r.getNode())) {
+ !r.getNodeName().equals(overseerLeader)) {
+ if (systemLeaderNodes.contains(r.getNodeName())) {
log.info("--skipping .system leader replica {}", r);
continue;
}
- nodeToKill = r.getNode();
+ nodeToKill = r.getNodeName();
break;
}
}
@@ -431,7 +431,7 @@ public class AutoscalingHistoryHandlerTest extends SolrCloudTestCase {
hasLeaders = true;
if (replicas != null && !replicas.isEmpty()) {
for (Replica r : replicas) {
- if (state.getLiveNodes().contains(r.getNode())) {
+ if (state.getLiveNodes().contains(r.getNodeName())) {
if (!r.isActive(state.getLiveNodes())) {
log.info("Not active: {}", r);
allActive = false;
diff --git a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
index c70c075..cd3f874 100644
--- a/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
+++ b/solr/core/src/test/org/apache/solr/update/TestInPlaceUpdatesDistrib.java
@@ -199,7 +199,7 @@ public class TestInPlaceUpdatesDistrib extends AbstractFullDistribZkTestBase {
Slice shard1 = clusterState.getCollection(DEFAULT_COLLECTION).getSlice(SHARD1);
leader = shard1.getLeader();
- String leaderBaseUrl = zkStateReader.getBaseUrlForNodeName(leader.getNode());
+ String leaderBaseUrl = zkStateReader.getBaseUrlForNodeName(leader.getNodeName());
for (int i=0; i<clients.size(); i++) {
if (((HttpSolrClient)clients.get(i)).getBaseURL().startsWith(leaderBaseUrl))
LEADER = clients.get(i);
@@ -210,7 +210,7 @@ public class TestInPlaceUpdatesDistrib extends AbstractFullDistribZkTestBase {
if (rep.equals(leader)) {
continue;
}
- String baseUrl = zkStateReader.getBaseUrlForNodeName(rep.getNode());
+ String baseUrl = zkStateReader.getBaseUrlForNodeName(rep.getNodeName());
for (int i=0; i<clients.size(); i++) {
if (((HttpSolrClient)clients.get(i)).getBaseURL().startsWith(baseUrl))
NONLEADERS.add(clients.get(i));
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/NodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/NodeStateProvider.java
index bb1b553..edf40b7 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/NodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/NodeStateProvider.java
@@ -40,7 +40,7 @@ public interface NodeStateProvider extends SolrCloseable {
* Get the details of each replica in a node. It attempts to fetch as much details about
* the replica as mentioned in the keys list. It is not necessary to give all details
* <p>The format is {collection:shard :[{replicadetails}]}.</p>
- * @return
+ * @return map of replica infos per collection/shard
*/
Map<String, Map<String, List<Replica>>> getReplicaInfo(String node, Collection<String> keys);
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/FreeDiskVariable.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/FreeDiskVariable.java
index fe5b164..f9e647d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/FreeDiskVariable.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/FreeDiskVariable.java
@@ -91,7 +91,7 @@ public class FreeDiskVariable extends VariableBase {
List<Row> matchingNodes = ctx.session.matrix.stream().filter(
row -> ctx.violation.getViolatingReplicas()
.stream()
- .anyMatch(p -> row.node.equals(p.replicaInfo.getNode())))
+ .anyMatch(p -> row.node.equals(p.replicaInfo.getNodeName())))
.sorted(Comparator.comparing(r -> ((Double) r.getVal(DISK, 0d))))
.collect(Collectors.toList());
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggester.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggester.java
index 42fbcc1..f88d9d4 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggester.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggester.java
@@ -99,7 +99,7 @@ public class MoveReplicaSuggester extends Suggester {
}
static Comparator<Pair<Replica, Row>> leaderLast = (r1, r2) -> {
- int leaderCompare = Boolean.compare(r1.first().isLeader, r2.first().isLeader);
+ int leaderCompare = Boolean.compare(r1.first().isLeader(), r2.first().isLeader());
if ( leaderCompare != 0 ) {
return leaderCompare;
} else {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
index bf7c8cb..13bf3cb 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/PolicyHelper.java
@@ -144,8 +144,8 @@ public class PolicyHelper {
if (coll != null) {
for (String shardName : shardNames) {
Replica ldr = coll.getLeader(shardName);
- if (ldr != null && cloudManager.getClusterStateProvider().getLiveNodes().contains(ldr.getNode())) {
- Map<String, Map<String, List<Replica>>> details = cloudManager.getNodeStateProvider().getReplicaInfo(ldr.getNode(),
+ if (ldr != null && cloudManager.getClusterStateProvider().getLiveNodes().contains(ldr.getNodeName())) {
+ Map<String, Map<String, List<Replica>>> details = cloudManager.getNodeStateProvider().getReplicaInfo(ldr.getNodeName(),
Collections.singleton(FREEDISK.perReplicaValue));
Replica replicaInfo = details.getOrDefault(collName, emptyMap()).getOrDefault(shardName, singletonList(null)).get(0);
if (replicaInfo != null) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfoXX.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfoXX.java
deleted file mode 100644
index 5b5420f..0000000
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/ReplicaInfoXX.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.solr.client.solrj.cloud.autoscaling;
-
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Objects;
-import java.util.function.BiPredicate;
-
-import org.apache.solr.common.MapWriter;
-import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkStateReader;
-import org.apache.solr.common.util.Utils;
-
-import static org.apache.solr.common.ConditionalMapWriter.NON_NULL_VAL;
-import static org.apache.solr.common.ConditionalMapWriter.dedupeKeyPredicate;
-import static org.apache.solr.common.cloud.ZkStateReader.LEADER_PROP;
-
-public class ReplicaInfoXX implements MapWriter {
- private final String name;
- private final String core, collection, shard;
- private final Replica.Type type;
- private final String node;
- public final boolean isLeader;
- private final Map<String, Object> variables = new HashMap<>();
-
- public ReplicaInfoXX(String coll, String shard, Replica r, Map<String, Object> vals) {
- this.name = r.getName();
- this.core = r.getCoreName();
- this.collection = coll;
- this.shard = shard;
- this.type = r.getType();
- this.node = r.getNode();
- boolean maybeLeader = r.getBool(LEADER_PROP, false);
- if (vals != null) {
- this.variables.putAll(vals);
- maybeLeader = "true".equals(String.valueOf(vals.getOrDefault(LEADER_PROP, maybeLeader)));
- }
- this.isLeader = maybeLeader;
- validate();
- }
-
- public ReplicaInfoXX(String name, String core, String coll, String shard, Replica.Type type, String node, Map<String, Object> vals) {
- if (vals == null) vals = Collections.emptyMap();
- this.name = name;
- if (vals != null) {
- this.variables.putAll(vals);
- }
- this.isLeader = "true".equals(String.valueOf(vals.getOrDefault(LEADER_PROP, "false")));
- this.collection = coll;
- this.shard = shard;
- this.type = type;
- this.core = core;
- this.node = node;
- validate();
- }
-
- @SuppressWarnings({"unchecked"})
- public ReplicaInfoXX(Map<String, Object> map) {
- this.name = map.keySet().iterator().next();
- @SuppressWarnings({"rawtypes"})Map details = (Map) map.get(name);
- details = Utils.getDeepCopy(details, 4);
- this.collection = (String) details.remove("collection");
- this.shard = (String) details.remove("shard");
- this.core = (String) details.remove("core");
- this.node = (String) details.remove("node_name");
- this.isLeader = Boolean.parseBoolean((String) details.getOrDefault("leader", "false"));
- details.remove("leader");
- type = Replica.Type.valueOf((String) details.getOrDefault("type", "NRT"));
- details.remove("type");
- this.variables.putAll(details);
- validate();
- }
-
- private final void validate() {
- Objects.requireNonNull(this.name, "'name' must not be null");
- Objects.requireNonNull(this.core, "'core' must not be null");
- Objects.requireNonNull(this.collection, "'collection' must not be null");
- Objects.requireNonNull(this.shard, "'shard' must not be null");
- Objects.requireNonNull(this.type, "'type' must not be null");
- Objects.requireNonNull(this.node, "'node' must not be null");
- }
-
- public Object clone() {
- return new ReplicaInfoXX(name, core, collection, shard, type, node, new HashMap<>(variables));
- }
-
- @Override
- public void writeMap(EntryWriter ew) throws IOException {
- BiPredicate<CharSequence, Object> p = dedupeKeyPredicate(new HashSet<>())
- .and(NON_NULL_VAL);
- ew.put(name, (MapWriter) ew1 -> {
- ew1.put(ZkStateReader.CORE_NAME_PROP, core, p)
- .put(ZkStateReader.SHARD_ID_PROP, shard, p)
- .put(ZkStateReader.COLLECTION_PROP, collection, p)
- .put(ZkStateReader.NODE_NAME_PROP, node, p)
- .put(ZkStateReader.REPLICA_TYPE, type.toString(), p);
- for (Map.Entry<String, Object> e : variables.entrySet()) ew1.put(e.getKey(), e.getValue(), p);
- });
- }
-
- /** Replica "coreNode" name. */
- public String getName() {
- return name;
- }
-
- /** SolrCore name. */
- public String getCore() {
- return core;
- }
-
- public String getCollection() {
- return collection;
- }
-
- public String getShard() {
- return shard;
- }
-
- public Replica.Type getType() {
- Object o = type == null ? variables.get(ZkStateReader.REPLICA_TYPE) : type;
- if (o == null) {
- return Replica.Type.NRT;
- } else if (o instanceof Replica.Type) {
- return (Replica.Type)o;
- } else {
- Replica.Type type = Replica.Type.get(String.valueOf(o).toUpperCase(Locale.ROOT));
- return type;
- }
- }
-
- public Replica.State getState() {
- if (variables.get(ZkStateReader.STATE_PROP) != null) {
- return Replica.State.getState((String) variables.get(ZkStateReader.STATE_PROP));
- } else {
- // default to ACTIVE
- variables.put(ZkStateReader.STATE_PROP, Replica.State.ACTIVE.toString());
- return Replica.State.ACTIVE;
- }
- }
-
- public Map<String, Object> getProperties() {
- return variables;
- }
-
- public Object get(String name) {
- return variables.get(name);
- }
-
- public Object get(String name, Object defValue) {
- Object o = variables.get(name);
- if (o != null) {
- return o;
- } else {
- return defValue;
- }
- }
-
- public boolean getBool(String name, boolean defValue) {
- Object o = get(name, defValue);
- if (o instanceof Boolean) {
- return (Boolean)o;
- } else {
- return Boolean.parseBoolean(String.valueOf(o));
- }
- }
-
- @Override
- public boolean equals(Object o) {
- if (o == null) {
- return false;
- }
- if (!(o instanceof ReplicaInfoXX)) {
- return false;
- }
- ReplicaInfoXX other = (ReplicaInfoXX)o;
- if (
- name.equals(other.name) &&
- collection.equals(other.collection) &&
- core.equals(other.core) &&
- isLeader == other.isLeader &&
- node.equals(other.node) &&
- shard.equals(other.shard) &&
- type == other.type &&
- variables.equals(other.variables)) {
- return true;
- } else {
- return false;
- }
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(name, core, collection, shard, type);
- }
-
- @Override
- public String toString() {
- return Utils.toJSONString(this);
- }
-
- public String getNode() {
- return node;
- }
-}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Row.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Row.java
index db94ed0..3010acc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Row.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Row.java
@@ -38,7 +38,6 @@ import org.apache.solr.client.solrj.cloud.NodeStateProvider;
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
import org.apache.solr.common.MapWriter;
import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.util.Pair;
import org.apache.solr.common.util.Utils;
import org.slf4j.Logger;
@@ -254,7 +253,7 @@ public class Row implements MapWriter {
Map<String, List<Replica>> c = row.collectionVsShardVsReplicas.computeIfAbsent(coll, k -> new HashMap<>());
List<Replica> replicas = c.computeIfAbsent(shard, k -> new ArrayList<>());
String replicaname = "SYNTHETIC." + new Random().nextInt(1000) + 1000;
- Replica ri = new Replica(replicaname, this.node, coll, shard, replicaname, false,
+ Replica ri = new Replica(replicaname, this.node, coll, shard, replicaname,
Replica.State.ACTIVE, type != null ? type : Replica.Type.NRT, Collections.emptyMap());
replicas.add(ri);
for (Cell cell : row.cells) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggester.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggester.java
index 48f36e8..889fedd 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggester.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggester.java
@@ -481,7 +481,7 @@ public abstract class Suggester implements MapWriter {
row.forEachReplica(r -> {
if (withCollection.equals(r.getCollection()) &&
"shard1".equals(r.getShard())) {
- withCollectionNodes.add(r.getNode());
+ withCollectionNodes.add(r.getNodeName());
}
});
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggestion.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggestion.java
index 29fea84..e0d0a45 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggestion.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/autoscaling/Suggestion.java
@@ -123,7 +123,7 @@ public class Suggestion {
Suggester suggester = ctx.session.getSuggester(MOVEREPLICA)
.forceOperation(true)
.hint(Suggester.Hint.COLL_SHARD, new Pair<>(e.replicaInfo.getCollection(), e.replicaInfo.getShard()))
- .hint(Suggester.Hint.SRC_NODE, e.replicaInfo.getNode());
+ .hint(Suggester.Hint.SRC_NODE, e.replicaInfo.getNodeName());
if (ctx.addSuggestion(suggester) != null) {
currentDelta--;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
index 0b8a831..6a38f7c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
@@ -1116,7 +1116,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
for (Slice slice : slices.values()) {
Replica leader = slice.getLeader();
for (Replica replica : slice.getReplicas()) {
- String node = replica.getNode();
+ String node = replica.getNodeName();
if (!liveNodes.contains(node) // Must be a live node to continue
|| replica.getState() != Replica.State.ACTIVE) // Must be an ACTIVE replica to continue
continue;
@@ -1139,7 +1139,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
String joinedInputCollections = StrUtils.join(inputCollections, ',');
Set<String> seenNodes = new HashSet<>();
sortedReplicas.forEach( replica -> {
- if (seenNodes.add(replica.getNode())) {
+ if (seenNodes.add(replica.getNodeName())) {
theUrlList.add(ZkCoreNodeProps.getCoreUrl(replica.getBaseUrl(), joinedInputCollections));
}
});
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
index 0c5bb21..1ce3bee 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
@@ -110,7 +110,7 @@ public class SolrClientNodeStateProvider implements NodeStateProvider, MapWriter
withCollectionsMap.put(coll.getName(), (String) coll.getProperties().get(CollectionAdminParams.WITH_COLLECTION));
}
coll.forEachReplica((shard, replica) -> {
- Map<String, Map<String, List<Replica>>> nodeData = nodeVsCollectionVsShardVsReplicaInfo.computeIfAbsent(replica.getNode(), k -> new HashMap<>());
+ Map<String, Map<String, List<Replica>>> nodeData = nodeVsCollectionVsShardVsReplicaInfo.computeIfAbsent(replica.getNodeName(), k -> new HashMap<>());
Map<String, List<Replica>> collData = nodeData.computeIfAbsent(collName, k -> new HashMap<>());
List<Replica> replicas = collData.computeIfAbsent(shard, k -> new ArrayList<>());
replicas.add((Replica) replica.clone());
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
index f014b92..9ed805c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FeaturesSelectionStream.java
@@ -270,7 +270,7 @@ public class FeaturesSelectionStream extends TupleStream implements Expressible{
Collection<Replica> replicas = slice.getReplicas();
List<Replica> shuffler = new ArrayList<>();
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())) {
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())) {
shuffler.add(replica);
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
index 429cba0..6949d80 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
@@ -352,7 +352,7 @@ public class TextLogitStream extends TupleStream implements Expressible {
Collection<Replica> replicas = slice.getReplicas();
List<Replica> shuffler = new ArrayList<>();
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())) {
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())) {
shuffler.add(replica);
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
index bab8c66..b1769a6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
@@ -423,7 +423,7 @@ public class TopicStream extends CloudSolrStream implements Expressible {
params.set(DISTRIB, "false");
params.set("rows", 1);
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())) {
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())) {
String coreUrl = replica.getCoreUrl();
SolrStream solrStream = new SolrStream(coreUrl, params);
@@ -484,7 +484,7 @@ public class TopicStream extends CloudSolrStream implements Expressible {
for(Slice slice : slices) {
Collection<Replica> replicas = slice.getReplicas();
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())){
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())){
HttpSolrClient httpClient = streamContext.getSolrClientCache().getHttpSolrClient(replica.getCoreUrl());
try {
SolrDocument doc = httpClient.getById(id);
@@ -531,7 +531,7 @@ public class TopicStream extends CloudSolrStream implements Expressible {
Collection<Replica> replicas = slice.getReplicas();
List<Replica> shuffler = new ArrayList<>();
for(Replica replica : replicas) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode()))
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName()))
shuffler.add(replica);
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupleStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupleStream.java
index 46c133b..90bfb0e 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupleStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupleStream.java
@@ -160,7 +160,7 @@ public abstract class TupleStream implements Closeable, Serializable, MapWriter
for(Slice slice : slices) {
List<Replica> sortedReplicas = new ArrayList<>();
for(Replica replica : slice.getReplicas()) {
- if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNode())) {
+ if(replica.getState() == Replica.State.ACTIVE && liveNodes.contains(replica.getNodeName())) {
sortedReplicas.add(replica);
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparator.java
index 19a4fbaa..bb8cecb 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparator.java
@@ -139,7 +139,7 @@ public class NodePreferenceRulesComparator implements Comparator<Object> {
}
Collection<String> tags = Collections.singletonList(metricTag);
- String otherNodeName = ((Replica) o).getNode();
+ String otherNodeName = ((Replica) o).getNodeName();
Map<String, Object> currentNodeMetric = sysPropsCache.getSysProps(nodeName, tags);
Map<String, Object> otherNodeMetric = sysPropsCache.getSysProps(otherNodeName, tags);
return currentNodeMetric.equals(otherNodeMetric);
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
index 1f90ada..5e61bc1 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ClusterStateUtil.java
@@ -80,7 +80,7 @@ public class ClusterStateUtil {
Collection<Replica> replicas = slice.getReplicas();
for (Replica replica : replicas) {
// on a live node?
- final boolean live = clusterState.liveNodesContain(replica.getNode());
+ final boolean live = clusterState.liveNodesContain(replica.getNodeName());
final boolean isActive = replica.getState() == Replica.State.ACTIVE;
if (!live || !isActive) {
// fail
@@ -139,7 +139,7 @@ public class ClusterStateUtil {
Collection<Replica> replicas = slice.getReplicas();
for (Replica replica : replicas) {
// on a live node?
- boolean live = clusterState.liveNodesContain(replica.getNode());
+ boolean live = clusterState.liveNodesContain(replica.getNodeName());
String rcoreNodeName = replica.getName();
String rbaseUrl = replica.getStr(ZkStateReader.BASE_URL_PROP);
if (live && coreNodeName.equals(rcoreNodeName)
@@ -193,7 +193,7 @@ public class ClusterStateUtil {
for (Replica replica : replicas) {
// on a live node?
boolean live = clusterState.liveNodesContain(replica
- .getNode());
+ .getNodeName());
if (live) {
// fail
success = false;
@@ -222,7 +222,7 @@ public class ClusterStateUtil {
int liveAndActive = 0;
for (Slice slice : slices) {
for (Replica replica : slice.getReplicas()) {
- boolean live = zkStateReader.getClusterState().liveNodesContain(replica.getNode());
+ boolean live = zkStateReader.getClusterState().liveNodesContain(replica.getNodeName());
boolean active = replica.getState() == Replica.State.ACTIVE;
if (live && active) {
liveAndActive++;
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
index 847bc01..3a4a28a 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/DocCollection.java
@@ -117,18 +117,18 @@ public class DocCollection extends ZkNodeProps implements Iterable<Slice> {
}
private void addNodeNameReplica(Replica replica) {
- List<Replica> replicas = nodeNameReplicas.get(replica.getNode());
+ List<Replica> replicas = nodeNameReplicas.get(replica.getNodeName());
if (replicas == null) {
replicas = new ArrayList<>();
- nodeNameReplicas.put(replica.getNode(), replicas);
+ nodeNameReplicas.put(replica.getNodeName(), replicas);
}
replicas.add(replica);
if (replica.getStr(Slice.LEADER) != null) {
- List<Replica> leaderReplicas = nodeNameLeaderReplicas.get(replica.getNode());
+ List<Replica> leaderReplicas = nodeNameLeaderReplicas.get(replica.getNodeName());
if (leaderReplicas == null) {
leaderReplicas = new ArrayList<>();
- nodeNameLeaderReplicas.put(replica.getNode(), leaderReplicas);
+ nodeNameLeaderReplicas.put(replica.getNodeName(), leaderReplicas);
}
leaderReplicas.add(replica);
}
@@ -353,7 +353,7 @@ public class DocCollection extends ZkNodeProps implements Iterable<Slice> {
public String getShardId(String nodeName, String coreName) {
for (Slice slice : this) {
for (Replica replica : slice) {
- if (Objects.equals(replica.getNode(), nodeName) && Objects.equals(replica.getCoreName(), coreName))
+ if (Objects.equals(replica.getNodeName(), nodeName) && Objects.equals(replica.getCoreName(), coreName))
return slice.getName();
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java b/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
index 9f32775..51a21db 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/Replica.java
@@ -19,6 +19,7 @@ package org.apache.solr.common.cloud;
import java.io.IOException;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
@@ -27,6 +28,7 @@ import java.util.function.BiPredicate;
import org.apache.solr.common.MapWriter;
import org.apache.solr.common.util.Utils;
+import org.noggit.JSONWriter;
import static org.apache.solr.common.ConditionalMapWriter.NON_NULL_VAL;
import static org.apache.solr.common.ConditionalMapWriter.dedupeKeyPredicate;
@@ -45,7 +47,7 @@ public class Replica extends ZkNodeProps implements MapWriter {
* <p>
* <b>NOTE</b>: when the node the replica is hosted on crashes, the
* replica's state may remain ACTIVE in ZK. To determine if the replica is
- * truly active, you must also verify that its {@link Replica#getNode()
+ * truly active, you must also verify that its {@link Replica#getNodeName()
* node} is under {@code /live_nodes} in ZK (or use
* {@link ClusterState#liveNodesContain(String)}).
* </p>
@@ -110,58 +112,50 @@ public class Replica extends ZkNodeProps implements MapWriter {
*/
PULL;
- public static Type get(String name){
+ public static Type get(String name) {
return name == null ? Type.NRT : Type.valueOf(name.toUpperCase(Locale.ROOT));
}
}
- // coreNode name
- public final String name;
+ // immutable
+ public final String name; // coreNode name
public final String node;
public final String core;
- public final State state;
public final Type type;
public final String shard, collection;
- public final boolean isLeader;
+
+ // mutable
+ private State state;
public Replica(String name, Map<String,Object> map, String collection, String shard) {
super(new HashMap<>());
+ propMap.putAll(map);
this.collection = collection;
- map.remove(ZkStateReader.COLLECTION_PROP);
this.shard = shard;
- map.remove(ZkStateReader.SHARD_ID_PROP);
this.name = name;
- map.remove(ZkStateReader.CORE_NODE_NAME_PROP);
- this.node = (String) map.get(ZkStateReader.NODE_NAME_PROP);
- map.remove(ZkStateReader.NODE_NAME_PROP);
- this.core = (String) map.get(ZkStateReader.CORE_NAME_PROP);
- map.remove(ZkStateReader.CORE_NAME_PROP);
- type = Type.get((String) map.remove(ZkStateReader.REPLICA_TYPE));
- if (propMap.get(ZkStateReader.STATE_PROP) != null) {
- this.state = State.getState((String) map.remove(ZkStateReader.STATE_PROP));
- } else {
- this.state = State.ACTIVE; //Default to ACTIVE
- }
- this.isLeader = Boolean.parseBoolean(String.valueOf(map.getOrDefault(ZkStateReader.LEADER_PROP, "false")));
- this.propMap.putAll(map);
+ this.node = (String) propMap.get(ZkStateReader.NODE_NAME_PROP);
+ this.core = (String) propMap.get(ZkStateReader.CORE_NAME_PROP);
+ this.type = Type.get((String) propMap.get(ZkStateReader.REPLICA_TYPE));
+ // default to ACTIVE
+ this.state = State.getState(String.valueOf(propMap.getOrDefault(ZkStateReader.STATE_PROP, State.ACTIVE.toString())));
validate();
}
// clone constructor
public Replica(String name, String node, String collection, String shard, String core,
- boolean isLeader, State state, Type type, Map<String, Object> props) {
+ State state, Type type, Map<String, Object> props) {
super(new HashMap<>());
this.name = name;
this.node = node;
this.state = state;
this.type = type;
- this.isLeader = isLeader;
this.collection = collection;
this.shard = shard;
this.core = core;
if (props != null) {
this.propMap.putAll(props);
}
+ validate();
}
/**
@@ -169,16 +163,16 @@ public class Replica extends ZkNodeProps implements MapWriter {
* is a map containing all replica properties.
* @param nestedMap nested map containing replica properties
*/
+ @SuppressWarnings("unchecked")
public Replica(Map<String, Object> nestedMap) {
this.name = nestedMap.keySet().iterator().next();
Map<String, Object> details = (Map<String, Object>) nestedMap.get(name);
Objects.requireNonNull(details);
details = Utils.getDeepCopy(details, 4);
- this.collection = (String) details.get("collection");
- this.shard = (String) details.get("shard");
- this.core = (String) details.get("core");
- this.node = (String) details.get("node_name");
- this.isLeader = Boolean.parseBoolean(String.valueOf(details.getOrDefault(ZkStateReader.LEADER_PROP, "false")));
+ this.collection = String.valueOf(details.get("collection"));
+ this.shard = String.valueOf(details.get("shard"));
+ this.core = String.valueOf(details.get("core"));
+ this.node = String.valueOf(details.get("node_name"));
type = Replica.Type.valueOf(String.valueOf(details.getOrDefault(ZkStateReader.REPLICA_TYPE, "NRT")));
state = State.getState(String.valueOf(details.getOrDefault(ZkStateReader.STATE_PROP, "active")));
this.propMap.putAll(details);
@@ -194,8 +188,18 @@ public class Replica extends ZkNodeProps implements MapWriter {
Objects.requireNonNull(this.type, "'type' must not be null");
Objects.requireNonNull(this.state, "'state' must not be null");
Objects.requireNonNull(this.node, "'node' must not be null");
+ // make sure all declared props are in the propMap
+ propMap.put(ZkStateReader.COLLECTION_PROP, collection);
+ propMap.put(ZkStateReader.SHARD_ID_PROP, shard);
+ propMap.put(ZkStateReader.CORE_NODE_NAME_PROP, name);
+ propMap.put(ZkStateReader.NODE_NAME_PROP, node);
+ propMap.put(ZkStateReader.CORE_NAME_PROP, core);
+ propMap.put(ZkStateReader.REPLICA_TYPE, type.toString());
+ propMap.put(ZkStateReader.STATE_PROP, state.toString());
}
+
+
public String getCollection() {
return collection;
}
@@ -205,6 +209,11 @@ public class Replica extends ZkNodeProps implements MapWriter {
}
@Override
+ public Map<String, Object> getProperties() {
+ return super.getProperties();
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
@@ -212,24 +221,12 @@ public class Replica extends ZkNodeProps implements MapWriter {
Replica other = (Replica) o;
- if (
- name.equals(other.name) &&
- collection.equals(other.collection) &&
- core.equals(other.core) &&
- isLeader == other.isLeader &&
- node.equals(other.node) &&
- shard.equals(other.shard) &&
- type == other.type &&
- propMap.equals(other.propMap)) {
- return true;
- } else {
- return false;
- }
+ return name.equals(other.name);
}
@Override
public int hashCode() {
- return Objects.hash(name, core, collection, shard, type, state, propMap);
+ return Objects.hash(name);
}
/** Also known as coreNodeName. */
@@ -251,7 +248,7 @@ public class Replica extends ZkNodeProps implements MapWriter {
}
/** The name of the node this replica resides on */
- public String getNode() {
+ public String getNodeName() {
return node;
}
@@ -260,6 +257,11 @@ public class Replica extends ZkNodeProps implements MapWriter {
return state;
}
+ public void setState(State state) {
+ this.state = state;
+ propMap.put(ZkStateReader.STATE_PROP, this.state.toString());
+ }
+
public boolean isActive(Set<String> liveNodes) {
return this.node != null && liveNodes.contains(this.node) && this.state == State.ACTIVE;
}
@@ -268,6 +270,19 @@ public class Replica extends ZkNodeProps implements MapWriter {
return this.type;
}
+ public boolean isLeader() {
+ return getBool(ZkStateReader.LEADER_PROP, false);
+ }
+
+ public Object get(String key, Object defValue) {
+ Object o = get(key);
+ if (o != null) {
+ return o;
+ } else {
+ return defValue;
+ }
+ }
+
public String getProperty(String propertyName) {
final String propertyKey;
if (!propertyName.startsWith(ZkStateReader.PROPERTY_PROP_PREFIX)) {
@@ -279,42 +294,47 @@ public class Replica extends ZkNodeProps implements MapWriter {
return propertyValue;
}
- public Object get(String propName) {
- return propMap.get(propName);
- }
-
- public Object get(String propName, Object defValue) {
- Object o = propMap.get(propName);
- if (o != null) {
- return o;
- } else {
- return defValue;
- }
- }
-
public Object clone() {
- return new Replica(name, node, collection, shard, core, isLeader, state, type,
+ return new Replica(name, node, collection, shard, core, state, type,
propMap);
}
@Override
public void writeMap(MapWriter.EntryWriter ew) throws IOException {
+ ew.put(name, _allPropsWriter());
+ }
+
+
+ private MapWriter _allPropsWriter() {
BiPredicate<CharSequence, Object> p = dedupeKeyPredicate(new HashSet<>())
.and(NON_NULL_VAL);
- ew.put(name, (MapWriter) ew1 -> {
- ew1.put(ZkStateReader.CORE_NAME_PROP, core, p)
+ return writer -> {
+ // XXX this is why this class should be immutable - it's a mess !!!
+
+ // propMap takes precedence because it's mutable and we can't control its
+ // contents, so a third party may override some declared fields
+ for (Map.Entry<String, Object> e : propMap.entrySet()) {
+ writer.put(e.getKey(), e.getValue(), p);
+ }
+ writer.put(ZkStateReader.CORE_NAME_PROP, core, p)
.put(ZkStateReader.SHARD_ID_PROP, shard, p)
.put(ZkStateReader.COLLECTION_PROP, collection, p)
.put(ZkStateReader.NODE_NAME_PROP, node, p)
.put(ZkStateReader.REPLICA_TYPE, type.toString(), p)
- .put(ZkStateReader.STATE_PROP, state.toString(), p)
- .put(ZkStateReader.LEADER_PROP, isLeader, p);
- for (Map.Entry<String, Object> e : propMap.entrySet()) ew1.put(e.getKey(), e.getValue(), p);
- });
+ .put(ZkStateReader.STATE_PROP, state.toString(), p);
+ };
+ }
+
+ @Override
+ public void write(JSONWriter jsonWriter) {
+ Map<String, Object> map = new LinkedHashMap<>();
+ // this serializes also our declared properties
+ _allPropsWriter().toMap(map);
+ jsonWriter.write(map);
}
@Override
public String toString() {
- return Utils.toJSONString(this); // small enough, keep it on one line (i.e. no indent)
+ return name + ':' + Utils.toJSONString(propMap); // small enough, keep it on one line (i.e. no indent)
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index e0851ad..5139259 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -852,7 +852,7 @@ public class ZkStateReader implements SolrCloseable {
public Replica getLeader(Set<String> liveNodes, DocCollection docCollection, String shard) {
Replica replica = docCollection != null ? docCollection.getLeader(shard) : null;
- if (replica != null && liveNodes.contains(replica.getNode())) {
+ if (replica != null && liveNodes.contains(replica.getNodeName())) {
return replica;
}
return null;
@@ -862,7 +862,7 @@ public class ZkStateReader implements SolrCloseable {
if (clusterState != null) {
DocCollection docCollection = clusterState.getCollectionOrNull(collection);
Replica replica = docCollection != null ? docCollection.getLeader(shard) : null;
- if (replica != null && getClusterState().liveNodesContain(replica.getNode())) {
+ if (replica != null && getClusterState().liveNodesContain(replica.getNodeName())) {
return replica;
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggesterTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggesterTest.java
index 5bea6ac..af60cd8 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggesterTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/MoveReplicaSuggesterTest.java
@@ -39,27 +39,27 @@ public class MoveReplicaSuggesterTest extends SolrTestCaseJ4 {
private Replica.Type REPLICA_TYPE = Replica.Type.NRT;
private Row ROW = null;
- private ReplicaInfo REPLICA_INFO_ONE = new ReplicaInfo("core_node1", CORE, COLLECTION, SHARD, REPLICA_TYPE, NODE, IS_LEADER);
- private ReplicaInfo REPLICA_INFO_TWO = new ReplicaInfo("core_node2", CORE, COLLECTION, SHARD, REPLICA_TYPE, NODE, null);
- private ReplicaInfo REPLICA_INFO_THREE = new ReplicaInfo("core_node3", CORE, COLLECTION, SHARD, REPLICA_TYPE, NODE, IS_LEADER);
- private ReplicaInfo REPLICA_INFO_FOUR = new ReplicaInfo("core_node4", CORE, COLLECTION, SHARD, REPLICA_TYPE, NODE, null);
+ private Replica REPLICA_INFO_ONE = new Replica("core_node1", NODE, COLLECTION, SHARD, CORE, Replica.State.ACTIVE, REPLICA_TYPE, IS_LEADER);
+ private Replica REPLICA_INFO_TWO = new Replica("core_node2", NODE, COLLECTION, SHARD, CORE, Replica.State.ACTIVE, REPLICA_TYPE, null);
+ private Replica REPLICA_INFO_THREE = new Replica("core_node3", NODE, COLLECTION, SHARD, CORE, Replica.State.ACTIVE, REPLICA_TYPE, IS_LEADER);
+ private Replica REPLICA_INFO_FOUR = new Replica("core_node4", NODE, COLLECTION, SHARD, CORE, Replica.State.ACTIVE, REPLICA_TYPE, null);
- private Pair<ReplicaInfo, Row> PAIR_ONE = new Pair<>(REPLICA_INFO_ONE, ROW);
- private Pair<ReplicaInfo, Row> PAIR_TWO = new Pair<>(REPLICA_INFO_TWO, ROW);
- private Pair<ReplicaInfo, Row> PAIR_THREE = new Pair<>(REPLICA_INFO_THREE, ROW);
- private Pair<ReplicaInfo, Row> PAIR_FOUR = new Pair<>(REPLICA_INFO_FOUR, ROW);
+ private Pair<Replica, Row> PAIR_ONE = new Pair<>(REPLICA_INFO_ONE, ROW);
+ private Pair<Replica, Row> PAIR_TWO = new Pair<>(REPLICA_INFO_TWO, ROW);
+ private Pair<Replica, Row> PAIR_THREE = new Pair<>(REPLICA_INFO_THREE, ROW);
+ private Pair<Replica, Row> PAIR_FOUR = new Pair<>(REPLICA_INFO_FOUR, ROW);
@Test
public void assertLeaderProperties() {
- assertTrue(REPLICA_INFO_ONE.isLeader);
- assertFalse(REPLICA_INFO_TWO.isLeader);
- assertTrue(REPLICA_INFO_THREE.isLeader);
- assertFalse(REPLICA_INFO_FOUR.isLeader);
+ assertTrue(REPLICA_INFO_ONE.isLeader());
+ assertFalse(REPLICA_INFO_TWO.isLeader());
+ assertTrue(REPLICA_INFO_THREE.isLeader());
+ assertFalse(REPLICA_INFO_FOUR.isLeader());
}
@Test
public void sortReplicasValidate() {
- List<Pair<ReplicaInfo, Row>> validReplicas = new ArrayList<Pair<ReplicaInfo, Row>>() {
+ List<Pair<Replica, Row>> validReplicas = new ArrayList<Pair<Replica, Row>>() {
{
add(PAIR_ONE);
add(PAIR_FOUR);
@@ -78,7 +78,7 @@ public class MoveReplicaSuggesterTest extends SolrTestCaseJ4 {
@Test
public void sortReplicasValidateLeadersMultipleLeadersComeLast() {
- List<Pair<ReplicaInfo, Row>> validReplicas = new ArrayList<Pair<ReplicaInfo, Row>>() {
+ List<Pair<Replica, Row>> validReplicas = new ArrayList<Pair<Replica, Row>>() {
{
add(PAIR_THREE);
add(PAIR_ONE);
@@ -97,8 +97,8 @@ public class MoveReplicaSuggesterTest extends SolrTestCaseJ4 {
assertTrue(isReplicaLeader(validReplicas, 3));
}
- private boolean isReplicaLeader(List<Pair<ReplicaInfo, Row>> replicas, int index) {
- return replicas.get(index).first().isLeader;
+ private boolean isReplicaLeader(List<Pair<Replica, Row>> replicas, int index) {
+ return replicas.get(index).first().isLeader();
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
index ad14620..cc049a3 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy.java
@@ -136,7 +136,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
Map<String, List<Replica>> shardVsReplicaStats = result.computeIfAbsent(collName, k -> new HashMap<>());
List<Replica> replicaInfos = shardVsReplicaStats.computeIfAbsent(shard, k -> new ArrayList<>());
replicaInfos.add(new Replica(replicaName, node, collName, shard, (String) r.get("core"),
- false, Replica.State.ACTIVE, Replica.Type.get((String) r.get(ZkStateReader.REPLICA_TYPE)), r));
+ Replica.State.ACTIVE, Replica.Type.get((String) r.get(ZkStateReader.REPLICA_TYPE)), r));
});
});
});
@@ -1191,7 +1191,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
String name = m3.keySet().iterator().next().toString();
m3 = (Map) m3.get(name);
Replica.Type type = Replica.Type.get((String) m3.get("type"));
- l3.set(i, new Replica(name, (String) node, coll.toString(), shard.toString(), name, false, Replica.State.ACTIVE, type, m3));
+ l3.set(i, new Replica(name, (String) node, coll.toString(), shard.toString(), name, Replica.State.ACTIVE, type, m3));
}
});
@@ -1483,7 +1483,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
public Map<String, Map<String, List<Replica>>> getReplicaInfo(String node, Collection<String> keys) {
@SuppressWarnings({"unchecked"})
Map<String, Map<String, List<Replica>>> o = (Map<String, Map<String, List<Replica>>>) Utils.fromJSONString("{c1: {s0:[{}]}}");
- Utils.setObjectByPath(o, "c1/s0[0]", new Replica("r0", "nodex", "c1", "s0", "c1.s0", false, Replica.State.ACTIVE, Replica.Type.NRT, new HashMap<>()));
+ Utils.setObjectByPath(o, "c1/s0[0]", new Replica("r0", "nodex", "c1", "s0", "c1.s0", Replica.State.ACTIVE, Replica.Type.NRT, new HashMap<>()));
return o;
}
@@ -2019,9 +2019,9 @@ public class TestPolicy extends SolrTestCaseJ4 {
Map m = (Map) Utils.getObjectByPath(replicaInfoMap, false, "127.0.0.1:60089_solr/compute_plan_action_test");
m.put("shard1", Arrays.asList(
new Replica("core_node1", "127.0.0.1:60089_solr", "compute_plan_action_test", "shard1", "core_node1",
- false, Replica.State.ACTIVE, Replica.Type.NRT, Collections.emptyMap()),
+ Replica.State.ACTIVE, Replica.Type.NRT, Collections.emptyMap()),
new Replica("core_node2", "127.0.0.1:60089_solr", "compute_plan_action_test", "shard1", "core_node2",
- false, Replica.State.ACTIVE, Replica.Type.NRT, Collections.emptyMap())));
+ Replica.State.ACTIVE, Replica.Type.NRT, Collections.emptyMap())));
@SuppressWarnings({"unchecked", "rawtypes"})
Map<String, Map<String, Object>> tagsMap = (Map) Utils.fromJSONString("{" +
@@ -2809,15 +2809,13 @@ public class TestPolicy extends SolrTestCaseJ4 {
public Map<String, Map<String, List<Replica>>> getReplicaInfo(String node, Collection<String> keys) {
if (node.equals("node1")) {
Map m = Utils.makeMap("newColl",
- Utils.makeMap("shard1", Collections.singletonList(new Replica("r1", "shard1",
- new Replica("r1", Utils.makeMap(ZkStateReader.NODE_NAME_PROP, "node1", ZkStateReader.CORE_NAME_PROP, "core1"), "newColl", "shard1"),
- Utils.makeMap(FREEDISK.perReplicaValue, 200)))));
+ Utils.makeMap("shard1", Collections.singletonList(new Replica("r1", "node1", "newColl", "shard1", "core1",
+ Replica.State.ACTIVE, Replica.Type.NRT, Utils.makeMap(FREEDISK.perReplicaValue, 200)))));
return m;
} else if (node.equals("node2")) {
Map m = Utils.makeMap("newColl",
- Utils.makeMap("shard2", Collections.singletonList(new Replica("r1", "shard2",
- new Replica("r1", Utils.makeMap(ZkStateReader.NODE_NAME_PROP, "node2", ZkStateReader.CORE_NAME_PROP, "core2"),"newColl", "shard2"),
- Utils.makeMap(FREEDISK.perReplicaValue, 200)))));
+ Utils.makeMap("shard2", Collections.singletonList(new Replica("r1", "node2", "newColl", "shard2", "core2",
+ Replica.State.ACTIVE, Replica.Type.NRT, Utils.makeMap(FREEDISK.perReplicaValue, 200)))));
return m;
}
return new HashMap<>();
@@ -2865,20 +2863,27 @@ public class TestPolicy extends SolrTestCaseJ4 {
ZkStateReader.REPLICA_TYPE, Replica.Type.NRT.toString(),
ZkStateReader.CORE_NAME_PROP, "core1");
Replica replica = new Replica("r1", propMap, "c1", "s1");
- Replica replicaInfo = new Replica(replica.collection, replica.shard,replica, new HashMap<>());
+ Replica replicaInfo = new Replica(replica.name, replica.node, replica.collection, replica.shard, replica.core,
+ replica.getState(), replica.type, replica.getProperties());
validReplicas.add(new Pair<>(replicaInfo, null));
- replicaInfo = new Replica("r4", "n1", "c1_s2_r1", "c1", "s2", true, Replica.State.ACTIVE, Replica.Type.NRT, null);
+ replicaInfo = new Replica("r4", "n1", "c1_s2_r1", "c1", "s2", Replica.State.ACTIVE, Replica.Type.NRT,
+ Utils.makeMap(ZkStateReader.LEADER_PROP, "true"));
validReplicas.add(new Pair<>(replicaInfo, null));
propMap.put("leader", false);
+ propMap.put("core", "r2");
+ propMap.put("node_name", "n1");
replica = new Replica("r2", propMap,"c1","s1");
- replicaInfo = new Replica(replica.collection, replica.shard, replica, new HashMap<>());
+ replicaInfo = new Replica(replica.name, replica.node, replica.collection, replica.shard, replica.core,
+ replica.getState(), replica.type, new HashMap<>());
validReplicas.add(new Pair<>(replicaInfo, null));
+ propMap.put("core", "r2");
replica = new Replica("r3", propMap,"c1","s1");
- replicaInfo = new Replica(replica.collection,replica.shard, replica, new HashMap<>());
+ replicaInfo = new Replica(replica.name, replica.node, replica.collection, replica.shard, replica.core,
+ replica.getState(), replica.type, new HashMap<>());
validReplicas.add(new Pair<>(replicaInfo, null));
@@ -3129,8 +3134,8 @@ public class TestPolicy extends SolrTestCaseJ4 {
String name = m3.keySet().iterator().next().toString();
m3 = (Map) m3.get(name);
Replica.Type type = Replica.Type.get((String) m3.get("type"));
- l3.set(i, new ReplicaInfo(name, name
- , coll.toString(), shard.toString(), type, (String) node, m3));
+ l3.set(i, new Replica(name, (String) node, coll.toString(), shard.toString(),
+ name, Replica.State.ACTIVE, type, m3));
}
});
@@ -3184,7 +3189,7 @@ public class TestPolicy extends SolrTestCaseJ4 {
@Override
public Map<String, Map<String, List<Replica>>> getReplicaInfo(String node, Collection<String> keys) {
@SuppressWarnings({"unchecked"})
- Map<String, Map<String, List<ReplicaInfo>>> result = (Map<String, Map<String, List<ReplicaInfo>>>) Utils.getObjectByPath(m, false, Arrays.asList("replicaInfo", node));
+ Map<String, Map<String, List<Replica>>> result = (Map<String, Map<String, List<Replica>>>) Utils.getObjectByPath(m, false, Arrays.asList("replicaInfo", node));
return result == null ? new HashMap<>() : result;
}
};
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy2.java b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy2.java
index ade0314..e20b28f 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy2.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/cloud/autoscaling/TestPolicy2.java
@@ -186,8 +186,8 @@ public class TestPolicy2 extends SolrTestCaseJ4 {
Set<String> nodes = new HashSet<>(nodeVals.keySet());
clusterState.getCollectionStates().forEach((s, collectionRef) -> collectionRef.get()
.forEachReplica((s12, replica) -> {
- nodes.add(replica.getNode());
- coreCount.computeIfAbsent(replica.getNode(), s1 -> new AtomicInteger(0))
+ nodes.add(replica.getNodeName());
+ coreCount.computeIfAbsent(replica.getNodeName(), s1 -> new AtomicInteger(0))
.incrementAndGet();
}));
@@ -233,13 +233,13 @@ public class TestPolicy2 extends SolrTestCaseJ4 {
@Override
public Map<String, Map<String, List<Replica>>> getReplicaInfo(String node, Collection<String> keys) {
@SuppressWarnings({"unchecked"})
- Map<String, Map<String, List<ReplicaInfo>>> result = nodeVsCollectionVsShardVsReplicaInfo.computeIfAbsent(node, Utils.NEW_HASHMAP_FUN);
+ Map<String, Map<String, List<Replica>>> result = nodeVsCollectionVsShardVsReplicaInfo.computeIfAbsent(node, Utils.NEW_HASHMAP_FUN);
if (!keys.isEmpty()) {
Row.forEachReplica(result, replicaInfo -> {
for (String key : keys) {
if (!replicaInfo.getProperties().containsKey(key)) {
replicaVals.stream()
- .filter(it -> replicaInfo.getCore().equals(it.get("core")))
+ .filter(it -> replicaInfo.getCoreName().equals(it.get("core")))
.findFirst()
.ifPresent(map -> replicaInfo.getProperties().put(key, map.get(key)));
}
@@ -280,10 +280,10 @@ public class TestPolicy2 extends SolrTestCaseJ4 {
Map<String, Map<String, List<Map>>> replicas = (Map<String, Map<String, List<Map>>>) ((Map) o).get("replicas");
replicas.forEach((coll, shardVsReplicas) -> shardVsReplicas
.forEach((shard, repDetails) -> {
- List<ReplicaInfo> reps = (List) ((Map) nodeDetails
+ List<Replica> reps = (List) ((Map) nodeDetails
.computeIfAbsent(coll, o1 -> new LinkedHashMap<>()))
- .computeIfAbsent(shard, o12 -> new ArrayList<ReplicaInfo>());
- for (Map map : repDetails) reps.add(new ReplicaInfo(map));
+ .computeIfAbsent(shard, o12 -> new ArrayList<Replica>());
+ for (Map map : repDetails) reps.add(new Replica(map));
}));
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
index 768f307..edef269 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/MathExpressionTest.java
@@ -4044,7 +4044,7 @@ public void testCache() throws Exception {
ClusterState clusterState = cluster.getSolrClient().getClusterStateProvider().getClusterState();
String collection = useAlias ? COLLECTIONORALIAS + "_collection" : COLLECTIONORALIAS;
DocCollection coll = clusterState.getCollection(collection);
- String node = coll.getReplicas().iterator().next().getNode();
+ String node = coll.getReplicas().iterator().next().getNodeName();
String url = null;
for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
if (jetty.getNodeName().equals(node)) {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
index 5bd7b8c..6c88ffe 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamDecoratorTest.java
@@ -3663,7 +3663,7 @@ public class StreamDecoratorTest extends SolrCloudTestCase {
// find a node with a replica
ClusterState clusterState = cluster.getSolrClient().getClusterStateProvider().getClusterState();
DocCollection coll = clusterState.getCollection(COLLECTIONORALIAS);
- String node = coll.getReplicas().iterator().next().getNode();
+ String node = coll.getReplicas().iterator().next().getNodeName();
String url = null;
for (JettySolrRunner jetty : cluster.getJettySolrRunners()) {
if (jetty.getNodeName().equals(node)) {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
index 8aa3500..c663e99 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestV2Request.java
@@ -158,7 +158,7 @@ public class TestV2Request extends SolrCloudTestCase {
System.out.println("livenodes: " + cs.getLiveNodes());
String[] node = new String[1];
- cs.getCollection("v2forward").forEachReplica((s, replica) -> node[0] = replica.getNode());
+ cs.getCollection("v2forward").forEachReplica((s, replica) -> node[0] = replica.getNodeName());
//find a node that does not have a replica for this collection
final String[] testNode = new String[1];
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
index fec51fe..3998dd0 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
@@ -36,8 +36,8 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
List<PreferenceRule> rules = PreferenceRule.from(ShardParams.SHARDS_PREFERENCE_REPLICA_LOCATION + ":http://host2:8983");
NodePreferenceRulesComparator comparator = new NodePreferenceRulesComparator(rules, null);
replicas.sort(comparator);
- assertEquals("node2", replicas.get(0).getNode());
- assertEquals("node1", replicas.get(1).getNode());
+ assertEquals("node2", replicas.get(0).getNodeName());
+ assertEquals("node1", replicas.get(1).getNodeName());
}
@@ -49,8 +49,8 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
NodePreferenceRulesComparator comparator = new NodePreferenceRulesComparator(rules, null);
replicas.sort(comparator);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node2", replicas.get(1).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node2", replicas.get(1).getNodeName());
// reversed rule
rules = PreferenceRule.from(ShardParams.SHARDS_PREFERENCE_REPLICA_TYPE + ":TLOG," +
@@ -58,8 +58,8 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
comparator = new NodePreferenceRulesComparator(rules, null);
replicas.sort(comparator);
- assertEquals("node2", replicas.get(0).getNode());
- assertEquals("node1", replicas.get(1).getNode());
+ assertEquals("node2", replicas.get(0).getNodeName());
+ assertEquals("node1", replicas.get(1).getNodeName());
}
@SuppressWarnings("unchecked")
@@ -86,10 +86,10 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
NodePreferenceRulesComparator comparator = new NodePreferenceRulesComparator(rules, null);
replicas.sort(comparator);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node4", replicas.get(1).getNode());
- assertEquals("node2", replicas.get(2).getNode());
- assertEquals("node3", replicas.get(3).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node4", replicas.get(1).getNodeName());
+ assertEquals("node2", replicas.get(2).getNodeName());
+ assertEquals("node3", replicas.get(3).getNodeName());
}
@Test(expected = IllegalArgumentException.class)
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
index bdab386..c0ebad3 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
@@ -42,30 +42,30 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
ReplicaListTransformer rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node2", replicas.get(1).getNode());
- assertEquals("node3", replicas.get(2).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node2", replicas.get(1).getNodeName());
+ assertEquals("node3", replicas.get(2).getNodeName());
params.set("routingPreference", "1");
rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node2", replicas.get(0).getNode());
- assertEquals("node3", replicas.get(1).getNode());
- assertEquals("node1", replicas.get(2).getNode());
+ assertEquals("node2", replicas.get(0).getNodeName());
+ assertEquals("node3", replicas.get(1).getNodeName());
+ assertEquals("node1", replicas.get(2).getNodeName());
params.set("routingPreference", "2");
rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node3", replicas.get(0).getNode());
- assertEquals("node1", replicas.get(1).getNode());
- assertEquals("node2", replicas.get(2).getNode());
+ assertEquals("node3", replicas.get(0).getNodeName());
+ assertEquals("node1", replicas.get(1).getNodeName());
+ assertEquals("node2", replicas.get(2).getNodeName());
params.set("routingPreference", "3");
rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node2", replicas.get(1).getNode());
- assertEquals("node3", replicas.get(2).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node2", replicas.get(1).getNodeName());
+ assertEquals("node3", replicas.get(2).getNodeName());
}
@SuppressWarnings("unchecked")
@@ -110,20 +110,20 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
params.add(ShardParams.SHARDS_PREFERENCE, rulesParam);
ReplicaListTransformer rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node2", replicas.get(1).getNode());
- assertEquals("node4", replicas.get(2).getNode());
- assertEquals("node3", replicas.get(3).getNode());
- assertEquals("node5", replicas.get(4).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node2", replicas.get(1).getNodeName());
+ assertEquals("node4", replicas.get(2).getNodeName());
+ assertEquals("node3", replicas.get(3).getNodeName());
+ assertEquals("node5", replicas.get(4).getNodeName());
params.set("routingPreference", "1");
rlt = generator.getReplicaListTransformer(params);
rlt.transform(replicas);
- assertEquals("node1", replicas.get(0).getNode());
- assertEquals("node4", replicas.get(1).getNode());
- assertEquals("node2", replicas.get(2).getNode());
- assertEquals("node5", replicas.get(3).getNode());
- assertEquals("node3", replicas.get(4).getNode());
+ assertEquals("node1", replicas.get(0).getNodeName());
+ assertEquals("node4", replicas.get(1).getNodeName());
+ assertEquals("node2", replicas.get(2).getNodeName());
+ assertEquals("node5", replicas.get(3).getNodeName());
+ assertEquals("node3", replicas.get(4).getNodeName());
}
@SuppressWarnings("unchecked")
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
index f088e93..1a5bf98 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractDistribZkTestBase.java
@@ -175,7 +175,7 @@ public abstract class AbstractDistribZkTestBase extends BaseDistributedSearchTes
if (verbose) System.out.println("replica:" + shard.getValue().getName() + " rstate:"
+ shard.getValue().getStr(ZkStateReader.STATE_PROP)
+ " live:"
- + liveNodes.contains(shard.getValue().getNode()));
+ + liveNodes.contains(shard.getValue().getNodeName()));
final Replica.State state = shard.getValue().getState();
if ((state == Replica.State.RECOVERING || state == Replica.State.DOWN
|| state == Replica.State.RECOVERY_FAILED)
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 d79ed1a..5c01018 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
@@ -747,7 +747,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
}
protected int getReplicaPort(Replica replica) {
- String replicaNode = replica.getNode();
+ String replicaNode = replica.getNodeName();
String tmp = replicaNode.substring(replicaNode.indexOf(':')+1);
if (tmp.indexOf('_') != -1)
tmp = tmp.substring(0,tmp.indexOf('_'));
@@ -1933,7 +1933,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
for (String sliceName : slices.keySet()) {
for (Replica replica : slices.get(sliceName).getReplicas()) {
if (nodesAllowedToRunShards != null && !nodesAllowedToRunShards.contains(replica.getStr(ZkStateReader.NODE_NAME_PROP))) {
- return "Shard " + replica.getName() + " created on node " + replica.getNode() + " not allowed to run shards for the created collection " + collectionName;
+ return "Shard " + replica.getName() + " created on node " + replica.getNodeName() + " not allowed to run shards for the created collection " + collectionName;
}
}
totalShards += slices.get(sliceName).getReplicas().size();
@@ -2117,7 +2117,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
assertNotNull(leader);
if (log.isInfoEnabled()) {
log.info("Found {} replicas and leader on {} for {} in {}"
- , replicas.size(), leader.getNode(), shardId, testCollectionName);
+ , replicas.size(), leader.getNodeName(), shardId, testCollectionName);
}
// ensure all replicas are "active" and identify the non-leader replica
@@ -2261,7 +2261,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
fail("Unable to get leader indexVersion");
}
for (Replica pullReplica:s.getReplicas(EnumSet.of(Replica.Type.PULL,Replica.Type.TLOG))) {
- if (!zkStateReader.getClusterState().liveNodesContain(pullReplica.getNode())) {
+ if (!zkStateReader.getClusterState().liveNodesContain(pullReplica.getNodeName())) {
continue;
}
while (true) {
@@ -2273,7 +2273,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
}
// Make sure the host is serving the correct version
- try (SolrCore core = containers.get(pullReplica.getNode()).getCore(pullReplica.getCoreName())) {
+ try (SolrCore core = containers.get(pullReplica.getNodeName()).getCore(pullReplica.getCoreName())) {
RefCounted<SolrIndexSearcher> ref = core.getRegisteredSearcher();
try {
SolrIndexSearcher searcher = ref.get();
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
index 30b8e13..7dfdc36 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ChaosMonkey.java
@@ -659,7 +659,7 @@ public class ChaosMonkey {
m.find();
String jettyPort = m.group(1);
builder.append(String.format(Locale.ROOT, "%s(%s): {state: %s, type: %s, leader: %s, Live: %s}, ",
- replica.getName(), jettyPort, replica.getState(), replica.getType(), (replica.get("leader")!= null), zkStateReader.getClusterState().liveNodesContain(replica.getNode())));
+ replica.getName(), jettyPort, replica.getState(), replica.getType(), (replica.get("leader")!= null), zkStateReader.getClusterState().liveNodesContain(replica.getNodeName())));
}
if (slice.getReplicas().size() > 0) {
builder.setLength(builder.length() - 2);