summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-04-22 09:11:09 +0200
committerGitHub <noreply@github.com>2022-04-22 09:11:09 +0200
commit8eb766fa049f5261e450863f532f5cd53072bd26 (patch)
tree2b521565a988cf32ac546d7608318a161ecd0350
parent26d5afac3f203c50fdf7bb104dd36c0931c228f6 (diff)
parente518a209e19e4aae66b0a1935724cea0a0b8937b (diff)
Merge pull request #22206 from vespa-engine/bratseth/remove-node-index-flag
Remove flag: Always true
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java9
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndicesTest.java (renamed from node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIncidesTest.java)34
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java4
6 files changed, 12 insertions, 53 deletions
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index e6e34b84439..597774e3ab9 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -369,13 +369,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundBooleanFlag REUSE_NODE_INDEXES = defineFeatureFlag(
- "reuse-node-indexes", true,
- List.of("bratseth"), "2022-02-25", "2022-04-25",
- "Whether we should reuse earlier indexes when allocating new nodes",
- "Takes effect immediately",
- ZONE_ID);
-
public static final UnboundBooleanFlag MERGE_GROUPING_RESULT_IN_SEARCH_INVOKER = defineFeatureFlag(
"merge-grouping-result-in-search-invoker", false,
List.of("bjorncs", "baldersheim"), "2022-02-23", "2022-08-01",
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java
index e75804fb343..a5a098dbfd6 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java
@@ -17,10 +17,10 @@ class NodeIndices {
private int last;
private int probe;
- /** Pass the list of current indices in the cluster, and whether to fill gaps or not. */
- NodeIndices(List<Integer> used, boolean compact) {
+ /** Pass the list of current indices in the cluster. */
+ NodeIndices(List<Integer> used) {
this.used = List.copyOf(used);
- this.last = compact ? -1 : used.stream().max(naturalOrder()).orElse(-1);
+ this.last = -1;
this.probe = last;
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
index e24d71f22f2..64a345790cc 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
@@ -114,10 +114,7 @@ public class NodeRepositoryProvisioner implements Provisioner {
resources = getNodeResources(cluster, requested.minResources().nodeResources(), application);
nodeSpec = NodeSpec.from(requested.type());
}
- var reuseIndexes = Flags.REUSE_NODE_INDEXES.bindTo(nodeRepository.flagSource())
- .with(FetchVector.Dimension.ZONE_ID, zone.systemLocalValue())
- .value();
- return asSortedHosts(preparer.prepare(application, cluster, nodeSpec, groups, reuseIndexes), resources);
+ return asSortedHosts(preparer.prepare(application, cluster, nodeSpec, groups), resources);
}
private NodeResources getNodeResources(ClusterSpec cluster, NodeResources nodeResources, ApplicationId applicationId) {
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java
index a6f16d3d65e..dbc92b1dbdf 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java
@@ -34,10 +34,9 @@ class Preparer {
}
/** Prepare all required resources for the given application and cluster */
- public List<Node> prepare(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes, int wantedGroups,
- boolean reuseIndexes) {
+ public List<Node> prepare(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes, int wantedGroups) {
try {
- var nodes = prepareNodes(application, cluster, requestedNodes, wantedGroups, reuseIndexes);
+ var nodes = prepareNodes(application, cluster, requestedNodes, wantedGroups);
prepareLoadBalancer(application, cluster, requestedNodes);
return nodes;
}
@@ -57,13 +56,13 @@ class Preparer {
// but it may not change the set of active nodes, as the active nodes must stay in sync with the
// active config model which is changed on activate
private List<Node> prepareNodes(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes,
- int wantedGroups, boolean reuseIndexes) {
+ int wantedGroups) {
NodesAndHosts<LockedNodeList> allNodesAndHosts = groupPreparer.createNodesAndHostUnlocked();
NodeList appNodes = allNodesAndHosts.nodes().owner(application);
List<Node> surplusNodes = findNodesInRemovableGroups(appNodes, cluster, wantedGroups);
List<Integer> usedIndices = appNodes.cluster(cluster.id()).mapToList(node -> node.allocation().get().membership().index());
- NodeIndices indices = new NodeIndices(usedIndices, reuseIndexes || ! cluster.type().isContent());
+ NodeIndices indices = new NodeIndices(usedIndices);
List<Node> acceptedNodes = new ArrayList<>();
for (int groupIndex = 0; groupIndex < wantedGroups; groupIndex++) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIncidesTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndicesTest.java
index 4e35bd54435..a2f9fa80b42 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIncidesTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndicesTest.java
@@ -10,39 +10,11 @@ import static org.junit.Assert.assertEquals;
/**
* @author jonmv
*/
-public class NodeIncidesTest {
+public class NodeIndicesTest {
@Test
- public void testNonCompactIndices() {
- NodeIndices indices = new NodeIndices(List.of(1, 3, 4), false);
- assertEquals(5, indices.probeNext());
- assertEquals(6, indices.probeNext());
-
- indices.resetProbe();
- assertEquals(5, indices.probeNext());
- assertEquals(6, indices.probeNext());
-
- indices.commitProbe();
- assertEquals(7, indices.probeNext());
- assertEquals(8, indices.probeNext());
-
- indices.resetProbe();
- assertEquals(7, indices.next());
- assertEquals(8, indices.next());
-
- assertEquals(9, indices.probeNext());
- try {
- indices.next();
- }
- catch (IllegalStateException e) {
- assertEquals("Must commit ongoing probe before calling 'next'", e.getMessage());
- }
- }
-
-
- @Test
- public void testCompactIndices() {
- NodeIndices indices = new NodeIndices(List.of(1, 3, 4), true);
+ public void testNodeIndices() {
+ NodeIndices indices = new NodeIndices(List.of(1, 3, 4));
assertEquals(0, indices.probeNext());
assertEquals(2, indices.probeNext());
assertEquals(5, indices.probeNext());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
index 9f722507ba2..af94bba2e70 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
@@ -689,9 +689,7 @@ public class ProvisioningTester {
}
private FlagSource defaultFlagSource() {
- var flagSource = new InMemoryFlagSource();
- flagSource.withBooleanFlag(Flags.REUSE_NODE_INDEXES.id(), true);
- return flagSource;
+ return new InMemoryFlagSource();
}
public ProvisioningTester build() {