You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by so...@apache.org on 2020/06/03 19:14:11 UTC
[lucene-solr] 42/47: SOLR-14519:Fix or suppress warnings in
solr/cloud/autoscaling
This is an automated email from the ASF dual-hosted git repository.
sokolov pushed a commit to branch jira/lucene-8962
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit 545dcc1801b6ccb81b6443d0a6db620978ff5ab5
Author: Erick Erickson <Er...@gmail.com>
AuthorDate: Sun May 31 15:07:06 2020 -0400
SOLR-14519:Fix or suppress warnings in solr/cloud/autoscaling
---
solr/CHANGES.txt | 2 +-
.../apache/solr/cloud/autoscaling/AutoScaling.java | 2 ++
.../solr/cloud/autoscaling/AutoScalingHandler.java | 10 ++++++++++
.../solr/cloud/autoscaling/ComputePlanAction.java | 7 +++++++
.../solr/cloud/autoscaling/ExecutePlanAction.java | 2 ++
.../cloud/autoscaling/InactiveShardPlanAction.java | 1 +
.../solr/cloud/autoscaling/IndexSizeTrigger.java | 2 ++
.../apache/solr/cloud/autoscaling/MetricTrigger.java | 1 +
.../solr/cloud/autoscaling/NodeAddedTrigger.java | 2 ++
.../solr/cloud/autoscaling/NodeLostTrigger.java | 2 ++
.../solr/cloud/autoscaling/ScheduledTriggers.java | 3 +++
.../solr/cloud/autoscaling/SearchRateTrigger.java | 5 +++++
.../solr/cloud/autoscaling/SystemLogListener.java | 2 ++
.../apache/solr/cloud/autoscaling/TriggerBase.java | 3 +++
.../apache/solr/cloud/autoscaling/TriggerEvent.java | 4 ++++
.../solr/cloud/autoscaling/TriggerEventQueue.java | 2 ++
.../apache/solr/cloud/autoscaling/TriggerUtils.java | 1 +
.../solr/cloud/autoscaling/sim/SimCloudManager.java | 6 ++++++
.../autoscaling/sim/SimClusterStateProvider.java | 19 +++++++++++++++++++
.../cloud/autoscaling/sim/SimDistribStateManager.java | 1 +
.../autoscaling/sim/SimDistributedQueueFactory.java | 1 +
.../cloud/autoscaling/sim/SimNodeStateProvider.java | 3 +++
.../solr/cloud/autoscaling/sim/SimScenario.java | 8 ++++++++
.../apache/solr/cloud/autoscaling/sim/SimUtils.java | 1 +
.../cloud/autoscaling/sim/SnapshotCloudManager.java | 3 +++
.../autoscaling/sim/SnapshotClusterStateProvider.java | 2 ++
.../autoscaling/sim/SnapshotDistribStateManager.java | 2 ++
.../autoscaling/sim/SnapshotNodeStateProvider.java | 3 +++
28 files changed, 99 insertions(+), 1 deletion(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 28d8552..ca3a950 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -252,7 +252,6 @@ Other Changes
* SOLR-14482: Fix or suppress warnings in solr/search/facet (Erick Erickson)
-
* SOLR-14485: Fix or suppress 11 resource leak warnings in apache/solr/cloud (Andras Salaman via
Erick Erickson)
@@ -262,6 +261,7 @@ Other Changes
* SOLR-14474: Fix remaining auxilliary class warnings in Solr (Erick Erickson)
+* SOLR-14519: Fix or suppress warnings in solr/cloud/autoscaling/ (Erick Erickson)
================== 8.5.2 ==================
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScaling.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScaling.java
index 7b2fee7..1a191ee 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScaling.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScaling.java
@@ -212,6 +212,7 @@ public class AutoScaling {
" ]" +
" }";
+ @SuppressWarnings({"unchecked"})
public static final Map<String, Object> AUTO_ADD_REPLICAS_TRIGGER_PROPS = (Map) Utils.fromJSONString(AUTO_ADD_REPLICAS_TRIGGER_DSL);
public static final String SCHEDULED_MAINTENANCE_TRIGGER_NAME = ".scheduled_maintenance";
@@ -239,6 +240,7 @@ public class AutoScaling {
" ]" +
" }";
+ @SuppressWarnings({"unchecked"})
public static final Map<String, Object> SCHEDULED_MAINTENANCE_TRIGGER_PROPS = (Map) Utils.fromJSONString(SCHEDULED_MAINTENANCE_TRIGGER_DSL);
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
index 1341a24..23ec075 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/AutoScalingHandler.java
@@ -120,6 +120,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
try {
String httpMethod = (String) req.getContext().get("httpMethod");
@@ -187,11 +188,13 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
}
+ @SuppressWarnings({"unchecked"})
private void handleSuggestions(SolrQueryResponse rsp, AutoScalingConfig autoScalingConf, SolrParams params) {
rsp.getValues().add("suggestions",
PolicyHelper.getSuggestions(autoScalingConf, cloudManager, params));
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void processOps(SolrQueryRequest req, SolrQueryResponse rsp, List<CommandOperation> ops)
throws KeeperException, InterruptedException, IOException {
while (true) {
@@ -269,11 +272,13 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig.withProperties(configProps);
}
+ @SuppressWarnings({"unchecked"})
private void handleDiagnostics(SolrQueryResponse rsp, AutoScalingConfig autoScalingConf) {
Policy policy = autoScalingConf.getPolicy();
rsp.getValues().add("diagnostics", PolicyHelper.getDiagnostics(policy, cloudManager));
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleSetClusterPolicy(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException, IOException {
List<Map<String, Object>> clusterPolicy = (List<Map<String, Object>>) op.getCommandData();
@@ -293,6 +298,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig;
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleSetClusterPreferences(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException, IOException {
List<Map<String, Object>> preferences = (List<Map<String, Object>>) op.getCommandData();
@@ -336,6 +342,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig;
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleSetPolicies(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException, IOException {
Map<String, Object> policiesMap = op.getDataMap();
@@ -361,6 +368,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig;
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleResumeTrigger(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException {
String triggerName = op.getStr(NAME);
@@ -393,6 +401,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig;
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleSuspendTrigger(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException {
String triggerName = op.getStr(NAME);
@@ -525,6 +534,7 @@ public class AutoScalingHandler extends RequestHandlerBase implements Permission
return currentConfig;
}
+ @SuppressWarnings({"unchecked"})
private AutoScalingConfig handleSetTrigger(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation op,
AutoScalingConfig currentConfig) throws KeeperException, InterruptedException {
// we're going to modify the op - use a copy
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ComputePlanAction.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ComputePlanAction.java
index fad45e0..33bf6b0 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ComputePlanAction.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ComputePlanAction.java
@@ -72,6 +72,7 @@ public class ComputePlanAction extends TriggerActionBase {
collectionsPredicate = whiteListedCollections::contains;
}
} else if (value instanceof Map) {
+ @SuppressWarnings({"unchecked"})
Map<String, String> matchConditions = (Map<String, String>) value;
collectionsPredicate = collectionName -> {
try {
@@ -133,6 +134,7 @@ public class ComputePlanAction extends TriggerActionBase {
if (Thread.currentThread().isInterrupted()) {
throw new InterruptedException("stopping - thread was interrupted");
}
+ @SuppressWarnings({"rawtypes"})
SolrRequest operation = suggester.getSuggestion();
opCount++;
// prepare suggester for the next iteration
@@ -163,6 +165,7 @@ public class ComputePlanAction extends TriggerActionBase {
}
Map<String, Object> props = context.getProperties();
props.compute("operations", (k, v) -> {
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<SolrRequest> operations = (List<SolrRequest>) v;
if (operations == null) operations = new ArrayList<>();
operations.add(operation);
@@ -211,6 +214,7 @@ public class ComputePlanAction extends TriggerActionBase {
}
protected int getRequestedNumOps(TriggerEvent event) {
+ @SuppressWarnings({"unchecked"})
Collection<TriggerEvent.Op> ops = (Collection<TriggerEvent.Op>) event.getProperty(TriggerEvent.REQUESTED_OPS, Collections.emptyList());
if (ops.isEmpty()) {
return -1;
@@ -233,6 +237,7 @@ public class ComputePlanAction extends TriggerActionBase {
case SEARCHRATE:
case METRIC:
case INDEXSIZE:
+ @SuppressWarnings({"unchecked"})
List<TriggerEvent.Op> ops = (List<TriggerEvent.Op>)event.getProperty(TriggerEvent.REQUESTED_OPS, Collections.emptyList());
int start = (Integer)event.getProperty(START, 0);
if (ops.isEmpty() || start >= ops.size()) {
@@ -241,6 +246,7 @@ public class ComputePlanAction extends TriggerActionBase {
TriggerEvent.Op op = ops.get(start);
suggester = session.getSuggester(op.getAction());
if (suggester instanceof UnsupportedSuggester) {
+ @SuppressWarnings({"unchecked"})
List<TriggerEvent.Op> unsupportedOps = (List<TriggerEvent.Op>)context.getProperties().computeIfAbsent(TriggerEvent.UNSUPPORTED_OPS, k -> new ArrayList<TriggerEvent.Op>());
unsupportedOps.add(op);
}
@@ -274,6 +280,7 @@ public class ComputePlanAction extends TriggerActionBase {
return s;
case DELETENODE:
int start = (Integer)event.getProperty(START, 0);
+ @SuppressWarnings({"unchecked"})
List<String> srcNodes = (List<String>) event.getProperty(NODE_NAMES);
if (srcNodes.isEmpty() || start >= srcNodes.size()) {
return NoneSuggester.get(session);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ExecutePlanAction.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ExecutePlanAction.java
index e09b3ae..1dfc3b1 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ExecutePlanAction.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ExecutePlanAction.java
@@ -76,6 +76,7 @@ public class ExecutePlanAction extends TriggerActionBase {
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void process(TriggerEvent event, ActionContext context) throws Exception {
if (log.isDebugEnabled()) {
log.debug("-- processing event: {} with context properties: {}", event, context.getProperties());
@@ -163,6 +164,7 @@ public class ExecutePlanAction extends TriggerActionBase {
}
NamedList<Object> result = response.getResponse();
context.getProperties().compute("responses", (s, o) -> {
+ @SuppressWarnings({"unchecked"})
List<NamedList<Object>> responses = (List<NamedList<Object>>) o;
if (responses == null) responses = new ArrayList<>(operations.size());
responses.add(result);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/InactiveShardPlanAction.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/InactiveShardPlanAction.java
index 06c69a4..d3de649 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/InactiveShardPlanAction.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/InactiveShardPlanAction.java
@@ -97,6 +97,7 @@ public class InactiveShardPlanAction extends TriggerActionBase {
if (log.isDebugEnabled()) {
log.debug("-- delete inactive {} / {}", coll.getName(), s.getName());
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
List<SolrRequest> operations = (List<SolrRequest>)context.getProperties().computeIfAbsent("operations", k -> new ArrayList<>());
operations.add(CollectionAdminRequest.deleteShard(coll.getName(), s.getName()));
cleanup.computeIfAbsent(coll.getName(), c -> new ArrayList<>()).add(s.getName());
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 327a070..da40366 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
@@ -218,6 +218,7 @@ public class IndexSizeTrigger extends TriggerBase {
}
@Override
+ @SuppressWarnings({"unchecked"})
protected void setState(Map<String, Object> state) {
this.lastAboveEventMap.clear();
this.lastBelowEventMap.clear();
@@ -248,6 +249,7 @@ public class IndexSizeTrigger extends TriggerBase {
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void run() {
synchronized(this) {
if (isClosed) {
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 9058a9a..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
@@ -91,6 +91,7 @@ public class MetricTrigger extends TriggerBase {
@Override
protected void setState(Map<String, Object> state) {
lastNodeEvent.clear();
+ @SuppressWarnings({"unchecked"})
Map<String, Long> nodeTimes = (Map<String, Long>) state.get("lastNodeEvent");
if (nodeTimes != null) {
lastNodeEvent.putAll(nodeTimes);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeAddedTrigger.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeAddedTrigger.java
index 6ae77bb..42188e4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeAddedTrigger.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeAddedTrigger.java
@@ -153,10 +153,12 @@ public class NodeAddedTrigger extends TriggerBase {
protected void setState(Map<String, Object> state) {
this.lastLiveNodes.clear();
this.nodeNameVsTimeAdded.clear();
+ @SuppressWarnings({"unchecked"})
Collection<String> lastLiveNodes = (Collection<String>)state.get("lastLiveNodes");
if (lastLiveNodes != null) {
this.lastLiveNodes.addAll(lastLiveNodes);
}
+ @SuppressWarnings({"unchecked"})
Map<String,Long> nodeNameVsTimeAdded = (Map<String,Long>)state.get("nodeNameVsTimeAdded");
if (nodeNameVsTimeAdded != null) {
this.nodeNameVsTimeAdded.putAll(nodeNameVsTimeAdded);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeLostTrigger.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeLostTrigger.java
index 0a7a267..b1c5818 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeLostTrigger.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/NodeLostTrigger.java
@@ -143,10 +143,12 @@ public class NodeLostTrigger extends TriggerBase {
protected void setState(Map<String, Object> state) {
this.lastLiveNodes.clear();
this.nodeNameVsTimeRemoved.clear();
+ @SuppressWarnings({"unchecked"})
Collection<String> lastLiveNodes = (Collection<String>)state.get("lastLiveNodes");
if (lastLiveNodes != null) {
this.lastLiveNodes.addAll(lastLiveNodes);
}
+ @SuppressWarnings({"unchecked"})
Map<String,Long> nodeNameVsTimeRemoved = (Map<String,Long>)state.get("nodeNameVsTimeRemoved");
if (nodeNameVsTimeRemoved != null) {
this.nodeNameVsTimeRemoved.putAll(nodeNameVsTimeRemoved);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ScheduledTriggers.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ScheduledTriggers.java
index d84bff4..e080eec 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/ScheduledTriggers.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/ScheduledTriggers.java
@@ -320,6 +320,7 @@ public class ScheduledTriggers implements Closeable {
ActionContext actionContext = new ActionContext(cloudManager, newTrigger, new HashMap<>());
for (TriggerAction action : actions) {
+ @SuppressWarnings({"unchecked"})
List<String> beforeActions = (List<String>) actionContext.getProperties().computeIfAbsent(TriggerEventProcessorStage.BEFORE_ACTION.toString(), k -> new ArrayList<String>());
beforeActions.add(action.getName());
triggerListeners1.fireListeners(event.getSource(), event, TriggerEventProcessorStage.BEFORE_ACTION, action.getName(), actionContext);
@@ -329,6 +330,7 @@ public class ScheduledTriggers implements Closeable {
triggerListeners1.fireListeners(event.getSource(), event, TriggerEventProcessorStage.FAILED, action.getName(), actionContext, e, null);
throw new TriggerActionException(event.getSource(), action.getName(), "Error processing action for trigger event: " + event, e);
}
+ @SuppressWarnings({"unchecked"})
List<String> afterActions = (List<String>) actionContext.getProperties().computeIfAbsent(TriggerEventProcessorStage.AFTER_ACTION.toString(), k -> new ArrayList<String>());
afterActions.add(action.getName());
triggerListeners1.fireListeners(event.getSource(), event, TriggerEventProcessorStage.AFTER_ACTION, action.getName(), actionContext);
@@ -428,6 +430,7 @@ public class ScheduledTriggers implements Closeable {
String path = parentPath + '/' + child;
VersionedData data = stateManager.getData(path, null);
if (data != null) {
+ @SuppressWarnings({"rawtypes"})
Map map = (Map) Utils.fromJSON(data.getData());
String requestid = (String) map.get("requestid");
try {
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/SearchRateTrigger.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/SearchRateTrigger.java
index 9539e29..efd5b24 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/SearchRateTrigger.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/SearchRateTrigger.java
@@ -280,18 +280,22 @@ public class SearchRateTrigger extends TriggerBase {
lastNodeEvent.clear();
lastShardEvent.clear();
lastReplicaEvent.clear();
+ @SuppressWarnings({"unchecked"})
Map<String, Long> collTimes = (Map<String, Long>)state.get("lastCollectionEvent");
if (collTimes != null) {
lastCollectionEvent.putAll(collTimes);
}
+ @SuppressWarnings({"unchecked"})
Map<String, Long> nodeTimes = (Map<String, Long>)state.get("lastNodeEvent");
if (nodeTimes != null) {
lastNodeEvent.putAll(nodeTimes);
}
+ @SuppressWarnings({"unchecked"})
Map<String, Long> shardTimes = (Map<String, Long>)state.get("lastShardEvent");
if (shardTimes != null) {
lastShardEvent.putAll(shardTimes);
}
+ @SuppressWarnings({"unchecked"})
Map<String, Long> replicaTimes = (Map<String, Long>)state.get("lastReplicaEvent");
if (replicaTimes != null) {
lastReplicaEvent.putAll(replicaTimes);
@@ -651,6 +655,7 @@ public class SearchRateTrigger extends TriggerBase {
/**
* This method implements a primitive form of proportional controller with a limiter.
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
private void addReplicaHints(String collection, String shard, double r, int replicationFactor, List<Pair<String, String>> hints) {
int numReplicas = (int)Math.round((r - aboveRate) / (double) replicationFactor);
// in one event add at least 1 replica
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/SystemLogListener.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/SystemLogListener.java
index 09b0865..b841478 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/SystemLogListener.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/SystemLogListener.java
@@ -80,6 +80,7 @@ public class SystemLogListener extends TriggerListenerBase {
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void onEvent(TriggerEvent event, TriggerEventProcessorStage stage, String actionName, ActionContext context,
Throwable error, String message) throws Exception {
try {
@@ -153,6 +154,7 @@ public class SystemLogListener extends TriggerListenerBase {
});
}
+ @SuppressWarnings({"rawtypes"})
private void addOperations(SolrInputDocument doc, List<SolrRequest> operations) {
if (operations == null || operations.isEmpty()) {
return;
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerBase.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerBase.java
index 535fd00..d045f6a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerBase.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerBase.java
@@ -109,6 +109,7 @@ public abstract class TriggerBase implements AutoScaling.Trigger {
}
this.enabled = Boolean.parseBoolean(String.valueOf(this.properties.getOrDefault("enabled", "true")));
this.waitForSecond = ((Number) this.properties.getOrDefault("waitFor", -1L)).intValue();
+ @SuppressWarnings({"unchecked"})
List<Map<String, Object>> o = (List<Map<String, Object>>) properties.get("actions");
if (o != null && !o.isEmpty()) {
actions = new ArrayList<>(3);
@@ -243,6 +244,7 @@ public abstract class TriggerBase implements AutoScaling.Trigger {
* @see #getState
* @lucene.internal
*/
+ @SuppressWarnings({"unchecked"})
public Map<String,Object> deepCopyState() {
return Utils.getDeepCopy(getState(), 10, false, true);
}
@@ -273,6 +275,7 @@ public abstract class TriggerBase implements AutoScaling.Trigger {
}
@Override
+ @SuppressWarnings({"unchecked"})
public void restoreState() {
byte[] data = null;
String path = ZkStateReader.SOLR_AUTOSCALING_TRIGGER_STATE_PATH + "/" + getName();
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEvent.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEvent.java
index c61556c..91482e5 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEvent.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEvent.java
@@ -59,6 +59,7 @@ public class TriggerEvent implements MapWriter {
addHint(hint, hintValue);
}
+ @SuppressWarnings({"unchecked"})
public void addHint(Suggester.Hint hint, Object value) {
hint.validator.accept(value);
if (hint.multiValued) {
@@ -85,6 +86,7 @@ public class TriggerEvent implements MapWriter {
ew.put("hints", hints);
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
public static Op fromMap(Map<String, Object> map) {
if (!map.containsKey("action")) {
return null;
@@ -281,6 +283,7 @@ public class TriggerEvent implements MapWriter {
return Utils.toJSONString(this);
}
+ @SuppressWarnings({"unchecked"})
public static TriggerEvent fromMap(Map<String, Object> map) {
String id = (String)map.get("id");
String source = (String)map.get("source");
@@ -294,6 +297,7 @@ public class TriggerEvent implements MapWriter {
return res;
}
+ @SuppressWarnings({"unchecked"})
public static void fixOps(String type, Map<String, Object> properties) {
List<Object> ops = (List<Object>)properties.get(type);
if (ops != null && !ops.isEmpty()) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEventQueue.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEventQueue.java
index 9f2da7a..ec41495 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEventQueue.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerEventQueue.java
@@ -72,6 +72,7 @@ public class TriggerEventQueue {
continue;
}
try {
+ @SuppressWarnings({"unchecked"})
Map<String, Object> map = (Map<String, Object>) Utils.fromJSON(data);
return fromMap(map);
} catch (Exception e) {
@@ -98,6 +99,7 @@ public class TriggerEventQueue {
continue;
}
try {
+ @SuppressWarnings({"unchecked"})
Map<String, Object> map = (Map<String, Object>) Utils.fromJSON(data);
return fromMap(map);
} catch (Exception e) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerUtils.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerUtils.java
index 71a1ce4..cecd933 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerUtils.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/TriggerUtils.java
@@ -61,6 +61,7 @@ public class TriggerUtils {
}
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
public static void checkProperty(Map<String, Object> properties, Map<String, String> results, String name, boolean required, Class... acceptClasses) {
Object value = properties.get(name);
if (value == null) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
index aa2d7d0..25624f4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
@@ -216,6 +216,7 @@ public class SimCloudManager implements SolrCloudManager {
solrClient = new MockSearchableSolrClient() {
@Override
+ @SuppressWarnings({"rawtypes"})
public NamedList<Object> request(SolrRequest request, String collection) throws SolrServerException, IOException {
if (collection != null) {
if (request instanceof AbstractUpdateRequest) {
@@ -625,6 +626,7 @@ public class SimCloudManager implements SolrCloudManager {
* @return future to obtain results
* @see #getBackgroundTaskFailureCount
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public <T> Future<T> submit(Callable<T> callable) {
return simCloudManagerPool.submit(new LoggingCallable(backgroundTaskFailureCounter, callable));
}
@@ -714,6 +716,7 @@ public class SimCloudManager implements SolrCloudManager {
}
@Override
+ @SuppressWarnings({"rawtypes"})
public SolrResponse request(SolrRequest req) throws IOException {
try {
// NOTE: we're doing 2 odd things here:
@@ -742,6 +745,8 @@ public class SimCloudManager implements SolrCloudManager {
* @param req autoscaling request
* @return results
*/
+
+ @SuppressWarnings({"unchecked", "rawtypes"})
public SolrResponse simHandleSolrRequest(SolrRequest req) throws IOException, InterruptedException {
// pay the penalty for remote request, at least 5 ms
timeSource.sleep(5);
@@ -867,6 +872,7 @@ public class SimCloudManager implements SolrCloudManager {
if (log.isTraceEnabled()) {
log.trace("Invoking Collection Action :{} with params {}", action.toLower(), params.toQueryString());
}
+ @SuppressWarnings({"rawtypes"})
NamedList results = new NamedList();
rsp.setResponse(results);
incrementCount(action.name());
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 b76f9b5..7e5343d 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
@@ -171,6 +171,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
this.zkVersion = zkVersion;
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
public DocCollection getColl() throws InterruptedException, IOException {
DocCollection dc = coll;
if (dc != null) {
@@ -321,6 +322,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* Initialize from an existing cluster state
* @param initialState initial cluster state
*/
+ @SuppressWarnings({"unchecked"})
public void simSetClusterState(ClusterState initialState) throws Exception {
lock.lockInterruptibly();
try {
@@ -412,6 +414,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
}
private ReplicaInfo getReplicaInfo(Replica r) {
+ @SuppressWarnings({"unchecked"})
final List<ReplicaInfo> list = nodeReplicaMap.computeIfAbsent
(r.getNodeName(), Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
synchronized (list) {
@@ -428,6 +431,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* Add a new node to the cluster.
* @param nodeId unique node id
*/
+ @SuppressWarnings({"unchecked"})
public void simAddNode(String nodeId) throws Exception {
ensureNotClosed();
if (liveNodes.contains(nodeId)) {
@@ -525,6 +529,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
// this method needs to be called under a lock
private void setReplicaStates(String nodeId, Replica.State state, Set<String> changedCollections) {
+ @SuppressWarnings({"unchecked"})
List<ReplicaInfo> replicas = nodeReplicaMap.computeIfAbsent(nodeId, Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
synchronized (replicas) {
replicas.forEach(r -> {
@@ -590,6 +595,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param message replica details
* @param results result of the operation
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simAddReplica(ZkNodeProps message, NamedList results) throws Exception {
if (message.getStr(CommonAdminParams.ASYNC) != null) {
results.add(CoreAdminParams.REQUESTID, message.getStr(CommonAdminParams.ASYNC));
@@ -647,6 +653,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param replicaInfo replica info
* @param runLeaderElection if true then run a leader election after adding the replica.
*/
+ @SuppressWarnings({"unchecked"})
public void simAddReplica(String nodeId, ReplicaInfo replicaInfo, boolean runLeaderElection) throws Exception {
ensureNotClosed();
lock.lockInterruptibly();
@@ -745,6 +752,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
lock.lockInterruptibly();
try {
+ @SuppressWarnings({"unchecked"})
final List<ReplicaInfo> replicas = nodeReplicaMap.computeIfAbsent
(nodeId, Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
synchronized (replicas) {
@@ -983,6 +991,8 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param props collection details
* @param results results of the operation.
*/
+
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simCreateCollection(ZkNodeProps props, NamedList results) throws Exception {
ensureNotClosed();
if (props.getStr(CommonAdminParams.ASYNC) != null) {
@@ -1160,6 +1170,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param async async id
* @param results results of the operation
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simDeleteCollection(String collection, String async, NamedList results) throws Exception {
ensureNotClosed();
if (async != null) {
@@ -1254,6 +1265,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param message operation details
* @param results operation results.
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simMoveReplica(ZkNodeProps message, NamedList results) throws Exception {
ensureNotClosed();
if (message.getStr(CommonAdminParams.ASYNC) != null) {
@@ -1320,6 +1332,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param message operation details
* @param results operation results
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simCreateShard(ZkNodeProps message, NamedList results) throws Exception {
ensureNotClosed();
if (message.getStr(CommonAdminParams.ASYNC) != null) {
@@ -1386,6 +1399,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param message operation details
* @param results operation results.
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simSplitShard(ZkNodeProps message, NamedList results) throws Exception {
ensureNotClosed();
if (message.getStr(CommonAdminParams.ASYNC) != null) {
@@ -1583,6 +1597,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @param message operation details
* @param results operation results
*/
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void simDeleteShard(ZkNodeProps message, NamedList results) throws Exception {
ensureNotClosed();
if (message.getStr(CommonAdminParams.ASYNC) != null) {
@@ -1626,6 +1641,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
}
}
+ @SuppressWarnings({"rawtypes"})
public void createSystemCollection() throws IOException {
try {
@@ -2040,6 +2056,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* Saves cluster properties to clusterprops.json.
* @return current properties
*/
+ @SuppressWarnings({"unchecked"})
private synchronized Map<String, Object> saveClusterProperties() throws Exception {
if (lastSavedProperties != null && lastSavedProperties.equals(clusterProperties)) {
return lastSavedProperties;
@@ -2276,6 +2293,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
}
}
+ @SuppressWarnings({"unchecked"})
public void simSetReplicaValues(String node, Map<String, Map<String, List<ReplicaInfo>>> source, boolean overwrite) {
List<ReplicaInfo> infos = nodeReplicaMap.get(node);
if (infos == null) {
@@ -2307,6 +2325,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
* @return copy of the list of replicas on that node, or empty list if none
*/
public List<ReplicaInfo> simGetReplicaInfos(String node) {
+ @SuppressWarnings({"unchecked"})
final List<ReplicaInfo> replicas = nodeReplicaMap.computeIfAbsent
(node, Utils.NEW_SYNCHRONIZED_ARRAYLIST_FUN);
// make a defensive copy to avoid ConcurrentModificationException
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistribStateManager.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistribStateManager.java
index bc845e4..ea9fa55 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistribStateManager.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistribStateManager.java
@@ -619,6 +619,7 @@ public class SimDistribStateManager implements DistribStateManager {
}
@Override
+ @SuppressWarnings({"unchecked"})
public AutoScalingConfig getAutoScalingConfig(Watcher watcher) throws InterruptedException, IOException {
Map<String, Object> map = new HashMap<>();
int version = 0;
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistributedQueueFactory.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistributedQueueFactory.java
index 318f63e..fb17881 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistributedQueueFactory.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimDistributedQueueFactory.java
@@ -184,6 +184,7 @@ public class SimDistributedQueueFactory implements DistributedQueueFactory {
}
@Override
+ @SuppressWarnings({"unchecked", "rawtypes"})
public void offer(byte[] data) throws Exception {
Timer.Context time = stats.time(dir + "_offer");
updateLock.lockInterruptibly();
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 2a8103c..17b6d28 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
@@ -152,6 +152,7 @@ public class SimNodeStateProvider implements NodeStateProvider {
* @param key property name
* @param value property value.
*/
+ @SuppressWarnings({"unchecked"})
public void simAddNodeValue(String node, String key, Object value) throws InterruptedException {
lock.lockInterruptibly();
try {
@@ -341,7 +342,9 @@ public class SimNodeStateProvider implements NodeStateProvider {
Map<String, Map<String, List<ReplicaInfo>>> res = new HashMap<>();
// TODO: probably needs special treatment for "metrics:solr.core..." tags
for (ReplicaInfo r : replicas) {
+ @SuppressWarnings({"unchecked"})
Map<String, List<ReplicaInfo>> perCollection = res.computeIfAbsent(r.getCollection(), Utils.NEW_HASHMAP_FUN);
+ @SuppressWarnings({"unchecked"})
List<ReplicaInfo> perShard = perCollection.computeIfAbsent(r.getShard(), Utils.NEW_ARRAYLIST_FUN);
// XXX filter out some properties?
perShard.add(r);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
index a42ebc1..6adb812 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SimScenario.java
@@ -130,6 +130,7 @@ public class SimScenario implements AutoCloseable {
* {@link #execute(SimScenario)}.
* @param scenario current scenario
*/
+ @SuppressWarnings({"unchecked"})
public void prepareCurrentParams(SimScenario scenario) {
Properties props = new Properties();
scenario.context.forEach((k, v) -> {
@@ -416,6 +417,7 @@ public class SimScenario implements AutoCloseable {
*/
public static class LoadAutoscaling extends SimOp {
@Override
+ @SuppressWarnings({"unchecked"})
public void execute(SimScenario scenario) throws Exception {
Map<String, Object> map;
boolean addDefaults = Boolean.parseBoolean(params.get("withDefaultTriggers", "true"));
@@ -540,9 +542,11 @@ public class SimScenario implements AutoCloseable {
public static class ApplySuggestions extends SimOp {
@Override
public void execute(SimScenario scenario) throws Exception {
+ @SuppressWarnings({"unchecked"})
List<Suggester.SuggestionInfo> suggestions = (List<Suggester.SuggestionInfo>) scenario.context.getOrDefault(SUGGESTIONS_CTX_PROP, Collections.emptyList());
int unresolvedCount = 0;
for (Suggester.SuggestionInfo suggestion : suggestions) {
+ @SuppressWarnings({"rawtypes"})
SolrRequest operation = suggestion.getOperation();
if (operation == null) {
unresolvedCount++;
@@ -596,6 +600,7 @@ public class SimScenario implements AutoCloseable {
req.setContentWriter(new RequestWriter.StringPayloadContentWriter(streamBody, "application/json"));
}
SolrResponse rsp = scenario.cluster.request(req);
+ @SuppressWarnings({"unchecked"})
List<SolrResponse> responses = (List<SolrResponse>) scenario.context.computeIfAbsent(RESPONSES_CTX_PROP, Utils.NEW_ARRAYLIST_FUN);
responses.add(rsp);
}
@@ -705,6 +710,7 @@ public class SimScenario implements AutoCloseable {
/**
* Set a temporary listener to wait for a specific trigger event processing.
*/
+ @SuppressWarnings({"unchecked"})
public static class SetEventListener extends SimOp {
@Override
public void execute(SimScenario scenario) throws Exception {
@@ -764,6 +770,7 @@ public class SimScenario implements AutoCloseable {
listener.wait(waitSec);
scenario.context.remove(TRIGGER_EVENT_PREFIX + trigger);
if (listener.getEvent() != null) {
+ @SuppressWarnings({"unchecked"})
Map<String, Object> ev = listener.getEvent().toMap(new LinkedHashMap<>());
scenario.context.put(TRIGGER_EVENT_PREFIX + trigger, ev);
}
@@ -941,6 +948,7 @@ public class SimScenario implements AutoCloseable {
*/
public static class Dump extends SimOp {
@Override
+ @SuppressWarnings({"unchecked"})
public void execute(SimScenario scenario) throws Exception {
boolean redact = Boolean.parseBoolean(params.get("redact", "false"));
boolean withData = Boolean.parseBoolean(params.get("withData", "false"));
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 6e04200..03c1f5b 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
@@ -349,6 +349,7 @@ public class SimUtils {
* @param req request
* @return request payload and parameters converted to V1 params
*/
+ @SuppressWarnings({"unchecked"})
public static ModifiableSolrParams v2AdminRequestToV1Params(V2Request req) {
Map<String, Object> reqMap = new HashMap<>();
req.toMap(reqMap);
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotCloudManager.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotCloudManager.java
index 8ea286f..9dc0b4a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotCloudManager.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotCloudManager.java
@@ -90,6 +90,7 @@ public class SnapshotCloudManager implements SolrCloudManager {
SimUtils.checkConsistency(this, config);
}
+ @SuppressWarnings({"unchecked"})
public SnapshotCloudManager(Map<String, Object> snapshot) throws Exception {
Objects.requireNonNull(snapshot);
init(
@@ -120,6 +121,7 @@ public class SnapshotCloudManager implements SolrCloudManager {
}
}
+ @SuppressWarnings({"unchecked"})
public static SnapshotCloudManager readSnapshot(File sourceDir) throws Exception {
if (!sourceDir.exists()) {
throw new Exception("Source path doesn't exist: " + sourceDir);
@@ -241,6 +243,7 @@ public class SnapshotCloudManager implements SolrCloudManager {
}
@Override
+ @SuppressWarnings({"rawtypes"})
public SolrResponse request(SolrRequest req) throws IOException {
throw new UnsupportedOperationException("request");
}
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotClusterStateProvider.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotClusterStateProvider.java
index 351265d..e011b4c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotClusterStateProvider.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotClusterStateProvider.java
@@ -51,6 +51,7 @@ public class SnapshotClusterStateProvider implements ClusterStateProvider {
clusterProperties = new HashMap<>(other.getClusterProperties());
}
+ @SuppressWarnings({"unchecked"})
public SnapshotClusterStateProvider(Map<String, Object> snapshot) {
Objects.requireNonNull(snapshot);
liveNodes = Set.copyOf((Collection<String>)snapshot.getOrDefault("liveNodes", Collections.emptySet()));
@@ -93,6 +94,7 @@ public class SnapshotClusterStateProvider implements ClusterStateProvider {
coll.write(writer);
String json = out.toString();
try {
+ @SuppressWarnings({"unchecked"})
Map<String, Object> collMap = new LinkedHashMap<>((Map<String, Object>)Utils.fromJSON(json.getBytes("UTF-8")));
collMap.put("zNodeVersion", coll.getZNodeVersion());
collMap.put("zNode", coll.getZNode());
diff --git a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotDistribStateManager.java b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotDistribStateManager.java
index fc6bd2d..eb3a29f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotDistribStateManager.java
+++ b/solr/core/src/java/org/apache/solr/cloud/autoscaling/sim/SnapshotDistribStateManager.java
@@ -89,6 +89,7 @@ public class SnapshotDistribStateManager implements DistribStateManager {
*/
public SnapshotDistribStateManager(Map<String, Object> snapshot, AutoScalingConfig config) {
snapshot.forEach((path, value) -> {
+ @SuppressWarnings({"unchecked"})
Map<String, Object> map = (Map<String, Object>)value;
Number version = (Number)map.getOrDefault("version", 0);
String owner = (String)map.get("owner");
@@ -209,6 +210,7 @@ public class SnapshotDistribStateManager implements DistribStateManager {
}
@Override
+ @SuppressWarnings({"unchecked"})
public AutoScalingConfig getAutoScalingConfig(Watcher watcher) throws InterruptedException, IOException {
VersionedData vd = dataMap.get(ZkStateReader.SOLR_AUTOSCALING_CONF_PATH);
Map<String, Object> map = new HashMap<>();
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 8ccf849..e8b7828 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
@@ -48,6 +48,7 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
* @param config optional {@link AutoScalingConfig}, which will be used to determine what node and
* replica tags to retrieve. If this is null then the other instance's config will be used.
*/
+ @SuppressWarnings({"unchecked"})
public SnapshotNodeStateProvider(SolrCloudManager other, AutoScalingConfig config) throws Exception {
if (config == null) {
config = other.getDistribStateManager().getAutoScalingConfig();
@@ -96,6 +97,7 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
* Populate this instance from a previously generated snapshot.
* @param snapshot previous snapshot created using this class.
*/
+ @SuppressWarnings({"unchecked"})
public SnapshotNodeStateProvider(Map<String, Object> snapshot) {
Objects.requireNonNull(snapshot);
nodeValues = (Map<String, Map<String, Object>>)snapshot.getOrDefault("nodeValues", Collections.emptyMap());
@@ -130,6 +132,7 @@ public class SnapshotNodeStateProvider implements NodeStateProvider {
* Create a snapshot of all node and replica tag values available from the original source, per the original
* autoscaling configuration. Note:
*/
+ @SuppressWarnings({"unchecked"})
public Map<String, Object> getSnapshot() {
Map<String, Object> snapshot = new LinkedHashMap<>();
snapshot.put("nodeValues", nodeValues);