diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-04-22 09:11:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-22 09:11:09 +0200 |
commit | 8eb766fa049f5261e450863f532f5cd53072bd26 (patch) | |
tree | 2b521565a988cf32ac546d7608318a161ecd0350 | |
parent | 26d5afac3f203c50fdf7bb104dd36c0931c228f6 (diff) | |
parent | e518a209e19e4aae66b0a1935724cea0a0b8937b (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.java | 7 | ||||
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeIndices.java | 6 | ||||
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java | 5 | ||||
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java | 9 | ||||
-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.java | 4 |
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() { |