From 9f7542ea60c40e86ac6315f42b1c03b76d602f03 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Mon, 4 Mar 2024 14:28:20 +0100 Subject: Avoid optional where it provides no value. --- .../container/search/searchchain/SearchChain.java | 3 +-- .../vespa/model/content/ContentSearchCluster.java | 7 +++---- .../com/yahoo/vespa/model/search/SearchNode.java | 23 +++++++++++----------- .../vespa/model/search/test/SearchNodeTest.java | 4 +--- 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChain.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChain.java index 6f9e72117c8..0a8ae69ccf0 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChain.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/searchchain/SearchChain.java @@ -5,7 +5,6 @@ import com.yahoo.component.chain.model.ChainSpecification; import com.yahoo.search.searchchain.model.federation.FederationOptions; import com.yahoo.vespa.model.container.component.chain.Chain; -import java.util.Collections; import java.util.List; /** @@ -25,7 +24,7 @@ public class SearchChain extends Chain> { //A list of documents types that this search chain provides results for, empty if unknown public List getDocumentTypes() { - return Collections.emptyList(); + return List.of(); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index a44ce3a3013..fc5b5c25e6d 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -70,7 +70,7 @@ public class ContentSearchCluster extends TreeConfigProducer private final List nonIndexed = new ArrayList<>(); private final Map groupToSpecMap = new LinkedHashMap<>(); - private Optional resourceLimits = Optional.empty(); + private ResourceLimits resourceLimits; private final ProtonConfig.Indexing.Optimize.Enum feedSequencerType; private final double defaultFeedConcurrency; private final double defaultFeedNiceness; @@ -292,7 +292,6 @@ public class ContentSearchCluster extends TreeConfigProducer NodeSpec spec = getNextSearchNodeSpec(parentGroup); SearchNode searchNode; TransactionLogServer tls; - Optional tuning = Optional.ofNullable(this.tuning); if (element == null) { searchNode = SearchNode.create(parent, "" + node.getDistributionKey(), node.getDistributionKey(), spec, clusterName, node, flushOnShutdown, tuning, resourceLimits, deployState.isHosted(), @@ -334,7 +333,7 @@ public class ContentSearchCluster extends TreeConfigProducer public void setTuning(Tuning tuning) { this.tuning = tuning; } private void setResourceLimits(ResourceLimits resourceLimits) { - this.resourceLimits = Optional.of(resourceLimits); + this.resourceLimits = resourceLimits; } public boolean usesHierarchicDistribution() { @@ -429,7 +428,7 @@ public class ContentSearchCluster extends TreeConfigProducer int numDocumentDbs = builder.documentdb.size(); builder.initialize(new ProtonConfig.Initialize.Builder().threads(numDocumentDbs + 1)); - resourceLimits.ifPresent(limits -> limits.getConfig(builder)); + if (resourceLimits != null) resourceLimits.getConfig(builder); if (tuning != null) { tuning.getConfig(builder); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java index 869753daf06..61933c10504 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/SearchNode.java @@ -63,8 +63,8 @@ public class SearchNode extends AbstractService implements private final String clusterName; private TransactionLogServer tls; private final AbstractService serviceLayerService; - private final Optional tuning; - private final Optional resourceLimits; + private final Tuning tuning; + private final ResourceLimits resourceLimits; private final double fractionOfMemoryReserved; public static class Builder extends VespaDomBuilder.DomConfigProducerBuilderBase { @@ -74,12 +74,12 @@ public class SearchNode extends AbstractService implements private final String clusterName; private final ContentNode contentNode; private final boolean flushOnShutdown; - private final Optional tuning; - private final Optional resourceLimits; + private final Tuning tuning; + private final ResourceLimits resourceLimits; private final double fractionOfMemoryReserved; public Builder(String name, NodeSpec nodeSpec, String clusterName, ContentNode node, - boolean flushOnShutdown, Optional tuning, Optional resourceLimits, + boolean flushOnShutdown, Tuning tuning, ResourceLimits resourceLimits, double fractionOfMemoryReserved) { this.name = name; this.nodeSpec = nodeSpec; @@ -103,7 +103,7 @@ public class SearchNode extends AbstractService implements public static SearchNode create(TreeConfigProducer parent, String name, int distributionKey, NodeSpec nodeSpec, String clusterName, AbstractService serviceLayerService, boolean flushOnShutdown, - Optional tuning, Optional resourceLimits, + Tuning tuning, ResourceLimits resourceLimits, boolean isHostedVespa, double fractionOfMemoryReserved, ModelContext.FeatureFlags featureFlags) { SearchNode node = new SearchNode(parent, name, distributionKey, nodeSpec, clusterName, serviceLayerService, flushOnShutdown, @@ -119,7 +119,7 @@ public class SearchNode extends AbstractService implements private SearchNode(TreeConfigProducer parent, String name, int distributionKey, NodeSpec nodeSpec, String clusterName, AbstractService serviceLayerService, boolean flushOnShutdown, - Optional tuning, Optional resourceLimits, boolean isHostedVespa, + Tuning tuning, ResourceLimits resourceLimits, boolean isHostedVespa, double fractionOfMemoryReserved) { super(parent, name); this.distributionKey = distributionKey; @@ -272,13 +272,12 @@ public class SearchNode extends AbstractService implements } Optional nodeResources = getSpecifiedNodeResources(); if (nodeResources.isPresent()) { - var nodeResourcesTuning = new NodeResourcesTuning(nodeResources.get(), - tuning.map(Tuning::threadsPerSearch).orElse(1), - fractionOfMemoryReserved); + int threadsPerSearch = tuning != null ? tuning.threadsPerSearch() : 1; + var nodeResourcesTuning = new NodeResourcesTuning(nodeResources.get(), threadsPerSearch, fractionOfMemoryReserved); nodeResourcesTuning.getConfig(builder); - tuning.ifPresent(t -> t.getConfig(builder)); - resourceLimits.ifPresent(l -> l.getConfig(builder)); + if (tuning != null) tuning.getConfig(builder); + if (resourceLimits != null) resourceLimits.getConfig(builder); } } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchNodeTest.java b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchNodeTest.java index 3a39e55b46b..bc981c3de7c 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchNodeTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/search/test/SearchNodeTest.java @@ -15,8 +15,6 @@ import com.yahoo.vespa.model.search.SearchNode; import com.yahoo.vespa.model.search.TransactionLogServer; import org.junit.jupiter.api.Test; -import java.util.Optional; - import static org.junit.jupiter.api.Assertions.*; /** @@ -49,7 +47,7 @@ public class SearchNodeTest { private static SearchNode createSearchNode(MockRoot root, String name, int distributionKey, NodeSpec nodeSpec, boolean flushOnShutDown, boolean isHosted, ModelContext.FeatureFlags featureFlags) { return SearchNode.create(root, name, distributionKey, nodeSpec, "mycluster", null, flushOnShutDown, - Optional.empty(), Optional.empty(), isHosted, 0.0, featureFlags); + null, null, isHosted, 0.0, featureFlags); } private static SearchNode createSearchNode(MockRoot root) { -- cgit v1.2.3