summaryrefslogtreecommitdiffstats
path: root/orchestrator
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@yahooinc.com>2022-12-07 10:45:53 +0100
committerHåkon Hallingstad <hakon@yahooinc.com>2022-12-07 10:45:53 +0100
commit8f1721836fba45920e93f444fb8a746ea0a81531 (patch)
tree70d124a5d78b23b7904c9aee59c3d961405fe349 /orchestrator
parent83114f71b32dc468dc7461963cc67dfb0ce0dea9 (diff)
Keep retired and empty storage node up before removal
Diffstat (limited to 'orchestrator')
-rw-r--r--orchestrator/src/main/java/com/yahoo/vespa/orchestrator/policy/HostedVespaPolicy.java15
1 files changed, 3 insertions, 12 deletions
diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/policy/HostedVespaPolicy.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/policy/HostedVespaPolicy.java
index 3f23be5e514..a54ca98d4df 100644
--- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/policy/HostedVespaPolicy.java
+++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/policy/HostedVespaPolicy.java
@@ -34,7 +34,6 @@ public class HostedVespaPolicy implements Policy {
private final HostedVespaClusterPolicy clusterPolicy;
private final ClusterControllerClientFactory clusterControllerClientFactory;
private final ApplicationApiFactory applicationApiFactory;
- private final BooleanFlag keepStorageNodeUpFlag;
public HostedVespaPolicy(HostedVespaClusterPolicy clusterPolicy,
ClusterControllerClientFactory clusterControllerClientFactory,
@@ -43,7 +42,6 @@ public class HostedVespaPolicy implements Policy {
this.clusterPolicy = clusterPolicy;
this.clusterControllerClientFactory = clusterControllerClientFactory;
this.applicationApiFactory = applicationApiFactory;
- this.keepStorageNodeUpFlag = Flags.KEEP_STORAGE_NODE_UP.bindTo(flagSource);
}
@Override
@@ -101,18 +99,11 @@ public class HostedVespaPolicy implements Policy {
clusterPolicy.verifyGroupGoingDownPermanentlyIsFine(cluster);
}
- boolean keepStorageNodeUp = keepStorageNodeUpFlag
- .with(FetchVector.Dimension.APPLICATION_ID, applicationApi.applicationId().serializedForm())
- .value();
-
// Get permission from the Cluster Controller to remove the content nodes.
for (StorageNode storageNode : applicationApi.getStorageNodesInGroupInClusterOrder()) {
- if (keepStorageNodeUp) {
- storageNode.setStorageNodeState(context.createSubcontextForSingleAppOp(true), ClusterControllerNodeState.DOWN);
- storageNode.forceDistributorState(context, ClusterControllerNodeState.DOWN);
- } else {
- storageNode.setStorageNodeState(context, ClusterControllerNodeState.DOWN);
- }
+ // Consider changing the semantics of setting storage node state to DOWN in cluster controller, to avoid 2 calls.
+ storageNode.setStorageNodeState(context.createSubcontextForSingleAppOp(true), ClusterControllerNodeState.DOWN);
+ storageNode.forceDistributorState(context, ClusterControllerNodeState.DOWN);
}
// Ensure all nodes in the group are marked as permanently down