summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cloud-tenant-base-dependencies-enforcer/pom.xml2
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java6
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java6
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java2
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java11
-rw-r--r--config-model/src/test/derived/advanced/attributes.cfg2
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/attributes.cfg2
-rw-r--r--config-model/src/test/derived/map_attribute/attributes.cfg2
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/attributes.cfg4
-rw-r--r--config-model/src/test/derived/multiplesummaries/attributes.cfg2
-rw-r--r--config-model/src/test/derived/types/attributes.cfg2
-rw-r--r--config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java13
-rw-r--r--config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java2
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java2
-rw-r--r--config-model/src/test/schema-test-files/services.xml1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java9
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java38
-rw-r--r--dist/vespa.spec2
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java23
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java15
-rw-r--r--metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/ConsumerId.java4
-rw-r--r--metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/metrics/MetricsHandlerTestBase.java11
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java11
-rw-r--r--parent/pom.xml2
-rw-r--r--searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/bmcluster/bm_node.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/cachedselect.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/cachedselect.h1
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/selectpruner.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/flushengine.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/matcher.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/matcher.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/query.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/persistenceengine/persistence_handler_map.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executor_threading_service_explorer.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/feedstates.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/i_lid_space_compaction_handler.h3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/move_operation_limiter.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton_thread_pools_explorer.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/tls_replay_progress.h1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.cpp2
-rw-r--r--searchcore/src/vespa/searchcorespi/index/idiskindex.h2
-rw-r--r--searchcore/src/vespa/searchcorespi/index/imemoryindex.h2
-rw-r--r--searchcore/src/vespa/searchcorespi/index/indexmaintainer.cpp2
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp2
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp2
-rw-r--r--searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/address_space_usage.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute.h8
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributefilewriter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributemanager.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributememoryfilewriter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributememorysavetarget.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attrvector.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/enumattribute.hpp4
-rw-r--r--searchlib/src/vespa/searchlib/attribute/imported_search_context.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/load_utils.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/loadedvalue.h2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multi_value_mapping.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multienumattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multivalueattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multivalueattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistattribute.h6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.hpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/predicate_attribute.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/readerbase.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singleenumattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericattributesaver.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringattribute.h6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/attribute/stringbase.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/common/locationiterators.h2
-rw-r--r--searchlib/src/vespa/searchlib/common/packets.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/common/packets.h1
-rw-r--r--searchlib/src/vespa/searchlib/common/sortresults.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/liddatastore.h2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumreply.h8
-rw-r--r--searchlib/src/vespa/searchlib/engine/search_protocol_proto.h2
-rw-r--r--searchlib/src/vespa/searchlib/engine/searchreply.h2
-rw-r--r--searchlib/src/vespa/searchlib/expression/floatresultnode.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/expression/stringresultnode.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/features/distancefeature.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/features/euclidean_distance_feature.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/features/nativeattributematchfeature.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/features/queryfeature.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/iblueprintregistry.h6
-rw-r--r--searchlib/src/vespa/searchlib/fef/query_value.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/query_value.h1
-rw-r--r--searchlib/src/vespa/searchlib/fef/symmetrictable.h2
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/indexenvironmentbuilder.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/plugin/setup.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/fef/test/test_features.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/grouping/groupengine.h2
-rw-r--r--searchlib/src/vespa/searchlib/grouping/groupingengine.h2
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglistcountfile.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglistfile.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglisthandle.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/index/postinglisthandle.h2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/url_field_inverter.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h2
-rw-r--r--searchlib/src/vespa/searchlib/query/query_term_simple.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/fake_requestcontext.h2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h2
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp3
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h13
-rw-r--r--searchlib/src/vespa/searchlib/util/comprbuffer.h2
-rw-r--r--searchlib/src/vespa/searchlib/util/comprfile.h2
-rw-r--r--searchlib/src/vespa/searchlib/util/drainingbufferwriter.h2
-rw-r--r--searchlib/src/vespa/searchlib/util/file_with_header.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/util/logutil.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/btree/btreebuilder.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/component/versionspecification.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/data/slime/json_format.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/datastore/buffer_type.cpp1
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_enumerator.hpp4
-rw-r--r--vespalib/src/vespa/vespalib/net/tls/impl/openssl_tls_context_impl.cpp3
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java21
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java6
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCuratorFramework.java29
-rw-r--r--zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java2
166 files changed, 272 insertions, 277 deletions
diff --git a/cloud-tenant-base-dependencies-enforcer/pom.xml b/cloud-tenant-base-dependencies-enforcer/pom.xml
index 124421f4287..184ff0ec8e9 100644
--- a/cloud-tenant-base-dependencies-enforcer/pom.xml
+++ b/cloud-tenant-base-dependencies-enforcer/pom.xml
@@ -42,7 +42,7 @@
<javax.servlet-api.version>3.1.0</javax.servlet-api.version>
<javax.ws.rs-api.version>2.0.1</javax.ws.rs-api.version>
<jaxb.version>2.3.0</jaxb.version>
- <jetty.version>9.4.48.v20220622</jetty.version>
+ <jetty.version>9.4.49.v20220914</jetty.version>
<jetty-alpn.version>1.1.3.v20160715</jetty-alpn.version>
<org.lz4.version>1.8.0</org.lz4.version>
<org.json.version>20220320</org.json.version>
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 fe1d187979e..1e9958ac072 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
@@ -95,8 +95,8 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"baldersheim"}) default boolean useAsyncMessageHandlingOnSchedule() { throw new UnsupportedOperationException("TODO specify default value"); }
@ModelFeatureFlag(owners = {"baldersheim"}) default double feedConcurrency() { throw new UnsupportedOperationException("TODO specify default value"); }
@ModelFeatureFlag(owners = {"baldersheim"}) default double feedNiceness() { return 0.0; }
- @ModelFeatureFlag(owners = {"baldersheim"}) default int defaultPoolNumThreads() { return 2; }
- @ModelFeatureFlag(owners = {"baldersheim"}) default int availableProcessors() { return 2; }
+ @ModelFeatureFlag(owners = {"baldersheim"}, removeAfter="8.60") default int defaultPoolNumThreads() { return 1; }
+ @ModelFeatureFlag(owners = {"baldersheim"}, removeAfter="8.60") default int availableProcessors() { return 1; }
@ModelFeatureFlag(owners = {"baldersheim"}) default int maxUnCommittedMemory() { return 130000; }
@ModelFeatureFlag(owners = {"baldersheim"}) default int maxConcurrentMergesPerNode() { return 16; }
@ModelFeatureFlag(owners = {"baldersheim"}) default int maxMergeQueueSize() { return 100; }
@@ -126,7 +126,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"arnej"}) default boolean useQrserverServiceName() { return true; }
@ModelFeatureFlag(owners = {"arnej"}) default boolean avoidRenamingSummaryFeatures() { return false; }
@ModelFeatureFlag(owners = {"arnej"}) default boolean experimentalSdParsing() { return true; } // TODO: Remove after June 2022
- @ModelFeatureFlag(owners = {"baldersheim"}) default boolean enableBitVectors() { return false; }
+ @ModelFeatureFlag(owners = {"baldersheim"}, removeAfter="8.60") default boolean enableBitVectors() { return true; }
@ModelFeatureFlag(owners = {"hmusum"}) default Architecture adminClusterArchitecture() { return Architecture.getDefault(); }
@ModelFeatureFlag(owners = {"tokle"}) default boolean enableProxyProtocolMixedMode() { return true; }
@ModelFeatureFlag(owners = {"arnej"}) default String logFileCompressionAlgorithm(String defVal) { return defVal; }
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 b7b54e749f9..f8dafd1082e 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
@@ -77,7 +77,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private boolean persistenceThrottlingOfMergeFeedOps = true;
private boolean useV8GeoPositions = true;
private List<String> environmentVariables = List.of();
- private boolean enableBitVectors = false;
private boolean loadCodeAsHugePages = false;
private boolean sharedStringRepoNoReclaim = false;
private boolean useTwoPhaseDocumentGc = false;
@@ -141,7 +140,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; }
@Override public boolean useV8GeoPositions() { return useV8GeoPositions; }
@Override public List<String> environmentVariables() { return environmentVariables; }
- @Override public boolean enableBitVectors() { return this.enableBitVectors; }
@Override public Architecture adminClusterArchitecture() { return adminClusterNodeResourcesArchitecture; }
@Override public boolean sharedStringRepoNoReclaim() { return sharedStringRepoNoReclaim; }
@Override public boolean loadCodeAsHugePages() { return loadCodeAsHugePages; }
@@ -385,11 +383,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setEnableBitVectors(boolean value) {
- this.enableBitVectors = value;
- return this;
- }
-
public TestProperties setMbusNetworkThreads(int value) {
this.mbus_network_threads = value;
return this;
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
index 505778ad047..567bd564eb5 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
@@ -183,7 +183,7 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce
@Override
public void getConfig(AttributesConfig.Builder builder) {
//TODO This is just to get some exporting tests to work, Should be undone and removed
- getConfig(builder, FieldSet.ALL, 77777, false);
+ getConfig(builder, FieldSet.ALL, 77777);
}
private boolean isAttributeInFieldSet(Attribute attribute, FieldSet fs) {
@@ -277,12 +277,12 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce
};
}
- public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory, boolean enableBitVectors) {
+ public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory) {
for (Attribute attribute : attributes.values()) {
if (isAttributeInFieldSet(attribute, fs)) {
AttributesConfig.Attribute.Builder attrBuilder = getConfig(attribute.getName(), attribute, false);
attrBuilder.maxuncommittedmemory(maxUnCommittedMemory);
- if (enableBitVectors && attribute.isFastSearch()) {
+ if (attribute.isFastSearch()) {
attrBuilder.enablebitvectors(true);
}
builder.attribute(attrBuilder);
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
index c6a5873a848..11bd14cbe46 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
@@ -40,7 +40,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
private ImportedFields importedFields;
private final QueryProfileRegistry queryProfiles;
private final long maxUncommittedMemory;
- private final boolean enableBitVectors;
/**
* Creates a complete derived configuration from a search definition.
@@ -71,7 +70,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
this.schema = schema;
this.queryProfiles = deployState.getQueryProfiles().getRegistry();
this.maxUncommittedMemory = deployState.getProperties().featureFlags().maxUnCommittedMemory();
- this.enableBitVectors = deployState.getProperties().featureFlags().enableBitVectors();
if ( ! schema.isDocumentsOnly()) {
streamingFields = new VsmFields(schema);
streamingSummary = new VsmSummary(schema);
@@ -157,7 +155,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
}
public void getConfig(AttributesConfig.Builder builder, AttributeFields.FieldSet fs) {
- attributeFields.getConfig(builder, fs, maxUncommittedMemory, enableBitVectors);
+ attributeFields.getConfig(builder, fs, maxUncommittedMemory);
}
public IndexingScript getIndexingScript() {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
index c50b9b7f842..e9b6480f60d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
@@ -17,7 +17,7 @@ import java.util.Optional;
public class LogserverContainerCluster extends ContainerCluster<LogserverContainer> {
public LogserverContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
- super(parent, name, name, deployState, true, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, name, name, deployState, true);
addDefaultHandlersWithVip();
addLogHandler();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
index f7007fec181..2f9a9df10e2 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
@@ -28,7 +28,7 @@ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterC
public ClusterControllerContainerCluster(
AbstractConfigProducer<?> parent, String subId, String name, DeployState deployState) {
- super(parent, subId, name, deployState, false, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, subId, name, deployState, false);
addDefaultHandlersWithVip();
this.reindexingContext = createReindexingContext(deployState);
setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin)));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
index 17f169033d3..f7d9c2f4a0d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
@@ -96,7 +96,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
private final ApplicationId applicationId;
public MetricsProxyContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
- super(parent, name, name, deployState, true, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, name, name, deployState, true);
this.parent = parent;
applicationId = deployState.getProperties().applicationId();
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 d58d1f4ae5d..560703b6b26 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
@@ -148,7 +148,6 @@ public abstract class ContainerCluster<CONTAINER extends Container>
private final ComponentGroup<Component<?, ?>> componentGroup;
private final boolean isHostedVespa;
private final boolean zooKeeperLocalhostAffinity;
- private final int numAvailableProcessors;
private final String compressionType;
private final Map<String, String> concreteDocumentTypes = new LinkedHashMap<>();
@@ -163,13 +162,15 @@ public abstract class ContainerCluster<CONTAINER extends Container>
private boolean deferChangesUntilRestart = false;
+ public ContainerCluster(AbstractConfigProducer<?> parent, String configSubId, String clusterId, DeployState deployState, boolean zooKeeperLocalhostAffinity) {
+ this(parent, configSubId, clusterId, deployState, zooKeeperLocalhostAffinity, 1);
+ }
public ContainerCluster(AbstractConfigProducer<?> parent, String configSubId, String clusterId, DeployState deployState, boolean zooKeeperLocalhostAffinity, int defaultPoolNumThreads) {
super(parent, configSubId);
this.name = clusterId;
this.isHostedVespa = stateIsHosted(deployState);
this.zone = (deployState != null) ? deployState.zone() : Zone.defaultZone();
this.zooKeeperLocalhostAffinity = zooKeeperLocalhostAffinity;
- this.numAvailableProcessors = deployState.featureFlags().availableProcessors();
this.compressionType = deployState.featureFlags().logFileCompressionAlgorithm("zstd");
componentGroup = new ComponentGroup<>(this, "component");
@@ -359,10 +360,6 @@ public abstract class ContainerCluster<CONTAINER extends Container>
this.containerDocproc = containerDocproc;
}
- public ContainerDocumentApi getDocumentApi() {
- return containerDocumentApi;
- }
-
public void setDocumentApi(ContainerDocumentApi containerDocumentApi) {
this.containerDocumentApi = containerDocumentApi;
}
@@ -514,7 +511,7 @@ public abstract class ContainerCluster<CONTAINER extends Container>
public void getConfig(QrStartConfig.Builder builder) {
builder.jvm
.verbosegc(false)
- .availableProcessors(numAvailableProcessors)
+ .availableProcessors(1)
.compressedClassSpaceSize(32)
.minHeapsize(32)
.heapsize(256)
diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg
index 5ebd25b7678..0b4e28f0cbf 100644
--- a/config-model/src/test/derived/advanced/attributes.cfg
+++ b/config-model/src/test/derived/advanced/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
index 75e892fda7c..e24ed687b93 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/map_attribute/attributes.cfg b/config-model/src/test/derived/map_attribute/attributes.cfg
index 2b62418480b..0cfcc75d3b3 100644
--- a/config-model/src/test/derived/map_attribute/attributes.cfg
+++ b/config-model/src/test/derived/map_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
index 216967a93dc..7e6f7c282db 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
@@ -133,7 +133,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/multiplesummaries/attributes.cfg b/config-model/src/test/derived/multiplesummaries/attributes.cfg
index bb323041c0a..448c1f4957a 100644
--- a/config-model/src/test/derived/multiplesummaries/attributes.cfg
+++ b/config-model/src/test/derived/multiplesummaries/attributes.cfg
@@ -133,7 +133,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg
index fbef851b4af..f7cfbc5216c 100644
--- a/config-model/src/test/derived/types/attributes.cfg
+++ b/config-model/src/test/derived/types/attributes.cfg
@@ -313,7 +313,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
index 54fb6b0fb52..eb9daf02aad 100644
--- a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
@@ -216,7 +216,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
void requireThatMutableConfigIsProperlyPropagated() throws ParseException {
AttributeFields attributes = new AttributeFields(getSearchWithMutables());
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
assertFalse(cfg.attribute().get(0).ismutable());
@@ -232,7 +232,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
void requireMaxUnCommittedMemoryIsProperlyPropagated() throws ParseException {
AttributeFields attributes = new AttributeFields(getSearchWithMutables());
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
assertEquals(13333, cfg.attribute().get(0).maxuncommittedmemory());
@@ -244,13 +244,13 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
assertEquals(13333, cfg.attribute().get(2).maxuncommittedmemory());
}
- private void verifyEnableBitVectorDefault(Schema schema, boolean enableBitVectors) {
+ private void verifyEnableBitVectorDefault(Schema schema) {
AttributeFields attributes = new AttributeFields(schema);
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, enableBitVectors);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
- assertEquals(enableBitVectors, cfg.attribute().get(0).enablebitvectors());
+ assertTrue(cfg.attribute().get(0).enablebitvectors());
assertEquals("b", cfg.attribute().get(1).name());
assertFalse(cfg.attribute().get(1).enablebitvectors());
@@ -270,8 +270,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
" }\n" +
" }\n" +
"}\n");
- verifyEnableBitVectorDefault(schema, false);
- verifyEnableBitVectorDefault(schema, true);
+ verifyEnableBitVectorDefault(schema);
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
index ef1716c80e6..6277b0041df 100644
--- a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
@@ -24,7 +24,7 @@ public class DictionaryTestCase {
private static AttributesConfig getConfig(Schema schema) {
AttributeFields attributes = new AttributeFields(schema);
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000);
return builder.build();
}
private Schema createSearch(String def) throws ParseException {
@@ -210,7 +210,7 @@ public class DictionaryTestCase {
" }",
"}");
try {
- ApplicationBuilder sb = ApplicationBuilder.createFromString(def);
+ ApplicationBuilder.createFromString(def);
fail("Controlling dictionary for non-numeric fields are not yet supported.");
} catch (IllegalArgumentException e) {
assertEquals("For schema 'test', field 'n1': You can only specify 'dictionary:' for numeric or string fields", e.getMessage());
@@ -229,7 +229,7 @@ public class DictionaryTestCase {
" }",
"}");
try {
- ApplicationBuilder sb = ApplicationBuilder.createFromString(def);
+ ApplicationBuilder.createFromString(def);
fail("Controlling dictionary for non-fast-search fields are not allowed.");
} catch (IllegalArgumentException e) {
assertEquals("For schema 'test', field 'n1': You must specify 'attribute:fast-search' to allow dictionary control", e.getMessage());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
index 0cb97681f13..376cf49c396 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
@@ -406,7 +406,7 @@ public class ClusterControllerTestCase extends DomBuilderTest {
assertEquals(32, qrStartConfig.jvm().minHeapsize());
assertEquals(128, qrStartConfig.jvm().heapsize());
assertEquals(0, qrStartConfig.jvm().heapSizeAsPercentageOfPhysicalMemory());
- assertEquals(2, qrStartConfig.jvm().availableProcessors());
+ assertEquals(1, qrStartConfig.jvm().availableProcessors());
assertFalse(qrStartConfig.jvm().verbosegc());
assertEquals("-XX:+UseG1GC -XX:MaxTenuringThreshold=15", qrStartConfig.jvm().gcopts());
assertEquals(512, qrStartConfig.jvm().stacksize());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
index dbc7d475c27..cc6b84de698 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
@@ -187,7 +187,7 @@ public class ContainerClusterTest {
root.freezeModelTopology();
ThreadpoolConfig threadpoolConfig = root.getConfig(ThreadpoolConfig.class, "container0/component/default-threadpool");
- assertEquals(2, threadpoolConfig.maxthreads());
+ assertEquals(1, threadpoolConfig.maxthreads());
assertEquals(50, threadpoolConfig.queueSize());
}
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index b32849bb55f..543f76ca136 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -141,6 +141,7 @@
</document-api>
<search>
+ <binding>http://*/mysearch/</binding>
<searcher id='outer-searcher' />
<chain id='common'>
<searcher id='outer-searcher' />
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 1153017301f..fcce7741750 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
@@ -187,8 +187,6 @@ public class ModelContextImpl implements ModelContext {
private final double resourceLimitDisk;
private final double resourceLimitMemory;
private final double minNodeRatioPerGroup;
- private final int metricsproxyNumThreads;
- private final int availableProcessors;
private final boolean containerDumpHeapOnShutdownTimeout;
private final boolean loadCodeAsHugePages;
private final double containerShutdownTimeout;
@@ -207,7 +205,6 @@ public class ModelContextImpl implements ModelContext {
private final boolean persistenceThrottlingOfMergeFeedOps;
private final boolean useQrserverServiceName;
private final boolean avoidRenamingSummaryFeatures;
- private final boolean enableBitVectors;
private final Architecture adminClusterArchitecture;
private final boolean enableProxyProtocolMixedMode;
private final boolean sharedStringRepoNoReclaim;
@@ -250,8 +247,6 @@ public class ModelContextImpl implements ModelContext {
this.resourceLimitDisk = flagValue(source, appId, version, PermanentFlags.RESOURCE_LIMIT_DISK);
this.resourceLimitMemory = flagValue(source, appId, version, PermanentFlags.RESOURCE_LIMIT_MEMORY);
this.minNodeRatioPerGroup = flagValue(source, appId, version, Flags.MIN_NODE_RATIO_PER_GROUP);
- this.metricsproxyNumThreads = flagValue(source, appId, version, Flags.METRICSPROXY_NUM_THREADS);
- this.availableProcessors = flagValue(source, appId, version, Flags.AVAILABLE_PROCESSORS);
this.containerDumpHeapOnShutdownTimeout = flagValue(source, appId, version, Flags.CONTAINER_DUMP_HEAP_ON_SHUTDOWN_TIMEOUT);
this.loadCodeAsHugePages = flagValue(source, appId, version, Flags.LOAD_CODE_AS_HUGEPAGES);
this.containerShutdownTimeout = flagValue(source, appId, version, Flags.CONTAINER_SHUTDOWN_TIMEOUT);
@@ -270,7 +265,6 @@ public class ModelContextImpl implements ModelContext {
this.persistenceThrottlingOfMergeFeedOps = flagValue(source, appId, version, Flags.PERSISTENCE_THROTTLING_OF_MERGE_FEED_OPS);
this.useQrserverServiceName = flagValue(source, appId, version, Flags.USE_QRSERVER_SERVICE_NAME);
this.avoidRenamingSummaryFeatures = flagValue(source, appId, version, Flags.AVOID_RENAMING_SUMMARY_FEATURES);
- this.enableBitVectors = flagValue(source, appId, version, Flags.ENABLE_BIT_VECTORS);
this.adminClusterArchitecture = Architecture.valueOf(flagValue(source, appId, version, PermanentFlags.ADMIN_CLUSTER_NODE_ARCHITECTURE));
this.enableProxyProtocolMixedMode = flagValue(source, appId, version, Flags.ENABLE_PROXY_PROTOCOL_MIXED_MODE);
this.sharedStringRepoNoReclaim = flagValue(source, appId, version, Flags.SHARED_STRING_REPO_NO_RECLAIM);
@@ -315,8 +309,6 @@ public class ModelContextImpl implements ModelContext {
@Override public double resourceLimitDisk() { return resourceLimitDisk; }
@Override public double resourceLimitMemory() { return resourceLimitMemory; }
@Override public double minNodeRatioPerGroup() { return minNodeRatioPerGroup; }
- @Override public int defaultPoolNumThreads() { return metricsproxyNumThreads; }
- @Override public int availableProcessors() { return availableProcessors; }
@Override public double containerShutdownTimeout() { return containerShutdownTimeout; }
@Override public boolean containerDumpHeapOnShutdownTimeout() { return containerDumpHeapOnShutdownTimeout; }
@Override public boolean loadCodeAsHugePages() { return loadCodeAsHugePages; }
@@ -335,7 +327,6 @@ public class ModelContextImpl implements ModelContext {
@Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; }
@Override public boolean useQrserverServiceName() { return useQrserverServiceName; }
@Override public boolean avoidRenamingSummaryFeatures() { return avoidRenamingSummaryFeatures; }
- @Override public boolean enableBitVectors() { return this.enableBitVectors; }
@Override public Architecture adminClusterArchitecture() { return adminClusterArchitecture; }
@Override public boolean enableProxyProtocolMixedMode() { return enableProxyProtocolMixedMode; }
@Override public boolean sharedStringRepoNoReclaim() { return sharedStringRepoNoReclaim; }
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
index 893befb57a2..3491ef4ab03 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
@@ -35,6 +35,7 @@ import com.yahoo.vespa.hosted.controller.api.role.RoleDefinition;
import com.yahoo.vespa.hosted.controller.api.role.SecurityContext;
import com.yahoo.vespa.hosted.controller.api.role.SimplePrincipal;
import com.yahoo.vespa.hosted.controller.api.role.TenantRole;
+import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
import com.yahoo.vespa.hosted.controller.restapi.ErrorResponses;
import com.yahoo.vespa.hosted.controller.restapi.application.EmptyResponse;
import com.yahoo.vespa.hosted.controller.tenant.Tenant;
@@ -231,24 +232,31 @@ public class UserApiHandler extends ThreadedHttpRequestHandler {
}
private HttpResponse listTenantRoleMembers(String tenantName) {
- Slime slime = new Slime();
- Cursor root = slime.setObject();
- root.setString("tenant", tenantName);
- fillRoles(root,
- Roles.tenantRoles(TenantName.from(tenantName)),
- Collections.emptyList());
- return new SlimeJsonResponse(slime);
+ if (controller.tenants().get(tenantName).isPresent()) {
+ Slime slime = new Slime();
+ Cursor root = slime.setObject();
+ root.setString("tenant", tenantName);
+ fillRoles(root,
+ Roles.tenantRoles(TenantName.from(tenantName)),
+ Collections.emptyList());
+ return new SlimeJsonResponse(slime);
+ }
+ return ErrorResponse.notFoundError("Tenant '" + tenantName + "' does not exist");
}
private HttpResponse listApplicationRoleMembers(String tenantName, String applicationName) {
- Slime slime = new Slime();
- Cursor root = slime.setObject();
- root.setString("tenant", tenantName);
- root.setString("application", applicationName);
- fillRoles(root,
- Roles.applicationRoles(TenantName.from(tenantName), ApplicationName.from(applicationName)),
- Roles.tenantRoles(TenantName.from(tenantName)));
- return new SlimeJsonResponse(slime);
+ var id = TenantAndApplicationId.from(tenantName, applicationName);
+ if (controller.applications().getApplication(id).isPresent()) {
+ Slime slime = new Slime();
+ Cursor root = slime.setObject();
+ root.setString("tenant", tenantName);
+ root.setString("application", applicationName);
+ fillRoles(root,
+ Roles.applicationRoles(TenantName.from(tenantName), ApplicationName.from(applicationName)),
+ Roles.tenantRoles(TenantName.from(tenantName)));
+ return new SlimeJsonResponse(slime);
+ }
+ return ErrorResponse.notFoundError("Application '" + id + "' does not exist");
}
private void fillRoles(Cursor root, List<? extends Role> roles, List<? extends Role> superRoles) {
diff --git a/dist/vespa.spec b/dist/vespa.spec
index b3edb0b7197..8953efb82f8 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -492,7 +492,7 @@ nearest neighbor search used for low-level benchmarking.
%endif
%else
%setup -q
-%if 0%{?el8} && %{_vespa_llvm_version} < 13
+%if 0%{?el8} && %{?_vespa_llvm_version}%{!?_vespa_llvm_version:13} < 13
if grep -qs 'result_pair<R>(' /usr/include/llvm/ADT/STLExtras.h
then
patch /usr/include/llvm/ADT/STLExtras.h < dist/STLExtras.h.diff
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 088268d781b..0e6e33bab69 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -294,20 +294,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundIntFlag METRICSPROXY_NUM_THREADS = defineIntFlag(
- "metricsproxy-num-threads", 1,
- List.of("balder"), "2021-09-01", "2023-01-01",
- "Number of threads for metrics proxy",
- "Takes effect at redeployment",
- ZONE_ID, APPLICATION_ID);
-
- public static final UnboundIntFlag AVAILABLE_PROCESSORS = defineIntFlag(
- "available-processors", 1,
- List.of("balder"), "2022-01-18", "2023-01-01",
- "Number of processors the jvm sees in non-application clusters",
- "Takes effect at redeployment",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag ENABLED_HORIZON_DASHBOARD = defineFeatureFlag(
"enabled-horizon-dashboard", false,
List.of("olaa"), "2021-09-13", "2022-10-01",
@@ -409,13 +395,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundBooleanFlag ENABLE_BIT_VECTORS = defineFeatureFlag(
- "enable-bit-vectors", true,
- List.of("baldersheim"), "2022-05-03", "2022-12-31",
- "Enables bit vector by default for fast-search attributes",
- "Takes effect at redeployment",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag NOTIFICATION_DISPATCH_FLAG = defineFeatureFlag(
"dispatch-notifications", false,
List.of("enygaard"), "2022-05-02", "2022-09-30",
@@ -502,7 +481,7 @@ public class Flags {
APPLICATION_ID);
public static final UnboundBooleanFlag COMPUTE_COVERAGE_FROM_TARGET_ACTIVE_DOCS = defineFeatureFlag(
- "compute-coverage-from-target-active-docs", false,
+ "compute-coverage-from-target-active-docs", true,
List.of("baldersheim", "vekterli"), "2022-09-13", "2022-11-01",
"Whether degraded coverage computation will take target active docs into " +
"account, not just currently active docs",
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
index b316a620a9b..037fca95588 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/http/ValuesFetcher.java
@@ -10,6 +10,7 @@ import ai.vespa.metricsproxy.service.VespaServices;
import java.time.Instant;
import java.util.List;
+import java.util.Optional;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -65,12 +66,14 @@ public class ValuesFetcher {
public static ConsumerId getConsumerOrDefault(String requestedConsumer, MetricsConsumers consumers) {
if (requestedConsumer == null) return defaultMetricsConsumerId;
- ConsumerId consumerId = toConsumerId(requestedConsumer);
- if (! consumers.getAllConsumers().contains(consumerId)) {
- log.info("No consumer with id '" + requestedConsumer + "' - using the default consumer instead.");
- return defaultMetricsConsumerId;
- }
- return consumerId;
+ Optional<ConsumerId> consumerId = consumers.getAllConsumers().stream()
+ .filter(consumer -> consumer.id.equalsIgnoreCase(requestedConsumer))
+ .findFirst();
+
+ if (consumerId.isPresent()) return consumerId.get();
+
+ log.info("No consumer with id '" + requestedConsumer + "' - using the default consumer instead.");
+ return defaultMetricsConsumerId;
}
}
diff --git a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/ConsumerId.java b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/ConsumerId.java
index 9ec22154627..12da0f7dcea 100644
--- a/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/ConsumerId.java
+++ b/metrics-proxy/src/main/java/ai/vespa/metricsproxy/metric/model/ConsumerId.java
@@ -9,7 +9,9 @@ import java.util.Objects;
public class ConsumerId {
public final String id;
- private ConsumerId(String id) { this.id = id; }
+ private ConsumerId(String id) {
+ this.id = Objects.requireNonNull(id);
+ }
public static ConsumerId toConsumerId(String id) { return new ConsumerId(id); }
diff --git a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/metrics/MetricsHandlerTestBase.java b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/metrics/MetricsHandlerTestBase.java
index 1c6a09c3ee0..b6521a89ce7 100644
--- a/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/metrics/MetricsHandlerTestBase.java
+++ b/metrics-proxy/src/test/java/ai/vespa/metricsproxy/http/metrics/MetricsHandlerTestBase.java
@@ -13,6 +13,7 @@ import org.junit.Ignore;
import org.junit.Test;
import java.io.IOException;
+import java.util.Locale;
import static ai.vespa.metricsproxy.metric.dimensions.PublicDimensions.INTERNAL_SERVICE_ID;
import static ai.vespa.metricsproxy.metric.dimensions.PublicDimensions.REASON;
@@ -151,6 +152,16 @@ public abstract class MetricsHandlerTestBase<MODEL> extends HttpHandlerTestBase
assertEquals("custom-val", dummy1Metrics.dimensions.get(REASON));
}
+ @Test
+ public void consumer_name_is_case_insensitive() {
+ GenericJsonModel jsonModel = getResponseAsGenericJsonModel(CUSTOM_CONSUMER.toUpperCase(Locale.ROOT));
+ GenericService dummyService = jsonModel.services.get(0);
+ GenericMetrics dummy0Metrics = getMetricsForService("dummy0", dummyService);
+
+ // If name was case-sensitive, this would be the default value.
+ assertEquals("custom-val", dummy0Metrics.dimensions.get(REASON));
+ }
+
private static GenericMetrics getMetricsForService(String serviceInstance, GenericService service) {
for (var metrics : service.metrics) {
if (getServiceIdDimension(metrics).equals(serviceInstance))
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
index dcf39cd5ec4..5ffadd806d5 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
@@ -36,7 +36,7 @@ import com.yahoo.vespa.hosted.provision.provisioning.NodeSpec;
import com.yahoo.vespa.hosted.provision.provisioning.ProvisionedHost;
import com.yahoo.yolean.Exceptions;
-import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
@@ -109,7 +109,7 @@ public class DynamicProvisioningMaintainer extends NodeRepositoryMaintainer {
nodeRepository().nodes().failOrMarkRecursively(
host.hostname(), Agent.DynamicProvisioningMaintainer, "Failed by HostProvisioner due to provisioning failure");
} catch (RuntimeException e) {
- if (e.getCause() instanceof NameNotFoundException)
+ if (e.getCause() instanceof NamingException)
log.log(Level.INFO, "Could not provision " + host.hostname() + ", will retry in " + interval() + ": " + Exceptions.toMessageString(e));
else
log.log(Level.WARNING, "Failed to provision " + host.hostname() + ", will retry in " + interval(), e);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
index 41a23ac21ff..d641f59eafb 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
@@ -132,9 +132,7 @@ public class Nodes {
illegal("Cannot add " + node + ": Child nodes need to be allocated");
Optional<Node> existing = node(node.hostname());
if (existing.isPresent())
- illegal("Cannot add " + node + ": A node with this name already exists (" +
- existing.get() + ", " + existing.get().history() + "). Node to be added: " +
- node + ", " + node.history());
+ illegal("Cannot add " + node + ": A node with this name already exists");
}
return db.addNodesInState(nodes.asList(), Node.State.reserved, Agent.system);
}
@@ -291,16 +289,13 @@ public class Nodes {
List<Node> nodesToDirty =
(nodeToDirty.type().isHost() ?
Stream.concat(list().childrenOf(hostname).asList().stream(), Stream.of(nodeToDirty)) :
- Stream.of(nodeToDirty))
- .filter(node -> node.state() != Node.State.dirty)
- .collect(Collectors.toList());
+ Stream.of(nodeToDirty)).filter(node -> node.state() != Node.State.dirty).toList();
List<String> hostnamesNotAllowedToDirty = nodesToDirty.stream()
.filter(node -> node.state() != Node.State.provisioned)
.filter(node -> node.state() != Node.State.failed)
.filter(node -> node.state() != Node.State.parked)
.filter(node -> node.state() != Node.State.breakfixed)
- .map(Node::hostname)
- .collect(Collectors.toList());
+ .map(Node::hostname).toList();
if ( ! hostnamesNotAllowedToDirty.isEmpty())
illegal("Could not deallocate " + nodeToDirty + ": " +
hostnamesNotAllowedToDirty + " are not in states [provisioned, failed, parked, breakfixed]");
diff --git a/parent/pom.xml b/parent/pom.xml
index 5c7c40d90d8..636b1da418f 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1044,7 +1044,7 @@
<findbugs.version>3.0.2</findbugs.version> <!-- Should be kept in sync with guava -->
<gson.version>2.9.1</gson.version>
<hdrhistogram.version>2.1.12</hdrhistogram.version>
- <jetty.version>9.4.48.v20220622</jetty.version>
+ <jetty.version>9.4.49.v20220914</jetty.version>
<jetty-alpn.version>1.1.3.v20160715</jetty-alpn.version>
<jna.version>5.11.0</jna.version>
<junit.version>5.8.1</junit.version>
diff --git a/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp b/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
index 1e00c958723..a33d9682973 100644
--- a/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
+++ b/searchcore/src/vespa/searchcore/bmcluster/bm_node.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "bm_node.h"
#include "bm_cluster.h"
#include "bm_cluster_params.h"
#include "bm_message_bus.h"
-#include "bm_node.h"
#include "bm_node_stats.h"
#include "bm_storage_chain_builder.h"
#include "bm_storage_link_context.h"
diff --git a/searchcore/src/vespa/searchcore/bmcluster/bm_node.h b/searchcore/src/vespa/searchcore/bmcluster/bm_node.h
index 86c5b2ee095..39ddb91c55b 100644
--- a/searchcore/src/vespa/searchcore/bmcluster/bm_node.h
+++ b/searchcore/src/vespa/searchcore/bmcluster/bm_node.h
@@ -2,8 +2,9 @@
#pragma once
-#include <memory>
+#include <vespa/document/config/documenttypes_config_fwd.h>
#include <vespa/searchcore/proton/common/doctypename.h>
+#include <memory>
#include <vector>
namespace document {
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp
index 021fc4717af..69ef42ef9a8 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_writer.cpp
@@ -4,13 +4,13 @@
#include "attributemanager.h"
#include "document_field_extractor.h"
#include "ifieldupdatecallback.h"
+#include "imported_attributes_repo.h"
#include <vespa/document/base/exceptions.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/document/update/assignvalueupdate.h>
#include <vespa/searchcommon/attribute/attribute_utils.h>
#include <vespa/searchcommon/attribute/config.h>
-#include <vespa/searchcore/proton/attribute/imported_attributes_repo.h>
#include <vespa/searchcore/proton/common/attribute_updater.h>
#include <vespa/searchlib/attribute/imported_attribute_vector.h>
#include <vespa/searchlib/tensor/prepare_result.h>
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
index 6fb0279733f..be8bcd8e66a 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attributemanager.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "attributemanager.h"
#include "attribute_directory.h"
#include "attribute_factory.h"
#include "attribute_type_matcher.h"
#include "attributedisklayout.h"
-#include "attributemanager.h"
#include "flushableattribute.h"
#include "imported_attributes_context.h"
#include "imported_attributes_repo.h"
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp b/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp
index 25d6e3c36a7..93663637e75 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp
+++ b/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributedisklayout.h"
#include "flushableattribute.h"
+#include "attributedisklayout.h"
#include "attribute_directory.h"
#include <vespa/searchlib/attribute/attributefilesavetarget.h>
#include <vespa/searchlib/attribute/attributesaver.h>
diff --git a/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp b/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp
index 1c8eae81949..2f915846331 100644
--- a/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "alloc_config.h"
-#include <vespa/searchcore/proton/common/subdbtype.h>
+#include "subdbtype.h"
#include <algorithm>
using search::GrowStrategy;
diff --git a/searchcore/src/vespa/searchcore/proton/common/cachedselect.cpp b/searchcore/src/vespa/searchcore/proton/common/cachedselect.cpp
index b0244c34a0f..c51771df265 100644
--- a/searchcore/src/vespa/searchcore/proton/common/cachedselect.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/cachedselect.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributefieldvaluenode.h"
#include "cachedselect.h"
+#include "attributefieldvaluenode.h"
#include "select_utils.h"
#include "selectcontext.h"
#include "selectpruner.h"
diff --git a/searchcore/src/vespa/searchcore/proton/common/cachedselect.h b/searchcore/src/vespa/searchcore/proton/common/cachedselect.h
index 7ed21eea68c..cdda29ec301 100644
--- a/searchcore/src/vespa/searchcore/proton/common/cachedselect.h
+++ b/searchcore/src/vespa/searchcore/proton/common/cachedselect.h
@@ -3,6 +3,7 @@
#include <vespa/document/select/resultset.h>
#include <vespa/vespalib/stllike/string.h>
+#include <memory>
#include <vector>
namespace document {
diff --git a/searchcore/src/vespa/searchcore/proton/common/selectpruner.cpp b/searchcore/src/vespa/searchcore/proton/common/selectpruner.cpp
index c3a8e951278..209336aad1a 100644
--- a/searchcore/src/vespa/searchcore/proton/common/selectpruner.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/selectpruner.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "select_utils.h"
#include "selectpruner.h"
+#include "select_utils.h"
#include <vespa/document/base/exceptions.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/repo/documenttyperepo.h>
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.cpp b/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.cpp
index fd3deb2abd7..c0a1bcbd4c3 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.cpp
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/flushengine.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "flushengine.h"
#include "cachedflushtarget.h"
#include "flush_all_strategy.h"
-#include "flushengine.h"
#include "flushtask.h"
#include "tls_stats_factory.h"
#include "tls_stats_map.h"
diff --git a/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp b/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
index 92d7e385293..7573137d98c 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/blueprintbuilder.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "querynodes.h"
#include "blueprintbuilder.h"
+#include "querynodes.h"
#include "termdatafromnode.h"
#include "same_element_builder.h"
#include <vespa/searchcorespi/index/indexsearchable.h>
diff --git a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
index b612f4cd061..334948bd191 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/matcher.cpp
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "matcher.h"
#include "isearchcontext.h"
#include "match_master.h"
#include "match_context.h"
#include "match_tools.h"
#include "match_params.h"
-#include "matcher.h"
#include "sessionmanager.h"
#include <vespa/searchcore/grouping/groupingcontext.h>
#include <vespa/searchcore/proton/bucketdb/bucket_db_owner.h>
diff --git a/searchcore/src/vespa/searchcore/proton/matching/matcher.h b/searchcore/src/vespa/searchcore/proton/matching/matcher.h
index 4071f95b0c8..bad56fe1c36 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/matcher.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/matcher.h
@@ -3,12 +3,12 @@
#pragma once
#include "i_ranking_assets_repo.h"
+#include "docsum_matcher.h"
#include "indexenvironment.h"
#include "matching_stats.h"
+#include "querylimiter.h"
#include "search_session.h"
#include "viewresolver.h"
-#include "docsum_matcher.h"
-#include <vespa/searchcore/proton/matching/querylimiter.h>
#include <vespa/searchcommon/attribute/i_attribute_functor.h>
#include <vespa/searchlib/fef/blueprintfactory.h>
#include <vespa/searchlib/common/featureset.h>
diff --git a/searchcore/src/vespa/searchcore/proton/matching/query.cpp b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
index 599a7989bb9..3379fd74a9b 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/query.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "query.h"
#include "blueprintbuilder.h"
#include "matchdatareservevisitor.h"
-#include "query.h"
#include "resolveviewvisitor.h"
#include "sameelementmodifier.h"
#include "termdataextractor.h"
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.cpp b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.cpp
index bb8fde53357..1ccb3956fc2 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.cpp
+++ b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "metrics_engine.h"
#include "attribute_metrics.h"
#include "documentdb_tagged_metrics.h"
-#include "metrics_engine.h"
#include "content_proton_metrics.h"
#include <vespa/metrics/jsonwriter.h>
#include <vespa/metrics/metricmanager.h>
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
index f90f8205817..06d76d1d8d7 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
@@ -4,8 +4,10 @@
#include "metricswireservice.h"
#include <vespa/metrics/state_api_adapter.h>
+#include <memory>
namespace metrics {
+ class Metric;
class Metricmanager;
class UpdateHook;
}
diff --git a/searchcore/src/vespa/searchcore/proton/persistenceengine/persistence_handler_map.cpp b/searchcore/src/vespa/searchcore/proton/persistenceengine/persistence_handler_map.cpp
index 1bcb96702a4..0df3952f571 100644
--- a/searchcore/src/vespa/searchcore/proton/persistenceengine/persistence_handler_map.cpp
+++ b/searchcore/src/vespa/searchcore/proton/persistenceengine/persistence_handler_map.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "ipersistencehandler.h"
#include "persistence_handler_map.h"
+#include "ipersistencehandler.h"
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h b/searchcore/src/vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h
index 96605009d89..d6f166d74d8 100644
--- a/searchcore/src/vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h
+++ b/searchcore/src/vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h
@@ -3,10 +3,10 @@
#pragma once
#include "i_reprocessing_handler.h"
+#include "i_reprocessing_initializer.h"
#include <vespa/searchcommon/common/schema.h>
#include <vespa/searchcore/proton/attribute/i_attribute_manager.h>
#include <vespa/searchcore/proton/common/i_document_type_inspector.h>
-#include <vespa/searchcore/proton/reprocessing/i_reprocessing_initializer.h>
#include <vespa/searchlib/common/serialnum.h>
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
index 64b04967f3f..27a2db27369 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "documentdb.h"
#include "bootstrapconfig.h"
#include "combiningfeedview.h"
#include "document_meta_store_read_guards.h"
#include "document_subdb_collection_explorer.h"
-#include "documentdb.h"
#include "documentdbconfigscout.h"
#include "feedhandler.h"
#include "i_shared_threading_service.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp
index d8ae75b40b1..3fe7fd6cfde 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb_metrics_updater.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "documentdb_metrics_updater.h"
#include "ddbstate.h"
#include "document_meta_store_read_guards.h"
-#include "documentdb_metrics_updater.h"
#include "documentsubdbcollection.h"
#include "executorthreadingservice.h"
#include "feedhandler.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp
index 945570c5b3b..e7685624f55 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "documentsubdbcollection.h"
#include "combiningfeedview.h"
#include "document_subdb_collection_initializer.h"
-#include "documentsubdbcollection.h"
#include "i_document_subdb_owner.h"
#include "maintenancecontroller.h"
#include "searchabledocsubdb.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_explorer.cpp b/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_explorer.cpp
index 5bbbf1ca57d..9dfebaa825d 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_explorer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/executor_threading_service_explorer.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "executor_explorer_utils.h"
#include "executor_threading_service_explorer.h"
+#include "executor_explorer_utils.h"
#include "executorthreadingservice.h"
#include <vespa/vespalib/data/slime/cursor.h>
diff --git a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
index 73d08785d5f..3ec1e23693e 100644
--- a/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/fast_access_doc_subdb.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "fast_access_doc_subdb.h"
#include "attribute_writer_factory.h"
#include "emptysearchview.h"
-#include "fast_access_doc_subdb.h"
#include "fast_access_document_retriever.h"
#include "document_subdb_initializer.h"
#include "reconfig_params.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/feedstates.cpp b/searchcore/src/vespa/searchcore/proton/server/feedstates.cpp
index c542437d440..31c1ec165a1 100644
--- a/searchcore/src/vespa/searchcore/proton/server/feedstates.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/feedstates.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "feedconfigstore.h"
#include "feedstates.h"
+#include "feedconfigstore.h"
#include "ifeedview.h"
#include "ireplayconfig.h"
#include "replaypacketdispatcher.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/i_lid_space_compaction_handler.h b/searchcore/src/vespa/searchcore/proton/server/i_lid_space_compaction_handler.h
index d7920af8407..8ab2738cc5e 100644
--- a/searchcore/src/vespa/searchcore/proton/server/i_lid_space_compaction_handler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/i_lid_space_compaction_handler.h
@@ -3,6 +3,8 @@
#pragma once
#include <vespa/searchlib/common/lid_usage_stats.h>
+#include <vespa/vespalib/stllike/string.h>
+#include <memory>
#include <vector>
namespace vespalib { class IDestructorCallback; }
@@ -76,4 +78,3 @@ struct ILidSpaceCompactionHandler
};
} // namespace proton
-
diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp
index 13a70526789..269737109f5 100644
--- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_handler.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "lid_space_compaction_handler.h"
#include "document_scan_iterator.h"
#include "ifeedview.h"
-#include "lid_space_compaction_handler.h"
#include "maintenancedocumentsubdb.h"
#include <vespa/searchcore/proton/feedoperation/moveoperation.h>
#include <vespa/searchcore/proton/feedoperation/compact_lid_space_operation.h>
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
index 9c2f97dd655..9521356ceee 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "maintenance_jobs_injector.h"
#include "bucketmovejob.h"
#include "heart_beat_job.h"
#include "job_tracked_maintenance_job.h"
#include "lid_space_compaction_job.h"
#include "lid_space_compaction_handler.h"
-#include "maintenance_jobs_injector.h"
#include "prune_session_cache_job.h"
#include "pruneremoveddocumentsjob.h"
#include "sample_attribute_usage_job.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/move_operation_limiter.cpp b/searchcore/src/vespa/searchcore/proton/server/move_operation_limiter.cpp
index 3977848578e..5bee99a30c0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/move_operation_limiter.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/move_operation_limiter.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "i_blockable_maintenance_job.h"
#include "move_operation_limiter.h"
+#include "i_blockable_maintenance_job.h"
#include <cassert>
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
index f48214e18f8..3635aba9e10 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
@@ -1,5 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "proton.h"
#include "disk_mem_usage_sampler.h"
#include "document_db_explorer.h"
#include "fileconfigmanager.h"
@@ -8,7 +9,6 @@
#include "memoryflush.h"
#include "persistencehandlerproxy.h"
#include "prepare_restart_handler.h"
-#include "proton.h"
#include "proton_config_snapshot.h"
#include "proton_disk_layout.h"
#include "proton_thread_pools_explorer.h"
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton_thread_pools_explorer.cpp b/searchcore/src/vespa/searchcore/proton/server/proton_thread_pools_explorer.cpp
index 06a51b7e661..7e94825d3f2 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton_thread_pools_explorer.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton_thread_pools_explorer.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "executor_explorer_utils.h"
#include "proton_thread_pools_explorer.h"
+#include "executor_explorer_utils.h"
#include <vespa/vespalib/data/slime/cursor.h>
#include <vespa/vespalib/util/threadexecutor.h>
diff --git a/searchcore/src/vespa/searchcore/proton/server/tls_replay_progress.h b/searchcore/src/vespa/searchcore/proton/server/tls_replay_progress.h
index 5bd1b6382f4..921c47b2b60 100644
--- a/searchcore/src/vespa/searchcore/proton/server/tls_replay_progress.h
+++ b/searchcore/src/vespa/searchcore/proton/server/tls_replay_progress.h
@@ -5,6 +5,7 @@
#include <vespa/searchlib/common/serialnum.h>
#include <vespa/vespalib/stllike/string.h>
#include <atomic>
+#include <memory>
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.cpp b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.cpp
index 58c8c5f92c2..2fae98a3e0c 100644
--- a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "configstore.h"
#include "transactionlogmanager.h"
+#include "configstore.h"
#include <vespa/searchlib/transactionlog/translogclient.h>
#include <vespa/searchcore/proton/common/eventlogger.h>
#include <vespa/vespalib/util/exceptions.h>
diff --git a/searchcore/src/vespa/searchcorespi/index/idiskindex.h b/searchcore/src/vespa/searchcorespi/index/idiskindex.h
index 010e7e7727d..707d2029d66 100644
--- a/searchcore/src/vespa/searchcorespi/index/idiskindex.h
+++ b/searchcore/src/vespa/searchcorespi/index/idiskindex.h
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "indexsearchable.h"
#include <vespa/searchcommon/common/schema.h>
-#include <vespa/searchcorespi/index/indexsearchable.h>
#include <vespa/vespalib/stllike/string.h>
namespace searchcorespi::index {
diff --git a/searchcore/src/vespa/searchcorespi/index/imemoryindex.h b/searchcore/src/vespa/searchcorespi/index/imemoryindex.h
index 67d6e034080..1b370dff262 100644
--- a/searchcore/src/vespa/searchcorespi/index/imemoryindex.h
+++ b/searchcore/src/vespa/searchcorespi/index/imemoryindex.h
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "indexsearchable.h"
#include <vespa/searchcommon/common/schema.h>
-#include <vespa/searchcorespi/index/indexsearchable.h>
#include <vespa/searchlib/common/serialnum.h>
#include <vespa/vespalib/stllike/string.h>
#include <vespa/vespalib/util/memoryusage.h>
diff --git a/searchcore/src/vespa/searchcorespi/index/indexmaintainer.cpp b/searchcore/src/vespa/searchcorespi/index/indexmaintainer.cpp
index 1f022b1215b..d70728e0d2f 100644
--- a/searchcore/src/vespa/searchcorespi/index/indexmaintainer.cpp
+++ b/searchcore/src/vespa/searchcorespi/index/indexmaintainer.cpp
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "indexmaintainer.h"
#include "diskindexcleaner.h"
#include "eventlogger.h"
#include "fusionrunner.h"
#include "indexflushtarget.h"
#include "indexfusiontarget.h"
-#include "indexmaintainer.h"
#include "indexreadutilities.h"
#include "indexwriteutilities.h"
#include "index_disk_dir.h"
diff --git a/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp
index cd5cc58c75c..ce7d0470a56 100644
--- a/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "attribute_utils.h"
-#include <vespa/searchcommon/attribute/config.h>
+#include "config.h"
namespace search::attribute {
diff --git a/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp b/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp
index b77382f6126..bcf11f26795 100644
--- a/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp
@@ -1,6 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/searchcommon/attribute/collectiontype.h>
+#include "collectiontype.h"
#include <vespa/vespalib/util/exceptions.h>
namespace search::attribute {
diff --git a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp
index fd23b699f01..e0aa3f0d154 100644
--- a/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp
+++ b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp
@@ -1,12 +1,12 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "schemaconfigurer.h"
+#include "schema.h"
#include "subscriptionproxyng.h"
#include <vespa/config-attributes.h>
#include <vespa/config-imported-fields.h>
#include <vespa/config-indexschema.h>
#include <vespa/config-summary.h>
-#include <vespa/searchcommon/common/schema.h>
#include <vespa/searchcommon/attribute/collectiontype.h>
#include <vespa/searchcommon/attribute/basictype.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/address_space_usage.cpp b/searchlib/src/vespa/searchlib/attribute/address_space_usage.cpp
index 1680c26368f..8631feea26b 100644
--- a/searchlib/src/vespa/searchlib/attribute/address_space_usage.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/address_space_usage.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "address_space_components.h"
#include "address_space_usage.h"
+#include "address_space_components.h"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute.h b/searchlib/src/vespa/searchlib/attribute/attribute.h
index 847b52c1559..d9afd613713 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/attribute.h
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/attribute/attributevector.h>
-#include <vespa/searchlib/attribute/integerbase.h>
-#include <vespa/searchlib/attribute/floatbase.h>
-#include <vespa/searchlib/attribute/stringbase.h>
+#include "attributevector.h"
+#include "floatbase.h"
+#include "integerbase.h"
+#include "stringbase.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/attributefilewriter.cpp b/searchlib/src/vespa/searchlib/attribute/attributefilewriter.cpp
index 8a3885393b3..655bd85dc64 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributefilewriter.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributefilewriter.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "attributefilewriter.h"
#include "attribute_header.h"
#include "attributefilebufferwriter.h"
-#include "attributefilewriter.h"
#include <vespa/fastos/file.h>
#include <vespa/searchlib/common/fileheadercontext.h>
#include <vespa/searchlib/common/tunefileinfo.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
index 38416b009eb..c3218302982 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributemanager.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "attributemanager.h"
#include "attribute_read_guard.h"
#include "attributecontext.h"
#include "attributefactory.h"
-#include "attributemanager.h"
#include "attrvector.h"
#include "interlock.h"
#include <vespa/searchcommon/attribute/config.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/attributememoryfilewriter.cpp b/searchlib/src/vespa/searchlib/attribute/attributememoryfilewriter.cpp
index 1064a6edc1e..3ded49efc02 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributememoryfilewriter.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributememoryfilewriter.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributememoryfilebufferwriter.h"
#include "attributememoryfilewriter.h"
+#include "attributememoryfilebufferwriter.h"
#include <vespa/searchlib/util/file_settings.h>
#include <vespa/vespalib/data/databuffer.h>
#include <vespa/vespalib/util/size_literals.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/attributememorysavetarget.cpp b/searchlib/src/vespa/searchlib/attribute/attributememorysavetarget.cpp
index fa505a7e3a5..e22309fef60 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributememorysavetarget.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributememorysavetarget.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributefilesavetarget.h"
#include "attributememorysavetarget.h"
+#include "attributefilesavetarget.h"
#include "attributevector.h"
#include <vespa/vespalib/util/exceptions.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
index 56ef1860724..dd7af1e8c4b 100644
--- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp
@@ -1,11 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attributevector.h"
+#include "attributevector.hpp"
#include "address_space_components.h"
#include "attribute_read_guard.h"
#include "attributefilesavetarget.h"
#include "attributesaver.h"
-#include "attributevector.hpp"
#include "floatbase.h"
#include "interlock.h"
#include "ipostinglistattributebase.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/attrvector.cpp b/searchlib/src/vespa/searchlib/attribute/attrvector.cpp
index c1e49f2ce37..d5ef41243e7 100644
--- a/searchlib/src/vespa/searchlib/attribute/attrvector.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attrvector.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "attrvector.h"
#include "attrvector.hpp"
#include "iattributesavetarget.h"
#include "load_utils.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/enumattribute.cpp
index 08e294bd7e9..0039f260ecd 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "enumattribute.h"
#include "enumattribute.hpp"
#include "stringbase.h"
#include "integerbase.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
index 86f0803aa3e..6d6022d59dd 100644
--- a/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/enumattribute.hpp
@@ -2,10 +2,10 @@
#pragma once
+#include "enumattribute.h"
#include "address_space_components.h"
+#include "enumstore.hpp"
#include <vespa/vespalib/util/hdr_abort.h>
-#include <vespa/searchlib/attribute/enumattribute.h>
-#include <vespa/searchlib/attribute/enumstore.hpp>
#include <vespa/searchcommon/attribute/config.h>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/imported_search_context.h b/searchlib/src/vespa/searchlib/attribute/imported_search_context.h
index 7b32d64e11f..c77799ef7a5 100644
--- a/searchlib/src/vespa/searchlib/attribute/imported_search_context.h
+++ b/searchlib/src/vespa/searchlib/attribute/imported_search_context.h
@@ -3,9 +3,9 @@
#pragma once
#include "bitvector_search_cache.h"
+#include "posting_list_merger.h"
#include <vespa/searchcommon/attribute/search_context_params.h>
#include <vespa/searchcommon/attribute/i_search_context.h>
-#include <vespa/searchlib/attribute/posting_list_merger.h>
#include <vespa/searchlib/common/i_document_meta_store_context.h>
#include <vespa/vespalib/datastore/atomic_value_wrapper.h>
#include <vespa/vespalib/util/arrayref.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/load_utils.cpp b/searchlib/src/vespa/searchlib/attribute/load_utils.cpp
index 95e5b6ef6be..5f17689d605 100644
--- a/searchlib/src/vespa/searchlib/attribute/load_utils.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/load_utils.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "i_enum_store.h"
#include "load_utils.hpp"
+#include "i_enum_store.h"
#include "loadedenumvalue.h"
#include "multi_value_mapping.h"
#include <vespa/fastos/file.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/loadedvalue.h b/searchlib/src/vespa/searchlib/attribute/loadedvalue.h
index ab20c9fbe69..fb385d14824 100644
--- a/searchlib/src/vespa/searchlib/attribute/loadedvalue.h
+++ b/searchlib/src/vespa/searchlib/attribute/loadedvalue.h
@@ -2,8 +2,8 @@
#pragma once
+#include "i_enum_store.h"
#include <vespa/searchcommon/common/undefinedvalues.h>
-#include <vespa/searchlib/attribute/i_enum_store.h>
#include <vespa/vespalib/datastore/entryref.h>
namespace search
diff --git a/searchlib/src/vespa/searchlib/attribute/multi_value_mapping.cpp b/searchlib/src/vespa/searchlib/attribute/multi_value_mapping.cpp
index 8a937379d7d..3c1fc15088f 100644
--- a/searchlib/src/vespa/searchlib/attribute/multi_value_mapping.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multi_value_mapping.cpp
@@ -1,9 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "multi_value_mapping.hpp"
#include "attributevector.h"
#include "i_enum_store.h"
-#include "multi_value_mapping.h"
-#include "multi_value_mapping.hpp"
#include <vespa/searchcommon/attribute/multivalue.h>
#include <vespa/vespalib/datastore/atomic_entry_ref.h>
#include <vespa/vespalib/datastore/buffer_type.hpp>
diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multienumattribute.cpp
index 80ba87dde0e..817470deb69 100644
--- a/searchlib/src/vespa/searchlib/attribute/multienumattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multienumattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multienumattribute.h"
#include "multienumattribute.hpp"
#include "enummodifier.h"
#include <stdexcept>
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.cpp
index a8c809488e4..4fd5b9510c8 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multinumericattribute.h"
#include "multinumericattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp
index 66ace43f682..3626fcd4bd3 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multinumericenumattribute.h"
#include "multinumericenumattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
index 36c91a12498..a2a6b25fc11 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericenumattribute.hpp
@@ -2,10 +2,10 @@
#pragma once
+#include "multinumericenumattribute.h"
#include "load_utils.h"
#include "loadednumericvalue.h"
#include "enumerated_multi_value_read_view.h"
-#include "multinumericenumattribute.h"
#include "multi_numeric_enum_search_context.h"
#include <vespa/searchlib/query/query_term_simple.h>
#include <vespa/searchlib/util/fileutil.hpp>
diff --git a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp
index ed4e7e020ac..e60fddddac6 100644
--- a/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multinumericpostattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multinumericpostattribute.h"
#include "multinumericpostattribute.hpp"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
index 641088712b3..f690bc80c07 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multistringattribute.h"
#include "multistringattribute.hpp"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
index ec67cafe90b..5e2d279a756 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringattribute.hpp
@@ -2,8 +2,8 @@
#pragma once
-#include "stringattribute.h"
#include "multistringattribute.h"
+#include "stringattribute.h"
#include "enumattribute.hpp"
#include "enumerated_multi_value_read_view.h"
#include "multienumattribute.hpp"
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp
index a7a09128e37..7f2621d60f3 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multistringpostattribute.h"
#include "multistringpostattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
index 39754464ad3..fef3db582c8 100644
--- a/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multistringpostattribute.hpp
@@ -2,8 +2,8 @@
#pragma once
-#include "stringattribute.h"
#include "multistringpostattribute.h"
+#include "stringattribute.h"
#include "multistringattribute.hpp"
#include "multi_string_enum_search_context.h"
#include <vespa/searchlib/query/query_term_simple.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.cpp b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.cpp
index c64f6ca1b7a..eaccd249baa 100644
--- a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "multivalueattribute.h"
#include "multivalueattribute.hpp"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.hpp b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.hpp
index cbe46a8cb2e..2066b6fa845 100644
--- a/searchlib/src/vespa/searchlib/attribute/multivalueattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/multivalueattribute.hpp
@@ -2,10 +2,10 @@
#pragma once
+#include "multivalueattribute.h"
#include "address_space_components.h"
#include "raw_multi_value_read_view.h"
#include "copy_multi_value_read_view.h"
-#include <vespa/searchlib/attribute/multivalueattribute.h>
#include <vespa/searchcommon/attribute/config.h>
#include <vespa/vespalib/stllike/hash_map.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
index b1dbefa576a..29440b6ce43 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistattribute.h
@@ -3,12 +3,12 @@
#pragma once
#include "dociditerator.h"
+#include "enumattribute.h"
#include "ipostinglistattributebase.h"
+#include "numericbase.h"
#include "postingchange.h"
#include "postinglistsearchcontext.h"
-#include <vespa/searchlib/attribute/enumattribute.h>
-#include <vespa/searchlib/attribute/numericbase.h>
-#include <vespa/searchlib/attribute/stringbase.h>
+#include "stringbase.h"
#include <vespa/searchlib/queryeval/searchiterator.h>
#include <vespa/vespalib/btree/btreestore.h>
#include <vespa/vespalib/datastore/entry_comparator.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.cpp b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.cpp
index d8426ce1a45..8c6e332375c 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "postinglistsearchcontext.h"
#include "postinglistsearchcontext.hpp"
#include "attributeiterators.hpp"
#include "diversity.hpp"
diff --git a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.hpp b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.hpp
index 95bbaf27c26..2fa89f8c854 100644
--- a/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/postinglistsearchcontext.hpp
@@ -2,6 +2,7 @@
#pragma once
+#include "postinglistsearchcontext.h"
#include "dociditerator.h"
#include "attributeiterators.h"
#include "diversity.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.cpp
index 29f04ebab27..c1897c71366 100644
--- a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "predicate_attribute.h"
#include "attribute_header.h"
#include "iattributesavetarget.h"
#include "load_utils.h"
-#include "predicate_attribute.h"
#include <vespa/document/fieldvalue/predicatefieldvalue.h>
#include <vespa/document/predicate/predicate.h>
#include <vespa/searchlib/predicate/predicate_index.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/readerbase.cpp b/searchlib/src/vespa/searchlib/attribute/readerbase.cpp
index 8dd1a466fb5..e4bc2c02ad6 100644
--- a/searchlib/src/vespa/searchlib/attribute/readerbase.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/readerbase.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "readerbase.h"
#include "attributevector.h"
#include "load_utils.h"
-#include "readerbase.h"
#include <vespa/fastlib/io/bufferedfile.h>
#include <vespa/searchlib/util/filesizecalculator.h>
#include <vespa/vespalib/util/size_literals.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
index 0c61eafe1d7..0ebef4af8b0 100644
--- a/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/reference_attribute.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "reference_attribute.h"
#include "attributesaver.h"
#include "load_utils.h"
#include "readerbase.h"
-#include "reference_attribute.h"
#include "reference_attribute_saver.h"
#include "search_context.h"
#include <vespa/document/base/documentid.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.cpp
index a0a93946bb0..c826a07f96b 100644
--- a/searchlib/src/vespa/searchlib/attribute/singleenumattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singleenumattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "singleenumattribute.h"
#include "singleenumattribute.hpp"
#include "stringbase.h"
#include "integerbase.h"
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/singlenumericattributesaver.cpp
index f2fb0408f87..565fb055df4 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericattributesaver.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericattributesaver.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "iattributesavetarget.h"
#include "singlenumericattributesaver.h"
+#include "iattributesavetarget.h"
#include <vespa/searchlib/util/file_settings.h>
#include <vespa/vespalib/data/databuffer.h>
#include <vespa/vespalib/util/size_literals.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.cpp
index b1c84e240f8..7588273d20a 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "singlenumericenumattribute.h"
#include "singlenumericenumattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
index aefc3c1cba3..52ea0a53533 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericenumattribute.hpp
@@ -2,11 +2,11 @@
#pragma once
+#include "singlenumericenumattribute.h"
#include "load_utils.h"
#include "loadednumericvalue.h"
#include "primitivereader.h"
#include "singleenumattribute.hpp"
-#include "singlenumericenumattribute.h"
#include "single_numeric_enum_search_context.h"
#include <vespa/searchlib/query/query_term_simple.h>
#include <vespa/searchlib/util/fileutil.hpp>
diff --git a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.cpp
index 7fe3c76ec2e..5279a9c6fcd 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlenumericpostattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "singlenumericpostattribute.h"
#include "singlenumericpostattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.cpp
index 3ac0e3fd0f9..31fb4f684d9 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "singlestringattribute.h"
#include "singlestringattribute.hpp"
#include <vespa/log/log.h>
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
index ad522627a59..956d0b965b0 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringattribute.h
@@ -2,9 +2,9 @@
#pragma once
-#include <vespa/searchlib/attribute/stringbase.h>
-#include <vespa/searchlib/attribute/enumattribute.h>
-#include <vespa/searchlib/attribute/singleenumattribute.h>
+#include "enumattribute.h"
+#include "singleenumattribute.h"
+#include "stringbase.h"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.cpp
index 6a1ec89a684..ecaeedca17b 100644
--- a/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/singlestringpostattribute.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "singlestringpostattribute.h"
#include "singlestringpostattribute.hpp"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
index 48321747fc3..b262b74a468 100644
--- a/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/stringbase.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "stringbase.h"
#include "attributevector.hpp"
#include "load_utils.h"
#include "readerbase.h"
-#include "stringbase.h"
#include "enum_store_loaders.h"
#include <vespa/searchlib/common/sort.h>
#include <vespa/document/fieldvalue/fieldvalue.h>
diff --git a/searchlib/src/vespa/searchlib/common/locationiterators.h b/searchlib/src/vespa/searchlib/common/locationiterators.h
index 0584e93b63f..bd8fb865f54 100644
--- a/searchlib/src/vespa/searchlib/common/locationiterators.h
+++ b/searchlib/src/vespa/searchlib/common/locationiterators.h
@@ -2,8 +2,8 @@
#pragma once
+#include "location.h"
#include <vespa/searchlib/queryeval/searchiterator.h>
-#include <vespa/searchlib/common/location.h>
#include <vespa/searchlib/fef/termfieldmatchdata.h>
namespace search::common {
diff --git a/searchlib/src/vespa/searchlib/common/packets.cpp b/searchlib/src/vespa/searchlib/common/packets.cpp
index 0971d65d732..a2c01875460 100644
--- a/searchlib/src/vespa/searchlib/common/packets.cpp
+++ b/searchlib/src/vespa/searchlib/common/packets.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "mapnames.h"
#include "packets.h"
+#include "mapnames.h"
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/fnet/databuffer.h>
diff --git a/searchlib/src/vespa/searchlib/common/packets.h b/searchlib/src/vespa/searchlib/common/packets.h
index f13cbe24ce4..f4e38b7f0cc 100644
--- a/searchlib/src/vespa/searchlib/common/packets.h
+++ b/searchlib/src/vespa/searchlib/common/packets.h
@@ -2,6 +2,7 @@
#pragma once
+#include <vespa/vespalib/stllike/string.h>
#include <vespa/vespalib/util/compressionconfig.h>
#include <vespa/vespalib/util/memory.h>
#include <vector>
diff --git a/searchlib/src/vespa/searchlib/common/sortresults.cpp b/searchlib/src/vespa/searchlib/common/sortresults.cpp
index 59a47dd3312..1add3501f61 100644
--- a/searchlib/src/vespa/searchlib/common/sortresults.cpp
+++ b/searchlib/src/vespa/searchlib/common/sortresults.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "sortresults.h"
-#include <vespa/searchlib/common/sort.h>
+#include "sort.h"
#include <vespa/searchcommon/attribute/iattributecontext.h>
#include <vespa/vespalib/util/array.hpp>
diff --git a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
index 3c157bb22d4..f0964de23f5 100644
--- a/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
+++ b/searchlib/src/vespa/searchlib/diskindex/indexbuilder.cpp
@@ -1,13 +1,13 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "indexbuilder.h"
+#include "fieldwriter.h"
#include <vespa/searchlib/index/docidandfeatures.h>
#include <vespa/searchlib/index/field_length_info.h>
#include <vespa/searchlib/index/i_field_length_inspector.h>
#include <vespa/searchlib/index/schemautil.h>
#include <vespa/searchlib/common/documentsummary.h>
#include <vespa/vespalib/io/fileutil.h>
-#include <vespa/searchlib/diskindex/fieldwriter.h>
#include <vespa/vespalib/util/array.hpp>
#include <vespa/vespalib/util/error.h>
#include <filesystem>
diff --git a/searchlib/src/vespa/searchlib/docstore/liddatastore.h b/searchlib/src/vespa/searchlib/docstore/liddatastore.h
index c710158be77..e431f33af05 100644
--- a/searchlib/src/vespa/searchlib/docstore/liddatastore.h
+++ b/searchlib/src/vespa/searchlib/docstore/liddatastore.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/searchlib/docstore/idatastore.h>
+#include "idatastore.h"
namespace search {
diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
index 4165d13d3fd..7036ef238b6 100644
--- a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "logdatastore.h"
#include "storebybucket.h"
#include "compacter.h"
-#include "logdatastore.h"
#include <vespa/vespalib/data/fileheader.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/stllike/hash_map.hpp>
diff --git a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
index 82a9bb72a51..1edfa6304b1 100644
--- a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "writeablefilechunk.h"
#include "data_store_file_chunk_stats.h"
#include "summaryexceptions.h"
-#include "writeablefilechunk.h"
#include <vespa/searchlib/common/fileheadercontext.h>
#include <vespa/searchlib/util/file_settings.h>
#include <vespa/vespalib/data/databuffer.h>
diff --git a/searchlib/src/vespa/searchlib/engine/docsumreply.h b/searchlib/src/vespa/searchlib/engine/docsumreply.h
index e9f2898bc82..e45ca96a3d5 100644
--- a/searchlib/src/vespa/searchlib/engine/docsumreply.h
+++ b/searchlib/src/vespa/searchlib/engine/docsumreply.h
@@ -2,13 +2,13 @@
#pragma once
-#include <vector>
+#include "docsumrequest.h"
#include <vespa/document/base/globalid.h>
-#include <vespa/vespalib/util/memory.h>
#include <vespa/searchlib/common/unique_issues.h>
-#include <memory>
-#include <vespa/searchlib/engine/docsumrequest.h>
+#include <vespa/vespalib/util/memory.h>
#include <cassert>
+#include <memory>
+#include <vector>
namespace vespalib { class Slime; }
namespace vespalib::slime { struct Inspector; }
diff --git a/searchlib/src/vespa/searchlib/engine/search_protocol_proto.h b/searchlib/src/vespa/searchlib/engine/search_protocol_proto.h
index a8cea62276c..e9fad0e8d1b 100644
--- a/searchlib/src/vespa/searchlib/engine/search_protocol_proto.h
+++ b/searchlib/src/vespa/searchlib/engine/search_protocol_proto.h
@@ -7,6 +7,6 @@
#pragma GCC diagnostic ignored "-Wsuggest-override"
#endif
-#include <vespa/searchlib/engine/search_protocol.pb.h>
+#include "search_protocol.pb.h"
#pragma GCC diagnostic pop
diff --git a/searchlib/src/vespa/searchlib/engine/searchreply.h b/searchlib/src/vespa/searchlib/engine/searchreply.h
index fc64566acf1..8f862d8dcf7 100644
--- a/searchlib/src/vespa/searchlib/engine/searchreply.h
+++ b/searchlib/src/vespa/searchlib/engine/searchreply.h
@@ -2,12 +2,12 @@
#pragma once
+#include "searchrequest.h"
#include <vespa/document/base/globalid.h>
#include <vespa/searchlib/common/hitrank.h>
#include <vespa/searchlib/common/unique_issues.h>
#include <vespa/searchlib/common/featureset.h>
#include <vespa/vespalib/util/array.h>
-#include <vespa/searchlib/engine/searchrequest.h>
#include <vector>
namespace search::engine {
diff --git a/searchlib/src/vespa/searchlib/expression/floatresultnode.cpp b/searchlib/src/vespa/searchlib/expression/floatresultnode.cpp
index d357e38dedf..5d995ff7174 100644
--- a/searchlib/src/vespa/searchlib/expression/floatresultnode.cpp
+++ b/searchlib/src/vespa/searchlib/expression/floatresultnode.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "floatbucketresultnode.h"
+
#include "floatresultnode.h"
+#include "floatbucketresultnode.h"
namespace search {
namespace expression {
diff --git a/searchlib/src/vespa/searchlib/expression/stringresultnode.cpp b/searchlib/src/vespa/searchlib/expression/stringresultnode.cpp
index a53cee88b53..455fb8d2435 100644
--- a/searchlib/src/vespa/searchlib/expression/stringresultnode.cpp
+++ b/searchlib/src/vespa/searchlib/expression/stringresultnode.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "stringbucketresultnode.h"
+
#include "stringresultnode.h"
+#include "stringbucketresultnode.h"
namespace search {
namespace expression {
diff --git a/searchlib/src/vespa/searchlib/features/distancefeature.cpp b/searchlib/src/vespa/searchlib/features/distancefeature.cpp
index 6add65054ac..40f994c18e9 100644
--- a/searchlib/src/vespa/searchlib/features/distancefeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/distancefeature.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "distance_calculator_bundle.h"
#include "distancefeature.h"
+#include "distance_calculator_bundle.h"
#include "utils.h"
#include <vespa/document/datatype/positiondatatype.h>
#include <vespa/searchcommon/common/schema.h>
diff --git a/searchlib/src/vespa/searchlib/features/euclidean_distance_feature.cpp b/searchlib/src/vespa/searchlib/features/euclidean_distance_feature.cpp
index 1380d36bc55..6c56628b894 100644
--- a/searchlib/src/vespa/searchlib/features/euclidean_distance_feature.cpp
+++ b/searchlib/src/vespa/searchlib/features/euclidean_distance_feature.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "valuefeature.h"
#include "euclidean_distance_feature.h"
+#include "valuefeature.h"
#include "array_parser.hpp"
#include <vespa/searchlib/attribute/integerbase.h>
#include <vespa/searchlib/fef/properties.h>
diff --git a/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.cpp b/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.cpp
index 19793d51ca5..be8b35da43d 100644
--- a/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/nativeattributematchfeature.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "valuefeature.h"
#include "nativeattributematchfeature.h"
+#include "valuefeature.h"
#include "utils.h"
#include <vespa/searchlib/fef/fieldinfo.h>
#include <vespa/searchlib/fef/indexproperties.h>
diff --git a/searchlib/src/vespa/searchlib/features/queryfeature.cpp b/searchlib/src/vespa/searchlib/features/queryfeature.cpp
index acf13c55c99..f5f1edca0f1 100644
--- a/searchlib/src/vespa/searchlib/features/queryfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/queryfeature.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "constant_tensor_executor.h"
#include "queryfeature.h"
+#include "constant_tensor_executor.h"
#include "utils.h"
#include "valuefeature.h"
#include <vespa/searchlib/fef/featureexecutor.h>
diff --git a/searchlib/src/vespa/searchlib/fef/iblueprintregistry.h b/searchlib/src/vespa/searchlib/fef/iblueprintregistry.h
index f2a6d53fc5f..0898b3bc1d7 100644
--- a/searchlib/src/vespa/searchlib/fef/iblueprintregistry.h
+++ b/searchlib/src/vespa/searchlib/fef/iblueprintregistry.h
@@ -2,8 +2,12 @@
#pragma once
+#include <memory>
+
namespace search::fef {
+class Blueprint;
+
/**
* This is an interface used during plugin setup to register blueprint
* prototypes.
@@ -14,7 +18,7 @@ public:
/**
* Add a blueprint prototype to the registry.
**/
- virtual void addPrototype(Blueprint::SP proto) = 0;
+ virtual void addPrototype(std::shared_ptr<Blueprint> proto) = 0;
/**
* Virtual destructor to allow safe subclassing.
diff --git a/searchlib/src/vespa/searchlib/fef/query_value.cpp b/searchlib/src/vespa/searchlib/fef/query_value.cpp
index a60a24425b5..8b881bc722f 100644
--- a/searchlib/src/vespa/searchlib/fef/query_value.cpp
+++ b/searchlib/src/vespa/searchlib/fef/query_value.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "query_value.h"
#include "iindexenvironment.h"
#include "indexproperties.h"
#include "iqueryenvironment.h"
-#include "query_value.h"
#include <vespa/document/datatype/tensor_data_type.h>
#include <vespa/eval/eval/fast_value.h>
#include <vespa/eval/eval/interpreted_function.h>
diff --git a/searchlib/src/vespa/searchlib/fef/query_value.h b/searchlib/src/vespa/searchlib/fef/query_value.h
index 3cdb90ea871..fb014883268 100644
--- a/searchlib/src/vespa/searchlib/fef/query_value.h
+++ b/searchlib/src/vespa/searchlib/fef/query_value.h
@@ -13,6 +13,7 @@ namespace vespalib::eval { struct Value; }
namespace search::fef {
class IIndexEnvironment;
+class IObjectStore;
class IQueryEnvironment;
/**
diff --git a/searchlib/src/vespa/searchlib/fef/symmetrictable.h b/searchlib/src/vespa/searchlib/fef/symmetrictable.h
index 0fdb7568d49..b1a87933246 100644
--- a/searchlib/src/vespa/searchlib/fef/symmetrictable.h
+++ b/searchlib/src/vespa/searchlib/fef/symmetrictable.h
@@ -2,8 +2,8 @@
#pragma once
+#include "table.h"
#include <vector>
-#include <vespa/searchlib/fef/table.h>
namespace search {
namespace fef {
diff --git a/searchlib/src/vespa/searchlib/fef/test/indexenvironmentbuilder.cpp b/searchlib/src/vespa/searchlib/fef/test/indexenvironmentbuilder.cpp
index 9d6d0e42057..3b1e94cbb3a 100644
--- a/searchlib/src/vespa/searchlib/fef/test/indexenvironmentbuilder.cpp
+++ b/searchlib/src/vespa/searchlib/fef/test/indexenvironmentbuilder.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/searchcommon/common/datatype.h>
#include "indexenvironmentbuilder.h"
+#include <vespa/searchcommon/common/datatype.h>
namespace search::fef::test {
diff --git a/searchlib/src/vespa/searchlib/fef/test/plugin/setup.cpp b/searchlib/src/vespa/searchlib/fef/test/plugin/setup.cpp
index 947b926aa5b..57f55c7dfee 100644
--- a/searchlib/src/vespa/searchlib/fef/test/plugin/setup.cpp
+++ b/searchlib/src/vespa/searchlib/fef/test/plugin/setup.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "setup.h"
#include "cfgvalue.h"
#include "chain.h"
#include "double.h"
#include "query.h"
-#include "setup.h"
#include "staticrank.h"
#include "sum.h"
#include "unbox.h"
diff --git a/searchlib/src/vespa/searchlib/fef/test/test_features.cpp b/searchlib/src/vespa/searchlib/fef/test/test_features.cpp
index a760e80b77f..f940f9ee210 100644
--- a/searchlib/src/vespa/searchlib/fef/test/test_features.cpp
+++ b/searchlib/src/vespa/searchlib/fef/test/test_features.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/test_kit.h>
#include "test_features.h"
+#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/vespalib/locale/c.h>
#include <vespa/vespalib/util/stash.h>
diff --git a/searchlib/src/vespa/searchlib/grouping/groupengine.h b/searchlib/src/vespa/searchlib/grouping/groupengine.h
index 778ed2956a8..8396f7fc9e2 100644
--- a/searchlib/src/vespa/searchlib/grouping/groupengine.h
+++ b/searchlib/src/vespa/searchlib/grouping/groupengine.h
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "collect.h"
#include <vespa/searchlib/aggregation/groupinglevel.h>
-#include <vespa/searchlib/grouping/collect.h>
#include <vespa/vespalib/util/sort.h>
namespace search::grouping {
diff --git a/searchlib/src/vespa/searchlib/grouping/groupingengine.h b/searchlib/src/vespa/searchlib/grouping/groupingengine.h
index b0dbb3f8528..1b696996e37 100644
--- a/searchlib/src/vespa/searchlib/grouping/groupingengine.h
+++ b/searchlib/src/vespa/searchlib/grouping/groupingengine.h
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "groupengine.h"
#include <vespa/searchlib/aggregation/grouping.h>
-#include <vespa/searchlib/grouping/groupengine.h>
namespace search::grouping {
diff --git a/searchlib/src/vespa/searchlib/index/postinglistcountfile.cpp b/searchlib/src/vespa/searchlib/index/postinglistcountfile.cpp
index edf4f8c43b2..594e4499f6a 100644
--- a/searchlib/src/vespa/searchlib/index/postinglistcountfile.cpp
+++ b/searchlib/src/vespa/searchlib/index/postinglistcountfile.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "postinglistcountfile.h"
-#include <vespa/searchlib/index/postinglistparams.h>
+#include "postinglistparams.h"
namespace search::index {
diff --git a/searchlib/src/vespa/searchlib/index/postinglistfile.cpp b/searchlib/src/vespa/searchlib/index/postinglistfile.cpp
index 4d53790bd73..acb1d40e353 100644
--- a/searchlib/src/vespa/searchlib/index/postinglistfile.cpp
+++ b/searchlib/src/vespa/searchlib/index/postinglistfile.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "postinglistfile.h"
-#include <vespa/searchlib/index/postinglistparams.h>
+#include "postinglistparams.h"
#include <vespa/fastos/file.h>
namespace search::index {
diff --git a/searchlib/src/vespa/searchlib/index/postinglisthandle.cpp b/searchlib/src/vespa/searchlib/index/postinglisthandle.cpp
index 714331bc161..82737531d69 100644
--- a/searchlib/src/vespa/searchlib/index/postinglisthandle.cpp
+++ b/searchlib/src/vespa/searchlib/index/postinglisthandle.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "postinglisthandle.h"
-#include <vespa/searchlib/index/postinglistfile.h>
+#include "postinglistfile.h"
namespace search::index {
diff --git a/searchlib/src/vespa/searchlib/index/postinglisthandle.h b/searchlib/src/vespa/searchlib/index/postinglisthandle.h
index 1fe35f318fb..86d283df537 100644
--- a/searchlib/src/vespa/searchlib/index/postinglisthandle.h
+++ b/searchlib/src/vespa/searchlib/index/postinglisthandle.h
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
-#include <vespa/searchlib/index/postinglistcounts.h>
+#include "postinglistcounts.h"
#include <memory>
#include <cstdlib>
diff --git a/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp b/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
index f8ad85859fa..643bcbb325e 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/memory_index.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "memory_index.h"
#include "document_inverter.h"
#include "document_inverter_collection.h"
#include "document_inverter_context.h"
#include "field_index_collection.h"
-#include "memory_index.h"
#include <vespa/document/fieldvalue/arrayfieldvalue.h>
#include <vespa/document/fieldvalue/document.h>
#include <vespa/vespalib/util/isequencedtaskexecutor.h>
diff --git a/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp b/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp
index a12544a9da5..a6bb45620e4 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/ordered_field_index_inserter.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "i_field_index_insert_listener.h"
#include "ordered_field_index_inserter.h"
+#include "i_field_index_insert_listener.h"
#include <vespa/searchlib/index/docidandfeatures.h>
#include <vespa/vespalib/stllike/string.h>
diff --git a/searchlib/src/vespa/searchlib/memoryindex/url_field_inverter.cpp b/searchlib/src/vespa/searchlib/memoryindex/url_field_inverter.cpp
index 87bcdd31933..9eb629cf33b 100644
--- a/searchlib/src/vespa/searchlib/memoryindex/url_field_inverter.cpp
+++ b/searchlib/src/vespa/searchlib/memoryindex/url_field_inverter.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "field_inverter.h"
#include "url_field_inverter.h"
+#include "field_inverter.h"
#include <vespa/document/datatype/urldatatype.h>
#include <vespa/document/fieldvalue/arrayfieldvalue.h>
#include <vespa/document/fieldvalue/stringfieldvalue.h>
diff --git a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
index ca3e3f6be10..46b89fdfeb4 100644
--- a/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
+++ b/searchlib/src/vespa/searchlib/parsequery/stackdumpiterator.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/searchlib/parsequery/parse.h>
+#include "parse.h"
#include <vespa/searchlib/query/tree/predicate_query_term.h>
#include <vespa/vespalib/stllike/string.h>
diff --git a/searchlib/src/vespa/searchlib/query/query_term_simple.cpp b/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
index afd5e349da9..ed76e2f4c10 100644
--- a/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
+++ b/searchlib/src/vespa/searchlib/query/query_term_simple.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "base.h"
#include "query_term_simple.h"
+#include "base.h"
#include <vespa/vespalib/objects/visit.h>
#include <vespa/vespalib/util/classname.h>
#include <vespa/vespalib/locale/c.h>
diff --git a/searchlib/src/vespa/searchlib/queryeval/fake_requestcontext.h b/searchlib/src/vespa/searchlib/queryeval/fake_requestcontext.h
index 9f829c9473c..0b727dcea42 100644
--- a/searchlib/src/vespa/searchlib/queryeval/fake_requestcontext.h
+++ b/searchlib/src/vespa/searchlib/queryeval/fake_requestcontext.h
@@ -2,6 +2,7 @@
#pragma once
+#include "irequestcontext.h"
#include <vespa/eval/eval/tensor_spec.h>
#include <vespa/eval/eval/value.h>
#include <vespa/eval/eval/fast_value.h>
@@ -9,7 +10,6 @@
#include <vespa/searchcommon/attribute/iattributecontext.h>
#include <vespa/searchlib/attribute/attributevector.h>
#include <vespa/searchlib/attribute/attribute_blueprint_params.h>
-#include <vespa/searchlib/queryeval/irequestcontext.h>
#include <vespa/vespalib/util/doom.h>
#include <limits>
diff --git a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp
index 993156e04e6..7fdf5230325 100644
--- a/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/nearest_neighbor_blueprint.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "emptysearch.h"
#include "nearest_neighbor_blueprint.h"
+#include "emptysearch.h"
#include "nearest_neighbor_iterator.h"
#include "nns_index_iterator.h"
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
diff --git a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
index 5b0c1401c85..9bc59c6eed4 100644
--- a/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
+++ b/searchlib/src/vespa/searchlib/queryeval/simple_phrase_search.h
@@ -3,7 +3,7 @@
#pragma once
#include "andsearch.h"
-#include <vespa/searchlib/queryeval/irequestcontext.h>
+#include "irequestcontext.h"
#include <vespa/searchlib/fef/matchdata.h>
#include <vespa/searchlib/fef/termfieldmatchdataarray.h>
#include <vespa/searchlib/fef/termfieldmatchdata.h>
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
index 22d9364110c..961c8785b40 100644
--- a/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/wand/parallel_weak_and_blueprint.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "wand_parts.h"
+
#include "parallel_weak_and_blueprint.h"
+#include "wand_parts.h"
#include "parallel_weak_and_search.h"
#include <vespa/searchlib/queryeval/field_spec.hpp>
#include <vespa/searchlib/queryeval/emptysearch.h>
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.cpp b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.cpp
index 195c606307d..6d2ff93ea08 100644
--- a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_search.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "wand_parts.h"
#include "weak_and_search.h"
+#include "wand_parts.h"
#include <vespa/searchlib/queryeval/orsearch.h>
#include <vespa/vespalib/util/left_right_heap.h>
#include <vespa/vespalib/util/priority_queue.h>
diff --git a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
index fa6c9a347aa..d23bbcfbed4 100644
--- a/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
+++ b/searchlib/src/vespa/searchlib/tensor/hnsw_index.cpp
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "hnsw_index.h"
#include "bitvector_visited_tracker.h"
#include "distance_function.h"
#include "hash_set_visited_tracker.h"
-#include "hnsw_index.h"
#include "hnsw_index_loader.hpp"
#include "hnsw_index_saver.h"
#include "random_level_generator.h"
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
index 281a1b97dcc..d00db8bd098 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.cpp
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include "fpfactory.h"
#include "fakeegcompr64filterocc.h"
#include "fakefilterocc.h"
#include "fakezcbfilterocc.h"
#include "fakezcfilterocc.h"
#include "fakememtreeocc.h"
-#include "fpfactory.h"
#include "fakewordset.h"
namespace search::fakedata {
diff --git a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
index b09e0f05ba0..cc105f4dff5 100644
--- a/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
+++ b/searchlib/src/vespa/searchlib/test/fakedata/fpfactory.h
@@ -1,16 +1,14 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
+#include "fakeposting.h"
#include <map>
#include <vector>
#include <string>
-#include "fakeposting.h"
-namespace search
-{
+namespace search::index { class Schema; }
-namespace fakedata
-{
+namespace search::fakedata {
class FakeWord;
class FakeWordSet;
@@ -76,7 +74,4 @@ public:
forceLink();
};
-} // namespace fakedata
-
-} // namespace search
-
+}
diff --git a/searchlib/src/vespa/searchlib/util/comprbuffer.h b/searchlib/src/vespa/searchlib/util/comprbuffer.h
index 6524c49ae7c..9c0ccfec228 100644
--- a/searchlib/src/vespa/searchlib/util/comprbuffer.h
+++ b/searchlib/src/vespa/searchlib/util/comprbuffer.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/searchlib/util/filealign.h>
+#include "filealign.h"
#include <vespa/vespalib/util/alloc.h>
namespace search {
diff --git a/searchlib/src/vespa/searchlib/util/comprfile.h b/searchlib/src/vespa/searchlib/util/comprfile.h
index dc8cf6185fc..9be26f38a1a 100644
--- a/searchlib/src/vespa/searchlib/util/comprfile.h
+++ b/searchlib/src/vespa/searchlib/util/comprfile.h
@@ -2,8 +2,8 @@
#pragma once
+#include "comprbuffer.h"
#include <utility>
-#include <vespa/searchlib/util/comprbuffer.h>
class FastOS_FileInterface;
diff --git a/searchlib/src/vespa/searchlib/util/drainingbufferwriter.h b/searchlib/src/vespa/searchlib/util/drainingbufferwriter.h
index a2bf1c557c5..0891c298539 100644
--- a/searchlib/src/vespa/searchlib/util/drainingbufferwriter.h
+++ b/searchlib/src/vespa/searchlib/util/drainingbufferwriter.h
@@ -2,7 +2,7 @@
#pragma once
-#include <vespa/searchlib/util/bufferwriter.h>
+#include "bufferwriter.h"
#include <vector>
#include <cstdint>
diff --git a/searchlib/src/vespa/searchlib/util/file_with_header.cpp b/searchlib/src/vespa/searchlib/util/file_with_header.cpp
index f1b66a63bd7..569babab6fa 100644
--- a/searchlib/src/vespa/searchlib/util/file_with_header.cpp
+++ b/searchlib/src/vespa/searchlib/util/file_with_header.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "file_settings.h"
#include "file_with_header.h"
+#include "file_settings.h"
#include "filesizecalculator.h"
#include <vespa/fastos/file.h>
#include <vespa/vespalib/util/size_literals.h>
diff --git a/searchlib/src/vespa/searchlib/util/logutil.cpp b/searchlib/src/vespa/searchlib/util/logutil.cpp
index 7f10c1598df..2fd3205cdb2 100644
--- a/searchlib/src/vespa/searchlib/util/logutil.cpp
+++ b/searchlib/src/vespa/searchlib/util/logutil.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "logutil.h"
-#include <vespa/searchlib/util/dirtraverse.h>
+#include "dirtraverse.h"
#include <vector>
using vespalib::JSONStringer;
diff --git a/vespalib/src/vespa/vespalib/btree/btreebuilder.cpp b/vespalib/src/vespa/vespalib/btree/btreebuilder.cpp
index c4495b19cbd..7e149eb0ae1 100644
--- a/vespalib/src/vespa/vespalib/btree/btreebuilder.cpp
+++ b/vespalib/src/vespa/vespalib/btree/btreebuilder.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "btreenode.hpp"
#include "btreebuilder.hpp"
+#include "btreenode.hpp"
namespace vespalib::btree {
diff --git a/vespalib/src/vespa/vespalib/component/versionspecification.cpp b/vespalib/src/vespa/vespalib/component/versionspecification.cpp
index 68ce3dbbd27..29f7a446490 100644
--- a/vespalib/src/vespa/vespalib/component/versionspecification.cpp
+++ b/vespalib/src/vespa/vespalib/component/versionspecification.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "version.h"
#include "versionspecification.h"
+#include "version.h"
#include <vespa/vespalib/util/exceptions.h>
#include <vespa/vespalib/text/stringtokenizer.h>
#include <vespa/vespalib/stllike/asciistream.h>
diff --git a/vespalib/src/vespa/vespalib/data/slime/json_format.cpp b/vespalib/src/vespa/vespalib/data/slime/json_format.cpp
index cf01aedb8df..2681ba6f52b 100644
--- a/vespalib/src/vespa/vespalib/data/slime/json_format.cpp
+++ b/vespalib/src/vespa/vespalib/data/slime/json_format.cpp
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "strfmt.h"
#include "json_format.h"
+#include "strfmt.h"
#include "inserter.h"
#include "slime.h"
#include <vespa/vespalib/data/memory_input.h>
diff --git a/vespalib/src/vespa/vespalib/datastore/buffer_type.cpp b/vespalib/src/vespa/vespalib/datastore/buffer_type.cpp
index dec24d6fe46..d1b16e7ae7a 100644
--- a/vespalib/src/vespa/vespalib/datastore/buffer_type.cpp
+++ b/vespalib/src/vespa/vespalib/datastore/buffer_type.cpp
@@ -1,6 +1,5 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "atomic_entry_ref.h"
#include "buffer_type.hpp"
#include <algorithm>
#include <cassert>
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_enumerator.hpp b/vespalib/src/vespa/vespalib/datastore/unique_store_enumerator.hpp
index 214f5b8e8c4..0cc6b4eded2 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_enumerator.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_enumerator.hpp
@@ -3,8 +3,8 @@
#pragma once
#include "unique_store_enumerator.h"
-#include <vespa/vespalib/datastore/bufferstate.h>
-#include <vespa/vespalib/datastore/datastorebase.h>
+#include "bufferstate.h"
+#include "datastorebase.h"
namespace vespalib::datastore {
diff --git a/vespalib/src/vespa/vespalib/net/tls/impl/openssl_tls_context_impl.cpp b/vespalib/src/vespa/vespalib/net/tls/impl/openssl_tls_context_impl.cpp
index e088eeb4906..ff70c8137a5 100644
--- a/vespalib/src/vespa/vespalib/net/tls/impl/openssl_tls_context_impl.cpp
+++ b/vespalib/src/vespa/vespalib/net/tls/impl/openssl_tls_context_impl.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "iana_cipher_map.h"
+
#include "openssl_tls_context_impl.h"
+#include "iana_cipher_map.h"
#include "openssl_crypto_codec_impl.h"
#include <vespa/vespalib/crypto/crypto_exception.h>
#include <vespa/vespalib/crypto/openssl_typedefs.h>
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
index 859dcc2f93f..f159d471f55 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -1,9 +1,9 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.curator;
-import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.CuratorConfig;
import com.yahoo.component.AbstractComponent;
+import com.yahoo.component.annotation.Inject;
import com.yahoo.concurrent.DaemonThreadFactory;
import com.yahoo.path.Path;
import com.yahoo.vespa.curator.api.VespaCurator;
@@ -14,6 +14,7 @@ import com.yahoo.vespa.zookeeper.client.ZkClientConfigBuilder;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
+import org.apache.curator.framework.api.CreateBuilder;
import org.apache.curator.framework.api.transaction.CuratorTransaction;
import org.apache.curator.framework.api.transaction.CuratorTransactionFinal;
import org.apache.curator.framework.recipes.atomic.DistributedAtomicLong;
@@ -23,9 +24,11 @@ import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener;
import org.apache.curator.framework.recipes.locks.InterProcessLock;
import org.apache.curator.framework.recipes.locks.InterProcessMutex;
import org.apache.curator.retry.ExponentialBackoffRetry;
+import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.client.ZKClientConfig;
import org.apache.zookeeper.data.Stat;
+import org.apache.zookeeper.server.EphemeralType;
import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
import java.io.File;
@@ -38,12 +41,10 @@ import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
import java.util.function.Function;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -210,17 +211,27 @@ public class Curator extends AbstractComponent implements VespaCurator, AutoClos
}
}
+ /** @see #create(Path, Duration) */
+ public boolean create(Path path) { return create(path, null); }
+
/**
* Creates an empty node at a path, creating any parents as necessary.
* If the node already exists nothing is done.
* Returns whether a change was attempted.
*/
- public boolean create(Path path) {
+ public boolean create(Path path, Duration ttl) {
if (exists(path)) return false;
String absolutePath = path.getAbsolute();
try {
- framework().create().creatingParentsIfNeeded().forPath(absolutePath, new byte[0]);
+ CreateBuilder b = framework().create();
+ if (ttl != null) {
+ long millis = ttl.toMillis();
+ if (millis <= 0 || millis > EphemeralType.TTL.maxValue())
+ throw new IllegalArgumentException(ttl.toString());
+ b.withTtl(millis).withMode(CreateMode.PERSISTENT_WITH_TTL);
+ }
+ b.creatingParentsIfNeeded().forPath(absolutePath, new byte[0]);
} catch (org.apache.zookeeper.KeeperException.NodeExistsException e) {
// Path created between exists() and create() call, do nothing
} catch (Exception e) {
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java
index 689e81c2d94..3a48a1ec331 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MemoryFileSystem.java
@@ -117,6 +117,9 @@ class MemoryFileSystem extends FileSystem {
/** The content of this node, never null. This buffer is effectively immutable. */
private byte[] content;
+ /** Optional TTL. Currently not in use. */
+ private Long ttl;
+
private final AtomicInteger version = new AtomicInteger(0);
private Map<String, Node> children = Collections.synchronizedMap(new LinkedHashMap<>());
@@ -140,6 +143,9 @@ class MemoryFileSystem extends FileSystem {
this.version.incrementAndGet();
}
+ /** Set optional TTL */
+ public void setTtl(long ttl) { this.ttl = ttl; }
+
public int version() { return version.get(); }
/**
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCuratorFramework.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCuratorFramework.java
index 4cb510e7904..81fb24bd7e5 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCuratorFramework.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/mock/MockCuratorFramework.java
@@ -351,7 +351,7 @@ public class MockCuratorFramework implements CuratorFramework {
// ----- Start of adaptor methods from Curator to the mock file system -----
/** Creates a node below the given directory root */
- private String createNode(String pathString, byte[] content, boolean createParents, CreateMode createMode, MemoryFileSystem.Node root, Listeners listeners)
+ private String createNode(String pathString, byte[] content, boolean createParents, CreateMode createMode, MemoryFileSystem.Node root, Listeners listeners, Long ttl)
throws KeeperException.NodeExistsException, KeeperException.NoNodeException {
validatePath(pathString);
Path path = Path.fromString(pathString);
@@ -364,7 +364,11 @@ public class MockCuratorFramework implements CuratorFramework {
if (parent.children().containsKey(path.getName()))
throw new KeeperException.NodeExistsException(path.toString());
- parent.add(name).setContent(content);
+ MemoryFileSystem.Node node = parent.add(name);
+ node.setContent(content);
+ if (List.of(CreateMode.PERSISTENT_WITH_TTL, CreateMode.PERSISTENT_SEQUENTIAL_WITH_TTL).contains(createMode)
+ && ttl != null)
+ node.setTtl(ttl);
String nodePath = "/" + path.getParentPath().toString() + "/" + name;
listeners.notify(Path.fromString(nodePath), content, PathChildrenCacheEvent.Type.CHILD_ADDED);
return nodePath;
@@ -422,7 +426,7 @@ public class MockCuratorFramework implements CuratorFramework {
private String nodeName(String baseName, CreateMode createMode) {
switch (createMode) {
- case PERSISTENT: case EPHEMERAL: return baseName;
+ case PERSISTENT: case EPHEMERAL: case PERSISTENT_WITH_TTL: return baseName;
case PERSISTENT_SEQUENTIAL: case EPHEMERAL_SEQUENTIAL: return baseName + monotonicallyIncreasingNumber++;
default: throw new UnsupportedOperationException(createMode + " support not implemented in MockCurator");
}
@@ -837,6 +841,7 @@ public class MockCuratorFramework implements CuratorFramework {
private boolean createParents = false;
private CreateMode createMode = CreateMode.PERSISTENT;
+ private Long ttl;
@Override
public ProtectACLCreateModeStatPathAndBytesable<String> creatingParentsIfNeeded() {
@@ -845,12 +850,12 @@ public class MockCuratorFramework implements CuratorFramework {
@Override
public String forPath(String s, byte[] bytes) throws Exception {
- return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners, ttl);
}
@Override
public String forPath(String s) throws Exception {
- return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners, ttl);
}
};
@@ -862,12 +867,12 @@ public class MockCuratorFramework implements CuratorFramework {
@Override
public String forPath(String s, byte[] bytes) throws Exception {
- return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners, ttl);
}
@Override
public String forPath(String s) throws Exception {
- return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners, ttl);
}
};
@@ -885,11 +890,11 @@ public class MockCuratorFramework implements CuratorFramework {
}
public String forPath(String s) throws Exception {
- return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, new byte[0], createParents, createMode, fileSystem.root(), listeners, ttl);
}
public String forPath(String s, byte[] bytes) throws Exception {
- return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners);
+ return createNode(s, bytes, createParents, createMode, fileSystem.root(), listeners, ttl);
}
@Override
@@ -923,7 +928,7 @@ public class MockCuratorFramework implements CuratorFramework {
}
@Override
- public CreateBuilderMain withTtl(long l) { return this; }
+ public CreateBuilderMain withTtl(long l) { this.ttl = l; return this; }
@Override
public CreateBuilder2 orSetData() {
@@ -1283,13 +1288,13 @@ public class MockCuratorFramework implements CuratorFramework {
@Override
public CuratorTransactionBridge forPath(String s, byte[] bytes) throws Exception {
- createNode(s, bytes, false, createMode, newRoot, delayedListener);
+ createNode(s, bytes, false, createMode, newRoot, delayedListener, null);
return new MockCuratorTransactionBridge();
}
@Override
public CuratorTransactionBridge forPath(String s) throws Exception {
- createNode(s, new byte[0], false, createMode, newRoot, delayedListener);
+ createNode(s, new byte[0], false, createMode, newRoot, delayedListener, null);
return new MockCuratorTransactionBridge();
}
diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
index e5384f9abe2..f9019b1baf1 100644
--- a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
+++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
@@ -48,6 +48,8 @@ public class Configurator {
System.setProperty("zookeeper.snapshot.compression.method", zookeeperServerConfig.snapshotMethod());
System.setProperty("zookeeper.leader.closeSocketAsync", String.valueOf(zookeeperServerConfig.leaderCloseSocketAsync()));
System.setProperty("zookeeper.learner.asyncSending", String.valueOf(zookeeperServerConfig.learnerAsyncSending()));
+ // Enable creation of TTL Nodes.
+ System.setProperty("zookeeper.extendedTypesEnabled", "true");
}
void writeConfigToDisk() {