diff --git a/server/src/main/java/org/opensearch/cluster/routing/RoutingNodes.java b/server/src/main/java/org/opensearch/cluster/routing/RoutingNodes.java
index 6ff6031c8dc3e..ab455f52c4195 100644
--- a/server/src/main/java/org/opensearch/cluster/routing/RoutingNodes.java
+++ b/server/src/main/java/org/opensearch/cluster/routing/RoutingNodes.java
@@ -752,7 +752,7 @@ private void unassignPrimaryAndPromoteActiveReplicaIfExists(
) {
assert failedShard.primary();
ShardRouting activeReplica = null;
- if (isMigratingToRemoteStore(metadata.settings())) {
+ if (isMigratingToRemoteStore(metadata)) {
// we might not find any replica on remote node
activeReplica = activeReplicaOnRemoteNode(failedShard.shardId());
}
diff --git a/server/src/main/java/org/opensearch/node/remotestore/RemoteStoreNodeService.java b/server/src/main/java/org/opensearch/node/remotestore/RemoteStoreNodeService.java
index 714c5950e31c9..adfb751421db7 100644
--- a/server/src/main/java/org/opensearch/node/remotestore/RemoteStoreNodeService.java
+++ b/server/src/main/java/org/opensearch/node/remotestore/RemoteStoreNodeService.java
@@ -11,12 +11,12 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.ParameterizedMessage;
+import org.opensearch.cluster.metadata.Metadata;
import org.opensearch.cluster.metadata.RepositoriesMetadata;
import org.opensearch.cluster.metadata.RepositoryMetadata;
import org.opensearch.cluster.node.DiscoveryNode;
import org.opensearch.common.settings.ClusterSettings;
import org.opensearch.common.settings.Setting;
-import org.opensearch.common.settings.Settings;
import org.opensearch.common.util.FeatureFlags;
import org.opensearch.repositories.RepositoriesService;
import org.opensearch.repositories.Repository;
@@ -241,14 +241,14 @@ public static boolean isMigratingToRemoteStore(ClusterSettings clusterSettings)
}
/**
- * To check if the cluster is undergoing remote store migration using metadata settings
+ * To check if the cluster is undergoing remote store migration using clusterState metadata
* @return
* true
For REMOTE_STORE
migration direction and MIXED
compatibility mode,
* false
otherwise
*/
- public static boolean isMigratingToRemoteStore(Settings settings) {
- boolean isMixedMode = REMOTE_STORE_COMPATIBILITY_MODE_SETTING.get(settings).equals(CompatibilityMode.MIXED);
- boolean isRemoteStoreMigrationDirection = MIGRATION_DIRECTION_SETTING.get(settings).equals(Direction.REMOTE_STORE);
+ public static boolean isMigratingToRemoteStore(Metadata metadata) {
+ boolean isMixedMode = REMOTE_STORE_COMPATIBILITY_MODE_SETTING.get(metadata.settings()).equals(CompatibilityMode.MIXED);
+ boolean isRemoteStoreMigrationDirection = MIGRATION_DIRECTION_SETTING.get(metadata.settings()).equals(Direction.REMOTE_STORE);
return (isMixedMode && isRemoteStoreMigrationDirection);
}