summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/DeployState.java17
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java3
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidator.java1
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java13
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java14
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java1
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java3
-rw-r--r--container-core/src/main/resources/configdefinitions/container.qr.def2
-rw-r--r--dependency-versions/pom.xml2
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java2
-rw-r--r--searchlib/src/vespa/searchlib/query/streaming/query.cpp2
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java2
-rw-r--r--tenant-cd-api/src/main/java/org/opentest4j/package-info.java2
29 files changed, 47 insertions, 65 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index 6e1127f9cf9..f6a9de672a3 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -109,7 +109,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"arnej"}) default String logFileCompressionAlgorithm(String defVal) { return defVal; }
@ModelFeatureFlag(owners = {"baldersheim"}, comment = "Select summary decode type") default String summaryDecodePolicy() { return "eager"; }
@ModelFeatureFlag(owners = {"vekterli"}) default int contentLayerMetadataFeatureLevel() { return 0; }
- @ModelFeatureFlag(owners = {"bjorncs"}) default boolean dynamicHeapSize() { return false; }
+ @ModelFeatureFlag(owners = {"bjorncs"}, removeAfter = "8.289") default boolean dynamicHeapSize() { return true; }
@ModelFeatureFlag(owners = {"hmusum"}) default String unknownConfigDefinition() { return "warn"; }
@ModelFeatureFlag(owners = {"hmusum"}) default int searchHandlerThreadpool() { return 2; }
@ModelFeatureFlag(owners = {"vekterli"}) default long mergingMaxMemoryUsagePerNode() { return -1; }
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 647745eba5d..f19341098f4 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
@@ -27,7 +27,6 @@ import com.yahoo.config.model.application.provider.MockFileRegistry;
import com.yahoo.config.model.provision.HostsXmlProvisioner;
import com.yahoo.config.model.provision.SingleNodeProvisioner;
import com.yahoo.config.model.test.MockApplicationPackage;
-import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.Zone;
import com.yahoo.io.IOUtils;
@@ -93,7 +92,6 @@ public class DeployState implements ConfigDefinitionStore {
private final Reindexing reindexing;
private final ExecutorService executor;
private final OnnxModelCost onnxModelCost;
- private final Set<ClusterSpec.Id> restartingClusters;
public static DeployState createTestState() {
return new Builder().build();
@@ -129,8 +127,7 @@ public class DeployState implements ConfigDefinitionStore {
Optional<DockerImage> wantedDockerImageRepo,
Reindexing reindexing,
Optional<ValidationOverrides> validationOverrides,
- OnnxModelCost onnxModelCost,
- Set<ClusterSpec.Id> restartingClusters) {
+ OnnxModelCost onnxModelCost) {
this.logger = deployLogger;
this.fileRegistry = fileRegistry;
this.executor = executor;
@@ -159,7 +156,6 @@ public class DeployState implements ConfigDefinitionStore {
this.wantedDockerImageRepo = wantedDockerImageRepo;
this.reindexing = reindexing;
this.onnxModelCost = onnxModelCost;
- this.restartingClusters = Set.copyOf(restartingClusters);
}
public static HostProvisioner getDefaultModelHostProvisioner(ApplicationPackage applicationPackage) {
@@ -315,8 +311,6 @@ public class DeployState implements ConfigDefinitionStore {
public OnnxModelCost onnxModelCost() { return onnxModelCost; }
- public Set<ClusterSpec.Id> restartingClusters() { return restartingClusters; }
-
public boolean isHostedTenantApplication(ApplicationType type) {
boolean isTesterApplication = getProperties().applicationId().instance().isTester();
return isHosted() && type == ApplicationType.DEFAULT && !isTesterApplication;
@@ -346,7 +340,6 @@ public class DeployState implements ConfigDefinitionStore {
private Reindexing reindexing = null;
private Optional<ValidationOverrides> validationOverrides = Optional.empty();
private OnnxModelCost onnxModelCost = OnnxModelCost.disabled();
- private Set<ClusterSpec.Id> restartingClusters = Set.of();
public Builder() {}
@@ -466,11 +459,6 @@ public class DeployState implements ConfigDefinitionStore {
public Builder onnxModelCost(OnnxModelCost instance) { this.onnxModelCost = instance; return this; }
- public Builder restartingClusters(Set<ClusterSpec.Id> restartingClusters) {
- this.restartingClusters = Set.copyOf(restartingClusters);
- return this;
- }
-
public DeployState build() {
return build(new ValidationParameters());
}
@@ -504,8 +492,7 @@ public class DeployState implements ConfigDefinitionStore {
wantedDockerImageRepo,
reindexing,
validationOverrides,
- onnxModelCost,
- restartingClusters);
+ onnxModelCost);
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
index 1b9d4004b5d..65572d07cc2 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModelFactory.java
@@ -198,8 +198,7 @@ public class VespaModelFactory implements ModelFactory {
.now(clock.instant())
.wantedNodeVespaVersion(modelContext.wantedNodeVespaVersion())
.wantedDockerImageRepo(modelContext.wantedDockerImageRepo())
- .onnxModelCost(modelContext.onnxModelCost())
- .restartingClusters(modelContext.restartingClusters());
+ .onnxModelCost(modelContext.onnxModelCost());
modelContext.previousModel().ifPresent(builder::previousModel);
modelContext.reindexing().ifPresent(builder::reindexing);
return builder.build(validationParameters);
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidator.java
index 482c4477cdc..9cf5fe84c21 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/JvmHeapSizeValidator.java
@@ -18,7 +18,6 @@ public class JvmHeapSizeValidator implements Validator {
@Override
public void validate(Context context) {
- if (!context.deployState().featureFlags().dynamicHeapSize()) return;
if (!context.deployState().isHostedTenantApplication(context.model().getAdmin().getApplicationType())) return;
context.model().getContainerClusters().forEach((clusterId, appCluster) -> {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
index 3fc194a505e..ed7646b3066 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java
@@ -50,7 +50,6 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Optional;
import java.util.Set;
-import java.util.logging.Level;
import java.util.stream.Collectors;
import static com.yahoo.vespa.model.container.docproc.DocprocChains.DOCUMENT_TYPE_MANAGER_CLASS;
@@ -102,7 +101,6 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
private int zookeeperSessionTimeoutSeconds = 30;
private final int transport_events_before_wakeup;
private final int transport_connections_per_target;
- private final boolean dynamicHeapSize;
/** The heap size % of total memory available to the JVM process. */
private final int heapSizePercentageOfAvailableMemory;
@@ -116,7 +114,6 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
public ApplicationContainerCluster(TreeConfigProducer<?> parent, String configSubId, String clusterId, DeployState deployState) {
super(parent, configSubId, clusterId, deployState, true, 10);
this.tlsClientAuthority = deployState.tlsClientAuthority();
- dynamicHeapSize = deployState.featureFlags().dynamicHeapSize();
previousHosts = Collections.unmodifiableSet(deployState.getPreviousModel().stream()
.map(Model::allocatedHosts)
.map(AllocatedHosts::getHosts)
@@ -154,10 +151,8 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
registerApplicationBundles(deployState);
registerUserConfiguredFiles(deployState);
createEndpoints(deployState);
- if (onnxModelCostCalculator.restartOnDeploy() || deployState.restartingClusters().contains(id())) {
- deployState.getDeployLogger().log(Level.INFO, "Deferring config change until restart for cluster '" + id() + "'");
+ if (onnxModelCostCalculator.restartOnDeploy())
setDeferChangesUntilRestart(true);
- }
}
private void registerApplicationBundles(DeployState deployState) {
@@ -218,10 +213,8 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat
if (getContainers().isEmpty()) return Optional.of(JvmMemoryPercentage.of(availableMemoryPercentage)); // Node memory is not known
// Node memory is known so convert available memory percentage to node memory percentage
- double totalMemory = dynamicHeapSize
- ? getContainers().stream().mapToDouble(c -> c.getHostResource().realResources().memoryGb()).min().orElseThrow()
- : getContainers().get(0).getHostResource().realResources().memoryGb();
- double jvmHeapDeductionGb = dynamicHeapSize ? onnxModelCostCalculator.aggregatedModelCostInBytes() / (1024D * 1024 * 1024) : 0;
+ double totalMemory = getContainers().stream().mapToDouble(c -> c.getHostResource().realResources().memoryGb()).min().orElseThrow();
+ double jvmHeapDeductionGb = onnxModelCostCalculator.aggregatedModelCostInBytes() / (1024D * 1024 * 1024);
double availableMemory = Math.max(0, totalMemory - Host.memoryOverheadGb - jvmHeapDeductionGb);
int memoryPercentage = (int) (availableMemory / totalMemory * availableMemoryPercentage);
logger.log(FINE, () -> "cluster id '%s': memoryPercentage=%d, availableMemory=%f, totalMemory=%f, availableMemoryPercentage=%d, jvmHeapDeductionGb=%f"
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index 799e0bd62e8..aeb6c030a49 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
@@ -166,7 +166,7 @@ public abstract class ContainerCluster<CONTAINER extends Container>
private String hostClusterId = null;
private String jvmGCOptions = null;
- private boolean deferChangesUntilRestart = false;
+ private volatile boolean deferChangesUntilRestart = false;
private boolean clientsLegacyMode;
private List<Client> clients = List.of();
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index df01d1edac3..22b2b581b44 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -22,7 +22,6 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.CloudAccount;
import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.ClusterSpec.Id;
import com.yahoo.config.provision.DataplaneToken;
import com.yahoo.config.provision.DockerImage;
import com.yahoo.config.provision.HostName;
@@ -40,7 +39,6 @@ import java.io.File;
import java.net.URI;
import java.security.cert.X509Certificate;
import java.time.Duration;
-import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@@ -69,7 +67,6 @@ public class ModelContextImpl implements ModelContext {
private final ModelContext.Properties properties;
private final Optional<File> appDir;
private final OnnxModelCost onnxModelCost;
- private final Set<ClusterSpec.Id> restartingClusters;
private final Optional<DockerImage> wantedDockerImageRepository;
@@ -97,7 +94,6 @@ public class ModelContextImpl implements ModelContext {
ModelContext.Properties properties,
Optional<File> appDir,
OnnxModelCost onnxModelCost,
- Collection<Id> restartingClusters,
Optional<DockerImage> wantedDockerImageRepository,
Version modelVespaVersion,
Version wantedNodeVespaVersion) {
@@ -116,7 +112,6 @@ public class ModelContextImpl implements ModelContext {
this.modelVespaVersion = modelVespaVersion;
this.wantedNodeVespaVersion = wantedNodeVespaVersion;
this.onnxModelCost = onnxModelCost;
- this.restartingClusters = Set.copyOf(restartingClusters);
}
@Override
@@ -153,9 +148,6 @@ public class ModelContextImpl implements ModelContext {
public Optional<? extends Reindexing> reindexing() { return reindexing; }
@Override
- public Set<ClusterSpec.Id> restartingClusters() { return restartingClusters; }
-
- @Override
public ModelContext.Properties properties() { return properties; }
@Override
@@ -212,7 +204,6 @@ public class ModelContextImpl implements ModelContext {
private boolean sortBlueprintsByCost;
private final boolean alwaysMarkPhraseExpensive;
private final int contentLayerMetadataFeatureLevel;
- private final boolean dynamicHeapSize;
private final String unknownConfigDefinition;
private final int searchHandlerThreadpool;
private final long mergingMaxMemoryUsagePerNode;
@@ -256,7 +247,6 @@ public class ModelContextImpl implements ModelContext {
this.heapPercentage = flagValue(source, appId, version, PermanentFlags.HEAP_SIZE_PERCENTAGE);
this.summaryDecodePolicy = flagValue(source, appId, version, Flags.SUMMARY_DECODE_POLICY);
this.contentLayerMetadataFeatureLevel = flagValue(source, appId, version, Flags.CONTENT_LAYER_METADATA_FEATURE_LEVEL);
- this.dynamicHeapSize = flagValue(source, appId, version, Flags.DYNAMIC_HEAP_SIZE);
this.unknownConfigDefinition = flagValue(source, appId, version, Flags.UNKNOWN_CONFIG_DEFINITION);
this.searchHandlerThreadpool = flagValue(source, appId, version, Flags.SEARCH_HANDLER_THREADPOOL);
this.mergingMaxMemoryUsagePerNode = flagValue(source, appId, version, Flags.MERGING_MAX_MEMORY_USAGE_PER_NODE);
@@ -311,7 +301,6 @@ public class ModelContextImpl implements ModelContext {
}
@Override public boolean alwaysMarkPhraseExpensive() { return alwaysMarkPhraseExpensive; }
@Override public int contentLayerMetadataFeatureLevel() { return contentLayerMetadataFeatureLevel; }
- @Override public boolean dynamicHeapSize() { return dynamicHeapSize; }
@Override public String unknownConfigDefinition() { return unknownConfigDefinition; }
@Override public int searchHandlerThreadpool() { return searchHandlerThreadpool; }
@Override public long mergingMaxMemoryUsagePerNode() { return mergingMaxMemoryUsagePerNode; }
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
index 02e49e3990c..64ccd910120 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/ActivatedModelsBuilder.java
@@ -118,13 +118,12 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
modelContextProperties,
Optional.empty(),
onnxModelCost,
- zkClient.readActivationTriggers().restartingClusters(),
wantedDockerImageRepository,
modelFactory.version(),
wantedNodeVespaVersion);
MetricUpdater applicationMetricUpdater = metrics.getOrCreateMetricUpdater(Metrics.createDimensions(applicationId));
ServerCache serverCache = new ServerCache(configDefinitionRepo, zkClient.getUserConfigDefinitions());
- return new Application(modelFactory.createModel(modelContext),
+ return new Application(withDeferredConfigForRestartingClusters(modelFactory.createModel(modelContext)),
serverCache,
applicationGeneration,
modelFactory.version(),
@@ -171,4 +170,15 @@ public class ActivatedModelsBuilder extends ModelsBuilder<Application> {
zkClient.readDataplaneTokens());
}
+ private Model withDeferredConfigForRestartingClusters(Model model) {
+ if ( ! (model instanceof VespaModel vespaModel)) return model;
+ for (ClusterSpec.Id cluster : zkClient.readActivationTriggers().restartingClusters()) {
+ ApplicationContainerCluster containerCluster = vespaModel.getContainerClusters().get(cluster.value());
+ if (containerCluster != null) containerCluster.setDeferChangesUntilRestart(true);
+ ContentCluster contentCluster = vespaModel.getContentClusters().get(cluster.value());
+ if (contentCluster != null) contentCluster.setDeferChangesUntilRestart(true);
+ }
+ return model;
+ }
+
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
index 894cedd0a34..fd8728ac655 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/modelfactory/PreparedModelsBuilder.java
@@ -128,7 +128,6 @@ public class PreparedModelsBuilder extends ModelsBuilder<PreparedModelsBuilder.P
createModelContextProperties(modelFactory.version(), applicationPackage),
getAppDir(applicationPackage),
onnxModelCost,
- Set.of(), // Known after preparation and validation, passed from activated models builder only.
wantedDockerImageRepository,
modelVersion,
wantedNodeVespaVersion);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
index 27d82e90197..3289cc71357 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelContextImplTest.java
@@ -16,7 +16,6 @@ import com.yahoo.config.model.application.provider.MockFileRegistry;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.ClusterSpec.Id;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.jdisc.SecretStoreProvider;
import com.yahoo.vespa.config.server.deploy.ModelContextImpl;
@@ -81,7 +80,6 @@ public class ModelContextImplTest {
List.of()),
Optional.empty(),
OnnxModelCost.disabled(),
- List.of(Id.from("foobar")),
Optional.empty(),
new Version(7),
new Version(8));
@@ -90,7 +88,6 @@ public class ModelContextImplTest {
assertFalse(context.previousModel().isPresent());
assertTrue(context.getFileRegistry() instanceof MockFileRegistry);
assertTrue(context.configDefinitionRepo() instanceof StaticConfigDefinitionRepo);
- assertEquals(Set.of(Id.from("foobar")), context.restartingClusters());
assertEquals(ApplicationId.defaultId(), context.properties().applicationId());
assertTrue(context.properties().configServerSpecs().isEmpty());
assertTrue(context.properties().multitenant());
diff --git a/container-core/src/main/resources/configdefinitions/container.qr.def b/container-core/src/main/resources/configdefinitions/container.qr.def
index e49e334a299..a08cc0fac83 100644
--- a/container-core/src/main/resources/configdefinitions/container.qr.def
+++ b/container-core/src/main/resources/configdefinitions/container.qr.def
@@ -12,7 +12,7 @@ filedistributor.configid reference default=""
rpc.enabled bool default=false restart
## RPC server listen port
-rpc.port int default=8086 restart
+rpc.port int default=8086
## Which interface to bind to.
rpc.host string default="" restart
diff --git a/dependency-versions/pom.xml b/dependency-versions/pom.xml
index af9d51509cb..76e537601d5 100644
--- a/dependency-versions/pom.xml
+++ b/dependency-versions/pom.xml
@@ -145,6 +145,8 @@
<!-- Versions used by tenant parent pom and testing framework -->
<!-- CAUTION: upgrading junit for tenants poms may break testing frameworks -->
+ <!-- CAUTION 2: this version must match the exported packages from the tenant-cd-api module -->
+ <!-- CAUTION 3: this is probably not a good idea to change too ofter; consider a major version next time -->
<junit.vespa.tenant.version>5.10.1</junit.vespa.tenant.version>
<junit.platform.vespa.tenant.version>1.10.1</junit.platform.vespa.tenant.version>
<surefire.vespa.tenant.version>${surefire.vespa.version}</surefire.vespa.tenant.version>
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 cf9ab5c3973..377ebf556dd 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -385,7 +385,7 @@ public class Flags {
INSTANCE_ID);
public static final UnboundBooleanFlag DYNAMIC_HEAP_SIZE = defineFeatureFlag(
- "dynamic-heap-size", false,
+ "dynamic-heap-size", true,
List.of("bjorncs"), "2023-09-21", "2024-02-15",
"Whether to calculate JVM heap size based on predicted Onnx model memory requirements",
"Takes effect at redeployment",
diff --git a/searchlib/src/vespa/searchlib/query/streaming/query.cpp b/searchlib/src/vespa/searchlib/query/streaming/query.cpp
index 3079ec31e8f..ca742aabe26 100644
--- a/searchlib/src/vespa/searchlib/query/streaming/query.cpp
+++ b/searchlib/src/vespa/searchlib/query/streaming/query.cpp
@@ -107,9 +107,7 @@ QueryConnector::create(ParseItem::ItemType type)
case search::ParseItem::ITEM_AND: return std::make_unique<AndQueryNode>();
case search::ParseItem::ITEM_OR:
case search::ParseItem::ITEM_WEAK_AND: return std::make_unique<OrQueryNode>();
- case search::ParseItem::ITEM_WEIGHTED_SET:
case search::ParseItem::ITEM_EQUIV: return std::make_unique<EquivQueryNode>();
- case search::ParseItem::ITEM_WAND: return std::make_unique<OrQueryNode>();
case search::ParseItem::ITEM_NOT: return std::make_unique<AndNotQueryNode>();
case search::ParseItem::ITEM_PHRASE: return std::make_unique<PhraseQueryNode>();
case search::ParseItem::ITEM_SAME_ELEMENT: return std::make_unique<SameElementQueryNode>();
diff --git a/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp b/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp
index 6474a449272..095141c0359 100644
--- a/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp
+++ b/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp
@@ -3,6 +3,7 @@
#include "matching_elements_filler.h"
#include <vespa/searchlib/common/matching_elements.h>
#include <vespa/searchlib/common/matching_elements_fields.h>
+#include <vespa/searchlib/query/streaming/weighted_set_term.h>
#include <vespa/vsm/searcher/fieldsearcher.h>
#include <vespa/vdslib/container/searchresult.h>
#include "hitcollector.h"
@@ -17,6 +18,7 @@ using search::streaming::QueryConnector;
using search::streaming::QueryNode;
using search::streaming::QueryTerm;
using search::streaming::SameElementQueryNode;
+using search::streaming::WeightedSetTerm;
using vdslib::SearchResult;
using vsm::FieldIdTSearcherMap;
using vsm::StorageDocument;
@@ -79,6 +81,13 @@ Matcher::select_query_nodes(const MatchingElementsFields& fields, const QueryNod
if (fields.has_field(same_element->getIndex())) {
_same_element_nodes.emplace_back(same_element);
}
+ } else if (auto weighted_set_term = as<WeightedSetTerm>(query_node)) {
+ if (fields.has_field(weighted_set_term->getIndex())) {
+ auto &terms = weighted_set_term->get_terms();
+ for (auto& term : terms) {
+ _sub_field_terms.emplace_back(weighted_set_term->getIndex(), term.get());
+ }
+ }
} else if (auto query_term = as<QueryTerm>(query_node)) {
if (fields.has_struct_field(query_term->getIndex())) {
_sub_field_terms.emplace_back(fields.get_enclosing_field(query_term->getIndex()), query_term);
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java
index ed1a075f9d2..7920928017b 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/condition/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.condition;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java
index a2a9eab70e0..e3cff292714 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.extension;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java
index f3271fd9c22..57724e66600 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.extension.support;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java
index 9e43f885f47..ec9b4a8a195 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/function/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.function;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java
index 685044e2ba5..daeba215701 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/io/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.io;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java
index 1bf0613132d..d9bf4f0316e 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java
index 1f67cbf96a5..c31977ac22f 100644
--- a/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/parallel/package-info.java
@@ -2,7 +2,7 @@
/**
* @author bjorncs
*/
-@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 5, minor = 10, micro = 1))
package org.junit.jupiter.api.parallel;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java
index bf69bc87903..87ae7c25bb1 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons.annotation;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java
index c1020a3a364..7ca49947df6 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons.function;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java
index f56cc14314e..0c8e124bb60 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons.logging;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java
index 60ba2abbc54..a2ec3831534 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java
index 772a79e40f2..51b1df85173 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons.support;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java
index 5c11fbbb5e4..c30a31377c4 100644
--- a/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+@ExportPackage(version = @Version(major = 1, minor = 10, micro = 1))
package org.junit.platform.commons.util;
import com.yahoo.osgi.annotation.ExportPackage;
diff --git a/tenant-cd-api/src/main/java/org/opentest4j/package-info.java b/tenant-cd-api/src/main/java/org/opentest4j/package-info.java
index b5a3619017d..f0327bcef6f 100644
--- a/tenant-cd-api/src/main/java/org/opentest4j/package-info.java
+++ b/tenant-cd-api/src/main/java/org/opentest4j/package-info.java
@@ -2,7 +2,7 @@
/**
* @author jonmv
*/
-@ExportPackage(version = @Version(major = 1, minor = 2, micro = 0))
+@ExportPackage(version = @Version(major = 1, minor = 3, micro = 0))
package org.opentest4j;
import com.yahoo.osgi.annotation.ExportPackage;