diff options
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() { |