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); }