diff options
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; |