aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/config
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/config')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java31
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/ConfigModelRegistry.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/MapConfigModelRegistry.java3
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java3
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java23
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/graph/ModelNode.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java15
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java3
8 files changed, 62 insertions, 22 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java
index d9d7dd9eaf0..f324ceef5ab 100644
--- a/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java
+++ b/config-model/src/main/java/com/yahoo/config/model/ApplicationConfigProducerRoot.java
@@ -233,6 +233,37 @@ public class ApplicationConfigProducerRoot extends TreeConfigProducer<AnyConfigP
}
}
+ // add cluster type?
+ // add cluster name?
+ public record StatePortInfo(String hostName, int portNumber,
+ String serviceName, String serviceType)
+ {}
+
+ public List<StatePortInfo> getStatePorts() {
+ List<StatePortInfo> result = new ArrayList<>();
+ for (HostResource modelHost : hostSystem().getHosts()) {
+ String hostName = modelHost.getHostname();
+ for (Service modelService : modelHost.getServices()) {
+ String serviceName = modelService.getServiceName();
+ String serviceType = modelService.getServiceType();
+ PortsMeta portsMeta = modelService.getPortsMeta();
+ for (int i = 0; i < portsMeta.getNumPorts(); i++) {
+ int portNumber = modelService.getRelativePort(i);
+ boolean hasState = false;
+ boolean isHttp = false;
+ for (String tag : portsMeta.getTagsAt(i)) {
+ if (tag.equals("state")) hasState = true;
+ if (tag.equals("http")) isHttp = true;
+ }
+ if (hasState && isHttp) {
+ result.add(new StatePortInfo(hostName, portNumber, serviceName, serviceType));
+ }
+ }
+ }
+ }
+ return result;
+ }
+
private List<Services.Builder> getServices(HostResource modelHost) {
List<Services.Builder> ret = new ArrayList<>();
for (Service modelService : modelHost.getServices()) {
diff --git a/config-model/src/main/java/com/yahoo/config/model/ConfigModelRegistry.java b/config-model/src/main/java/com/yahoo/config/model/ConfigModelRegistry.java
index 51bd01de5bc..f25f130eed0 100644
--- a/config-model/src/main/java/com/yahoo/config/model/ConfigModelRegistry.java
+++ b/config-model/src/main/java/com/yahoo/config/model/ConfigModelRegistry.java
@@ -5,7 +5,7 @@ import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
import com.yahoo.config.model.builder.xml.ConfigModelId;
import java.util.Collection;
-import java.util.Collections;
+import java.util.List;
/**
* A resolver of implementations of named config models.
@@ -44,7 +44,7 @@ public abstract class ConfigModelRegistry {
@Override
public Collection<ConfigModelBuilder> resolve(ConfigModelId id) {
- return Collections.emptyList();
+ return List.of();
}
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/MapConfigModelRegistry.java b/config-model/src/main/java/com/yahoo/config/model/MapConfigModelRegistry.java
index 8fe1372ef2f..7242d3de1dd 100644
--- a/config-model/src/main/java/com/yahoo/config/model/MapConfigModelRegistry.java
+++ b/config-model/src/main/java/com/yahoo/config/model/MapConfigModelRegistry.java
@@ -7,7 +7,6 @@ import com.yahoo.config.model.builder.xml.ConfigModelBuilder;
import com.yahoo.config.model.builder.xml.ConfigModelId;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
@@ -58,7 +57,7 @@ public class MapConfigModelRegistry extends ConfigModelRegistry {
@SafeVarargs
@SuppressWarnings("varargs")
public static ConfigModelRegistry createFromList(ConfigModelBuilder<? extends ConfigModel> ... builders) {
- return new MapConfigModelRegistry(Arrays.asList(builders));
+ return new MapConfigModelRegistry(List.of(builders));
}
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
index f19341098f4..57a75bd8a38 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java
@@ -50,7 +50,6 @@ import java.io.Reader;
import java.io.UncheckedIOException;
import java.time.Instant;
import java.util.Collection;
-import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -329,7 +328,7 @@ public class DeployState implements ConfigDefinitionStore {
private Optional<ConfigDefinitionRepo> configDefinitionRepo = Optional.empty();
private Optional<Model> previousModel = Optional.empty();
private Set<ContainerEndpoint> endpoints = Set.of();
- private Collection<MlModelImporter> modelImporters = Collections.emptyList();
+ private Collection<MlModelImporter> modelImporters = List.of();
private Zone zone = Zone.defaultZone();
private Instant now = Instant.now();
private Version wantedNodeVespaVersion = Vtag.currentVersion;
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index 11d3a48ee51..3c45588a054 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -19,7 +19,6 @@ import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import java.net.URI;
import java.security.cert.X509Certificate;
import java.util.Collection;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -35,10 +34,10 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private boolean multitenant = false;
private ApplicationId applicationId = ApplicationId.defaultId();
- private List<ConfigServerSpec> configServerSpecs = Collections.emptyList();
+ private List<ConfigServerSpec> configServerSpecs = List.of();
private boolean hostedVespa = false;
private Zone zone = Zone.defaultZone();
- private final Set<ContainerEndpoint> endpoints = Collections.emptySet();
+ private final Set<ContainerEndpoint> endpoints = Set.of();
private boolean useDedicatedNodeForLogserver = false;
private double defaultTermwiseLimit = 1.0;
private String jvmGCOptions = null;
@@ -55,10 +54,10 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private double feedConcurrency = 0.5;
private double feedNiceness = 0.0;
private int maxActivationInhibitedOutOfSyncGroups = 0;
- private List<TenantSecretStore> tenantSecretStores = Collections.emptyList();
+ private List<TenantSecretStore> tenantSecretStores = List.of();
private String jvmOmitStackTraceInFastThrowOption;
private boolean allowDisableMtls = true;
- private List<X509Certificate> operatorCertificates = Collections.emptyList();
+ private List<X509Certificate> operatorCertificates = List.of();
private double resourceLimitDisk = 0.75;
private double resourceLimitMemory = 0.8;
private double minNodeRatioPerGroup = 0.0;
@@ -83,6 +82,8 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private boolean allowUserFilters = true;
private List<DataplaneToken> dataplaneTokens;
private int contentLayerMetadataFeatureLevel = 0;
+ private int persistenceThreadMaxFeedOpBatchSize = 1;
+ private boolean logserverOtelCol = false;
@Override public ModelContext.FeatureFlags featureFlags() { return this; }
@Override public boolean multitenant() { return multitenant; }
@@ -139,6 +140,8 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean allowUserFilters() { return allowUserFilters; }
@Override public List<DataplaneToken> dataplaneTokens() { return dataplaneTokens; }
@Override public int contentLayerMetadataFeatureLevel() { return contentLayerMetadataFeatureLevel; }
+ @Override public int persistenceThreadMaxFeedOpBatchSize() { return persistenceThreadMaxFeedOpBatchSize; }
+ @Override public boolean logserverOtelCol() { return logserverOtelCol; }
public TestProperties sharedStringRepoNoReclaim(boolean sharedStringRepoNoReclaim) {
this.sharedStringRepoNoReclaim = sharedStringRepoNoReclaim;
@@ -369,6 +372,16 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
+ public TestProperties setPersistenceThreadMaxFeedOpBatchSize(int maxBatchSize) {
+ this.persistenceThreadMaxFeedOpBatchSize = maxBatchSize;
+ return this;
+ }
+
+ public TestProperties setLogserverOtelCol(boolean logserverOtelCol) {
+ this.logserverOtelCol = logserverOtelCol;
+ return this;
+ }
+
public static class Spec implements ConfigServerSpec {
private final String hostName;
diff --git a/config-model/src/main/java/com/yahoo/config/model/graph/ModelNode.java b/config-model/src/main/java/com/yahoo/config/model/graph/ModelNode.java
index e411a8e3e77..dcf1c8629a4 100644
--- a/config-model/src/main/java/com/yahoo/config/model/graph/ModelNode.java
+++ b/config-model/src/main/java/com/yahoo/config/model/graph/ModelNode.java
@@ -135,7 +135,7 @@ public class ModelNode<MODEL extends ConfigModel> implements ConfigModelInstance
}
// For collections, we don't require that dependency has been added, we just give an empty collection
if (isCollection(param))
- return Collections.emptyList();
+ return List.of();
throw new IllegalArgumentException("Unable to find constructor argument " + param + " for " + clazz.getName());
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
index 5d3db7f676a..365543a549b 100644
--- a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
+++ b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
@@ -31,7 +31,6 @@ import java.io.UncheckedIOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
@@ -143,7 +142,7 @@ public class MockApplicationPackage implements ApplicationPackage {
@Override
public Map<ConfigDefinitionKey, UnparsedConfigDefinition> getAllExistingConfigDefs() {
- return Collections.emptyMap();
+ return Map.of();
}
@Override
@@ -203,7 +202,7 @@ public class MockApplicationPackage implements ApplicationPackage {
}
public List<ComponentInfo> getComponentsInfo(Version vespaVersion) {
- return Collections.emptyList();
+ return List.of();
}
public QueryProfileRegistry getQueryProfiles() { return queryProfileRegistry; }
@@ -240,7 +239,7 @@ public class MockApplicationPackage implements ApplicationPackage {
private File root = new File("nonexisting");
private String hosts = null;
private String services = null;
- private List<String> schemas = Collections.emptyList();
+ private List<String> schemas = List.of();
private Map<Path, MockApplicationFile> files = new LinkedHashMap<>();
private String schemaDir = null;
private String deploymentSpec = null;
@@ -277,12 +276,12 @@ public class MockApplicationPackage implements ApplicationPackage {
}
public Builder withSearchDefinition(String searchDefinition) {
- this.schemas = Collections.singletonList(searchDefinition);
+ this.schemas = List.of(searchDefinition);
return this;
}
public Builder withSchemas(List<String> searchDefinition) {
- this.schemas = Collections.unmodifiableList(searchDefinition);
+ this.schemas = List.copyOf(searchDefinition);
return this;
}
@@ -369,8 +368,8 @@ public class MockApplicationPackage implements ApplicationPackage {
}
private List<NamedReader> asNamedReaderList(String value) {
- if (value == null) return Collections.emptyList();
- return Collections.singletonList(new NamedReader(extractId(value) + ".xml", new StringReader(value)));
+ if (value == null) return List.of();
+ return List.of(new NamedReader(extractId(value) + ".xml", new StringReader(value)));
}
private String extractId(String xmlStringWithIdAttribute) {
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java b/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java
index 94969aa5324..509c10c7fc9 100644
--- a/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java
+++ b/config-model/src/main/java/com/yahoo/config/model/test/TestUtil.java
@@ -6,7 +6,6 @@ import com.yahoo.config.model.builder.xml.XmlHelper;
import org.w3c.dom.Element;
import java.io.StringReader;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
/**
@@ -20,7 +19,7 @@ public class TestUtil {
public static Element parse(String... xmlLines) {
List<String> lines = new ArrayList<>();
lines.add("<?xml version='1.0' encoding='utf-8' ?>");
- lines.addAll(Arrays.asList(xmlLines));
+ lines.addAll(List.of(xmlLines));
try {
return XmlHelper.getDocument(new StringReader(CollectionUtil.mkString(lines, "\n").replace("'", "\""))).getDocumentElement();