From 9b948718144e5d556cc6ea49d2ff6bbf05f00b0e Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Thu, 10 Sep 2020 19:54:48 +0200 Subject: Use full name in config definition file names --- .../application.mock-application.def | 11 + .../configdefinitions/mock-application.def | 11 - .../resources/configdefinitions/example.test.def | 4 + .../src/main/resources/configdefinitions/test.def | 4 - chain/CMakeLists.txt | 2 +- .../main/resources/configdefinitions/chains.def | 42 -- .../configdefinitions/container.core.chains.def | 42 ++ .../src/test/resources/configdefinitions/app.def | 8 - .../resources/configdefinitions/foo.maptypes.def | 13 + .../configdefinitions/foo.structtypes.def | 21 + .../resources/configdefinitions/function-test.def | 96 ---- .../src/test/resources/configdefinitions/int.def | 4 - .../test/resources/configdefinitions/maptypes.def | 13 - .../my.namespace.namespace-and-package.def | 7 + .../configdefinitions/my.namespace.namespace.def | 5 + .../configdefinitions/namespace-and-package.def | 7 - .../test/resources/configdefinitions/namespace.def | 5 - .../test/resources/configdefinitions/restart.def | 4 - .../resources/configdefinitions/structtypes.def | 21 - .../test/resources/configdefinitions/test.app.def | 8 + .../configdefinitions/test.function-test.def | 96 ++++ .../test/resources/configdefinitions/test.int.def | 4 + .../resources/configdefinitions/test.restart.def | 4 + .../test/cfg/admin/userconfigs/function-test.def | 73 --- .../cfg/admin/userconfigs/test.function-test.def | 73 +++ .../test/cfg/application/classes/attributes.def | 7 - .../classes/vespa.config.search.attributes.def | 7 + .../configdeftest/configdefinitions/bar.def | 3 - .../configdeftest/configdefinitions/baz.def | 3 - .../configdeftest/configdefinitions/config.foo.def | 3 + .../configdefinitions/config.xyzzy.def | 3 + .../configdeftest/configdefinitions/foo.def | 3 - .../configdeftest/configdefinitions/qux.foo.def | 4 - .../configdefinitions/qux.qux.foo.def | 4 + .../configdeftest/configdefinitions/xyzzy.bar.def | 3 +- .../configdeftest/configdefinitions/xyzzy.baz.def | 3 + .../configdeftest/configdefinitions/xyzzy.def | 3 - .../configdefinitions/xyzzy.xyzzy.bar.def | 4 + .../test/cfg/application/serverdefs/attributes.def | 8 - .../serverdefs/vespa.config.search.attributes.def | 8 + .../src/test/derived/music/defs/attributes.def | 7 - .../music/defs/document.config.documentmanager.def | 12 + .../test/derived/music/defs/documentmanager.def | 12 - config-model/src/test/derived/music/defs/extra.def | 4 - .../src/test/derived/music/defs/ilscripts.def | 5 - .../src/test/derived/music/defs/rank-profiles.def | 344 -------------- .../src/test/derived/music/defs/summarymap.def | 15 - .../src/test/derived/music/defs/test.extra.def | 4 + .../music/defs/vespa.config.search.attributes.def | 7 + .../defs/vespa.config.search.rank-profiles.def | 344 ++++++++++++++ .../music/defs/vespa.config.search.summarymap.def | 15 + .../defs/vespa.configdefinition.ilscripts.def | 5 + .../src/test/derived/newrank/defs/attributes.def | 7 - .../defs/document.config.documentmanager.def | 12 + .../test/derived/newrank/defs/documentmanager.def | 12 - .../src/test/derived/newrank/defs/extra.def | 4 - .../src/test/derived/newrank/defs/ilscripts.def | 5 - .../test/derived/newrank/defs/rank-profiles.def | 344 -------------- .../src/test/derived/newrank/defs/summarymap.def | 14 - .../src/test/derived/newrank/defs/test.extra.def | 4 + .../defs/vespa.config.search.attributes.def | 7 + .../defs/vespa.config.search.rank-profiles.def | 344 ++++++++++++++ .../defs/vespa.config.search.summarymap.def | 14 + .../defs/vespa.configdefinition.ilscripts.def | 5 + .../resources/configdefinitions/anotherrestart.def | 5 - .../resources/configdefinitions/arraytypes.def | 11 - .../resources/configdefinitions/function-test.def | 76 ---- .../resources/configdefinitions/nonrestart.def | 5 - .../test/resources/configdefinitions/restart.def | 5 - .../resources/configdefinitions/simpletypes.def | 11 - .../test/resources/configdefinitions/standard.def | 10 - .../configdefinitions/test.anotherrestart.def | 5 + .../configdefinitions/test.arraytypes.def | 11 + .../configdefinitions/test.function-test.def | 76 ++++ .../configdefinitions/test.nonrestart.def | 5 + .../resources/configdefinitions/test.restart.def | 5 + .../configdefinitions/test.simpletypes.def | 11 + .../resources/configdefinitions/test.standard.def | 10 + config-provisioning/CMakeLists.txt | 3 +- .../src/main/resources/configdefinitions/cloud.def | 16 - .../config.provisioning.cloud.def | 16 + .../config.provisioning.flavors.def | 37 ++ .../config.provisioning.node-repository.def | 8 + .../main/resources/configdefinitions/flavors.def | 37 -- .../configdefinitions/node-repository.def | 8 - .../src/test/resources/configdefinitions/bar.def | 4 - .../src/test/resources/configdefinitions/baz.def | 4 - .../test/resources/configdefinitions/bootstrap.def | 6 - .../resources/configdefinitions/config.bar.def | 4 + .../resources/configdefinitions/config.baz.def | 4 + .../configdefinitions/config.bootstrap.def | 6 + .../resources/configdefinitions/config.foo.def | 7 + .../resources/configdefinitions/config.foobar.def | 4 + .../configdefinitions/config.foodefault.def | 4 + .../configdefinitions/config.function-test.def | 74 +++ .../resources/configdefinitions/config.motd.def | 84 ++++ .../test/resources/configdefinitions/config.my.def | 4 + .../src/test/resources/configdefinitions/foo.def | 7 - .../test/resources/configdefinitions/foobar.def | 4 - .../resources/configdefinitions/foodefault.def | 4 - .../resources/configdefinitions/function-test.def | 74 --- .../src/test/resources/configdefinitions/motd.def | 84 ---- config/src/test/resources/configdefinitions/my.def | 4 - .../configs/def-files-nogen/foo.bar.app.def | 8 - .../def-files-nogen/mynamespace.foo.bar.app.def | 8 + .../src/test/resources/configs/def-files/app.def | 8 - .../resources/configs/def-files/arraytypes.def | 11 - .../resources/configs/def-files/defaulttest.def | 8 - .../test/resources/configs/def-files/foo.app.def | 8 + .../resources/configs/def-files/foo.arraytypes.def | 11 + .../configs/def-files/foo.defaulttest.def | 8 + .../configs/def-files/foo.function-test.def | 88 ++++ .../test/resources/configs/def-files/foo.int.def | 4 + .../resources/configs/def-files/foo.maptypes.def | 13 + .../configs/def-files/foo.simpletypes.def | 11 + .../configs/def-files/foo.specialtypes.def | 4 + .../resources/configs/def-files/foo.string.def | 4 + .../configs/def-files/foo.structtypes.def | 21 + .../configs/def-files/foo.test-nodefs.def | 16 + .../configs/def-files/foo.test-nonstring.def | 9 + .../configs/def-files/foo.test-reference.def | 4 + .../configs/def-files/foo.testnamespace.def | 3 + .../resources/configs/def-files/foo.unicode.def | 5 + .../resources/configs/def-files/function-test.def | 88 ---- .../src/test/resources/configs/def-files/int.def | 4 - .../test/resources/configs/def-files/maptypes.def | 13 - .../def-files/myproject.config.namespace.def | 5 + .../test/resources/configs/def-files/namespace.def | 5 - .../resources/configs/def-files/simpletypes.def | 11 - .../resources/configs/def-files/specialtypes.def | 4 - .../test/resources/configs/def-files/string.def | 4 - .../resources/configs/def-files/structtypes.def | 21 - .../resources/configs/def-files/test-nodefs.def | 16 - .../resources/configs/def-files/test-nonstring.def | 9 - .../resources/configs/def-files/test-reference.def | 4 - .../resources/configs/def-files/testnamespace.def | 3 - .../test/resources/configs/def-files/unicode.def | 5 - .../configdefinitions/configtest.greeting.def | 10 + .../main/resources/configdefinitions/greeting.def | 10 - configdefinitions/src/vespa/CMakeLists.txt | 106 ++--- .../src/vespa/all-clusters-bucket-spaces.def | 9 - configdefinitions/src/vespa/application-id.def | 8 - .../src/vespa/athenz-provider-service.def | 29 -- configdefinitions/src/vespa/attributes.def | 45 -- configdefinitions/src/vespa/bucketspaces.def | 12 - .../src/vespa/cloud.config.application-id.def | 8 + .../src/vespa/cloud.config.cluster-info.def | 12 + .../src/vespa/cloud.config.cluster-list.def | 5 + .../src/vespa/cloud.config.configserver.def | 69 +++ ...loud.config.filedistribution.filereferences.def | 3 + .../src/vespa/cloud.config.lb-services.def | 20 + .../src/vespa/cloud.config.logforwarder.def | 9 + configdefinitions/src/vespa/cloud.config.model.def | 13 + .../src/vespa/cloud.config.routing-provider.def | 9 + .../src/vespa/cloud.config.sentinel.def | 50 ++ .../src/vespa/cloud.config.slobroks.def | 13 + configdefinitions/src/vespa/cloud.config.ymon.def | 6 + .../src/vespa/cloud.config.zookeeper-server.def | 45 ++ .../src/vespa/cloud.config.zookeepers.def | 3 + configdefinitions/src/vespa/cluster-info.def | 12 - configdefinitions/src/vespa/cluster-list.def | 5 - configdefinitions/src/vespa/configserver.def | 69 --- configdefinitions/src/vespa/dispatch.def | 73 --- configdefinitions/src/vespa/filereferences.def | 3 - configdefinitions/src/vespa/fleetcontroller.def | 183 -------- configdefinitions/src/vespa/ilscripts.def | 10 - configdefinitions/src/vespa/imported-fields.def | 11 - configdefinitions/src/vespa/indexschema.def | 25 - configdefinitions/src/vespa/lb-services.def | 20 - configdefinitions/src/vespa/load-type.def | 30 -- configdefinitions/src/vespa/logforwarder.def | 9 - .../src/vespa/messagetyperouteselectorpolicy.def | 11 - configdefinitions/src/vespa/model.def | 13 - configdefinitions/src/vespa/orchestrator.def | 5 - configdefinitions/src/vespa/persistence.def | 60 --- configdefinitions/src/vespa/rank-profiles.def | 12 - configdefinitions/src/vespa/routing-provider.def | 9 - configdefinitions/src/vespa/sentinel.def | 50 -- configdefinitions/src/vespa/slobroks.def | 13 - configdefinitions/src/vespa/specialtokens.def | 32 -- configdefinitions/src/vespa/stateserver.def | 5 - configdefinitions/src/vespa/stor-distribution.def | 70 --- configdefinitions/src/vespa/stor-filestor.def | 60 --- configdefinitions/src/vespa/summary.def | 8 - configdefinitions/src/vespa/summarymap.def | 15 - configdefinitions/src/vespa/upgrading.def | 24 - ...a.config.content.all-clusters-bucket-spaces.def | 9 + .../vespa.config.content.core.bucketspaces.def | 12 + .../vespa/vespa.config.content.fleetcontroller.def | 183 ++++++++ .../src/vespa/vespa.config.content.load-type.def | 30 ++ ...nfig.content.messagetyperouteselectorpolicy.def | 11 + .../src/vespa/vespa.config.content.persistence.def | 60 +++ .../vespa.config.content.stor-distribution.def | 70 +++ .../vespa/vespa.config.content.stor-filestor.def | 60 +++ .../src/vespa/vespa.config.content.upgrading.def | 24 + .../src/vespa/vespa.config.core.stateserver.def | 5 + .../src/vespa/vespa.config.search.attributes.def | 45 ++ .../src/vespa/vespa.config.search.dispatch.def | 73 +++ .../vespa/vespa.config.search.imported-fields.def | 11 + .../src/vespa/vespa.config.search.indexschema.def | 25 + .../vespa/vespa.config.search.rank-profiles.def | 12 + .../src/vespa/vespa.config.search.summary.def | 8 + .../src/vespa/vespa.config.search.summarymap.def | 15 + .../src/vespa/vespa.configdefinition.ilscripts.def | 10 + .../vespa/vespa.configdefinition.specialtokens.def | 32 ++ ...viderservice.config.athenz-provider-service.def | 29 ++ .../vespa.orchestrator.config.orchestrator.def | 5 + configdefinitions/src/vespa/ymon.def | 6 - configdefinitions/src/vespa/zookeeper-server.def | 45 -- configdefinitions/src/vespa/zookeepers.def | 3 - configgen/src/test/resources/allfeatures.def | 79 ---- configgen/src/test/resources/bar.foo.def | 3 - configgen/src/test/resources/baz.bar.foo.def | 3 + .../src/test/resources/configgen.allfeatures.def | 79 ++++ .../test/apps/serverdb/serverdefs/attributes.def | 7 - .../apps/serverdb/serverdefs/config.attributes.def | 7 + .../zkfeed/configdefinitions/a.b.a.b.test2.def | 3 + .../apps/zkfeed/configdefinitions/a.b.test2.def | 3 - .../src/test/resources/configdefinitions/app.def | 8 - .../resources/configdefinitions/config.app.def | 8 + .../resources/configdefinitions/config.md5test.def | 25 + .../configdefinitions/config.simpletypes.def | 11 + .../test/resources/configdefinitions/md5test.def | 25 - .../resources/configdefinitions/simpletypes.def | 11 - container-accesslogging/CMakeLists.txt | 2 +- .../resources/configdefinitions/access-log.def | 17 - .../container.core.access-log.def | 17 + container-core/CMakeLists.txt | 18 +- .../configdefinitions/application-metadata.def | 22 - .../configdefinitions/container-document.def | 11 - .../resources/configdefinitions/container-http.def | 8 - .../configdefinitions/container-threadpool.def | 25 - .../container.core.application-metadata.def | 22 + .../container.core.container-http.def | 8 + .../container.core.document.container-document.def | 11 + .../container.core.http.http-filter.def | 8 + .../container.core.identity.identity.def | 12 + .../container.core.log-handler.def | 9 + .../container.core.vip-status.def | 12 + ...container.handler.metrics.metrics-proxy-api.def | 8 + .../container.handler.test.mockservice.def | 5 + ...ner.handler.threadpool.container-threadpool.def | 25 + .../container.handler.threadpool.def | 27 ++ .../container.jdisc.config.health-monitor.def | 9 + ...ntainer.jdisc.state.metrics-packets-handler.def | 6 + .../configdefinitions/container.qr-searchers.def | 73 +++ .../resources/configdefinitions/container.qr.def | 27 ++ .../container.servlet.servlet-config.def | 4 + .../resources/configdefinitions/health-monitor.def | 9 - .../resources/configdefinitions/http-filter.def | 8 - .../main/resources/configdefinitions/identity.def | 12 - .../resources/configdefinitions/log-handler.def | 9 - .../configdefinitions/metrics-packets-handler.def | 6 - .../configdefinitions/metrics-presentation.def | 7 - .../configdefinitions/metrics-proxy-api.def | 8 - .../metrics.metrics-presentation.def | 7 + .../resources/configdefinitions/mockservice.def | 5 - .../resources/configdefinitions/qr-searchers.def | 73 --- .../src/main/resources/configdefinitions/qr.def | 27 -- .../resources/configdefinitions/servlet-config.def | 4 - .../resources/configdefinitions/threadpool.def | 27 -- .../resources/configdefinitions/vip-status.def | 12 - .../src/test/vespa-configdef/config.core.int.def | 5 + .../test/vespa-configdef/config.core.string.def | 5 + container-core/src/test/vespa-configdef/int.def | 5 - container-core/src/test/vespa-configdef/string.def | 5 - container-di/CMakeLists.txt | 7 +- .../main/resources/configdefinitions/bundles.def | 5 - .../resources/configdefinitions/components.def | 23 - .../configdefinitions/container.bundles.def | 5 + .../configdefinitions/container.components.def | 23 + .../container.di.config.jersey-bundles.def | 8 + .../container.di.config.jersey-injection.def | 5 + .../resources/configdefinitions/jersey-bundles.def | 8 - .../configdefinitions/jersey-injection.def | 5 - .../src/test/vespa-configdef/bootstrap1.def | 4 - .../src/test/vespa-configdef/bootstrap2.def | 5 - .../src/test/vespa-configdef/components1.def | 4 - .../src/test/vespa-configdef/config.di.int.def | 5 + .../src/test/vespa-configdef/config.di.string.def | 5 + .../vespa-configdef/config.test.bootstrap1.def | 4 + .../vespa-configdef/config.test.bootstrap2.def | 5 + .../vespa-configdef/config.test.components1.def | 4 + .../src/test/vespa-configdef/config.test.test.def | 5 + .../src/test/vespa-configdef/config.test.test2.def | 5 + .../vespa-configdef/config.test.thread-pool.def | 5 + container-di/src/test/vespa-configdef/int.def | 5 - container-di/src/test/vespa-configdef/string.def | 5 - container-di/src/test/vespa-configdef/test.def | 5 - container-di/src/test/vespa-configdef/test2.def | 5 - .../src/test/vespa-configdef/thread-pool.def | 5 - container-disc/CMakeLists.txt | 4 +- .../container.config.jersey.jersey-connection.def | 7 + ...container.config.jersey.jersey-web-app-pool.def | 8 + .../container.jdisc.jdisc-bindings.def | 5 + .../resources/configdefinitions/jdisc-bindings.def | 5 - .../configdefinitions/jersey-connection.def | 7 - .../configdefinitions/jersey-web-app-pool.def | 8 - container-messagebus/CMakeLists.txt | 3 +- .../resources/configdefinitions/container-mbus.def | 34 -- .../container.jdisc.config.session.def | 6 + .../container.jdisc.container-mbus.def | 34 ++ .../main/resources/configdefinitions/session.def | 6 - container-search-and-docproc/CMakeLists.txt | 2 +- .../configdefinitions/application-userdata.def | 8 - ....handler.observability.application-userdata.def | 8 + container-search/CMakeLists.txt | 24 +- .../main/resources/configdefinitions/cluster.def | 28 -- .../configdefinitions/container.search.fs4.def | 5 + .../configdefinitions/documentdb-info.def | 21 - .../main/resources/configdefinitions/emulation.def | 8 - .../resources/configdefinitions/federation.def | 17 - .../src/main/resources/configdefinitions/fs4.def | 5 - .../resources/configdefinitions/index-info.def | 16 - .../main/resources/configdefinitions/keyvalue.def | 20 - .../resources/configdefinitions/lowercasing.def | 4 - .../resources/configdefinitions/measure-qps.def | 16 - .../resources/configdefinitions/page-templates.def | 5 - .../prelude.cluster.qr-monitor.def | 6 + .../configdefinitions/prelude.emulation.def | 8 + .../prelude.fastsearch.documentdb-info.def | 21 + .../prelude.searcher.keyvalue.def | 20 + .../prelude.searcher.qr-quotetable.def | 7 + .../prelude.semantics.semantic-rules.def | 22 + .../main/resources/configdefinitions/provider.def | 43 -- .../resources/configdefinitions/qr-monitor.def | 6 - .../resources/configdefinitions/qr-quotetable.def | 7 - .../main/resources/configdefinitions/qr-start.def | 50 -- .../resources/configdefinitions/query-profiles.def | 93 ---- .../resources/configdefinitions/rate-limiting.def | 19 - .../main/resources/configdefinitions/resolvers.def | 16 - .../main/resources/configdefinitions/rewrites.def | 5 - .../search-with-renderer-handler.def | 4 - .../configdefinitions/search.config.cluster.def | 28 ++ .../configdefinitions/search.config.index-info.def | 16 + .../configdefinitions/search.config.qr-start.def | 50 ++ .../search.config.rate-limiting.def | 19 + .../search.federation.federation.def | 17 + .../search.federation.provider.def | 43 ++ .../search.federation.searchchain-forward.def | 8 + .../search.federation.strict-contracts.def | 20 + ...search.handler.search-with-renderer-handler.def | 4 + .../search.pagetemplates.page-templates.def | 5 + .../search.pagetemplates.resolvers.def | 16 + .../search.query.profile.config.query-profiles.def | 93 ++++ .../search.query.rewrite.rewrites.def | 5 + .../search.querytransform.lowercasing.def | 4 + .../search.statistics.measure-qps.def | 16 + .../search.statistics.timing-searcher.def | 7 + .../configdefinitions/searchchain-forward.def | 8 - .../resources/configdefinitions/semantic-rules.def | 22 - .../configdefinitions/strict-contracts.def | 20 - .../configdefinitions/timing-searcher.def | 7 - .../src/test/vespa-configdef/config.search.int.def | 5 + .../test/vespa-configdef/config.search.string.def | 5 + container-search/src/test/vespa-configdef/int.def | 5 - .../src/test/vespa-configdef/string.def | 5 - .../main/resources/configdefinitions/athenz.def | 15 - .../resources/configdefinitions/controller.def | 7 - .../resources/configdefinitions/maintainer.def | 4 - .../configdefinitions/maven-repository.def | 15 - .../main/resources/configdefinitions/rotations.def | 4 - .../src/main/resources/configdefinitions/tls.def | 9 - ...espa.hosted.controller.athenz.config.athenz.def | 15 + .../vespa.hosted.controller.config.controller.def | 7 + ...ed.controller.maintenance.config.maintainer.def | 4 + ...er.maven.repository.config.maven-repository.def | 15 + .../vespa.hosted.controller.tls.config.tls.def | 9 + .../vespa.hosted.rotation.config.rotations.def | 4 + docproc/CMakeLists.txt | 4 +- .../configdefinitions/config.docproc.docproc.def | 14 + .../config.docproc.schemamapping.def | 19 + ....docproc.splitter-joiner-document-processor.def | 11 + .../main/resources/configdefinitions/docproc.def | 14 - .../resources/configdefinitions/schemamapping.def | 19 - .../splitter-joiner-document-processor.def | 11 - .../test/vespa-configdef/config.docproc.string.def | 4 + docproc/src/test/vespa-configdef/string.def | 4 - document/src/vespa/document/config/CMakeLists.txt | 6 +- .../config/document.config.documentmanager.def | 106 +++++ .../document/config/document.documenttypes.def | 109 +++++ .../src/vespa/document/config/documentmanager.def | 106 ----- .../src/vespa/document/config/documenttypes.def | 109 ----- ...agebus.protocol.documentrouteselectorpolicy.def | 11 + .../documentrouteselectorpolicy.def | 11 - .../documentapi/messagebus/policies/CMakeLists.txt | 4 +- fileacquirer/CMakeLists.txt | 2 +- ....config.filedistribution.filedistributorrpc.def | 3 + .../configdefinitions/filedistributorrpc.def | 3 - ....config.filedistribution.filedistributorrpc.def | 1 + .../src/vespa/fileacquirer/filedistributorrpc.def | 1 - functions.cmake | 2 +- jdisc-security-filters/CMakeLists.txt | 2 +- .../athenz-authorization-filter.def | 8 - .../configdefinitions/athenz-principal-filter.def | 5 - .../resources/configdefinitions/cors-filter.def | 4 - ...security.athenz.athenz-authorization-filter.def | 8 + ...ter.security.athenz.athenz-principal-filter.def | 5 + ...urity.athenz.static-request-resource-mapper.def | 8 + ...jdisc.http.filter.security.cors.cors-filter.def | 4 + .../static-request-resource-mapper.def | 8 - jdisc_http_service/CMakeLists.txt | 6 +- .../jdisc.http.client.http-client.def | 36 -- ...c.http.client.jdisc.http.client.http-client.def | 36 ++ .../configdefinitions/jdisc.http.connector.def | 123 ----- .../jdisc.http.jdisc.http.connector.def | 123 +++++ .../jdisc.http.jdisc.http.server.def | 46 ++ .../jdisc.http.jdisc.http.servlet-paths.def | 5 + .../configdefinitions/jdisc.http.server.def | 46 -- .../configdefinitions/jdisc.http.servlet-paths.def | 5 - linguistics/CMakeLists.txt | 2 +- .../language.opennlp.opennlp-linguistics.def | 6 + .../configdefinitions/opennlp-linguistics.def | 6 - logd/src/logd/CMakeLists.txt | 4 +- .../configdefinitions/cloud.config.log.logd.def | 44 ++ logd/src/main/resources/configdefinitions/logd.def | 44 -- messagebus/src/main/config/messagebus.def | 29 -- .../src/main/config/messagebus.messagebus.def | 29 ++ messagebus/src/vespa/messagebus/CMakeLists.txt | 4 +- metrics-proxy/CMakeLists.txt | 10 +- metrics/src/vespa/metrics/CMakeLists.txt | 4 +- .../src/vespa/metrics/metrics.metricsmanager.def | 63 +++ metrics/src/vespa/metrics/metricsmanager.def | 63 --- .../src/apps/verify_ranksetup/verify-ranksetup.def | 5 - .../vespa.config.search.core.verify-ranksetup.def | 5 + .../documentdb/fileconfigmanager/config.mycfg.def | 4 + .../proton/documentdb/fileconfigmanager/mycfg.def | 4 - .../src/vespa/searchcore/config/CMakeLists.txt | 16 +- .../src/vespa/searchcore/config/fdispatchrc.def | 5 - searchcore/src/vespa/searchcore/config/hwinfo.def | 8 - .../src/vespa/searchcore/config/onnx-models.def | 5 - searchcore/src/vespa/searchcore/config/proton.def | 502 --------------------- .../vespa/searchcore/config/ranking-constants.def | 6 - .../vespa.config.search.core.fdispatchrc.def | 5 + .../config/vespa.config.search.core.hwinfo.def | 8 + .../vespa.config.search.core.onnx-models.def | 5 + .../config/vespa.config.search.core.proton.def | 502 +++++++++++++++++++++ .../vespa.config.search.core.ranking-constants.def | 6 + .../src/vespa/searchlib/config/CMakeLists.txt | 5 +- .../searchlib/config/searchlib.translogserver.def | 38 ++ .../src/vespa/searchlib/config/translogserver.def | 38 -- .../src/vespa/searchsummary/config/CMakeLists.txt | 5 +- .../src/vespa/searchsummary/config/juniperrc.def | 79 ---- .../vespa.config.search.summary.juniperrc.def | 79 ++++ simplemetrics/CMakeLists.txt | 2 +- .../main/resources/configdefinitions/manager.def | 5 - .../configdefinitions/metrics.manager.def | 5 + statistics/CMakeLists.txt | 2 +- .../configdefinitions/container.statistics.def | 22 + .../resources/configdefinitions/statistics.def | 22 - storage/src/vespa/storage/bucketdb/CMakeLists.txt | 8 +- .../vespa/storage/bucketdb/stor-bucket-init.def | 35 -- .../src/vespa/storage/bucketdb/stor-bucketdb.def | 9 - .../vespa.config.content.core.stor-bucket-init.def | 35 ++ .../vespa.config.content.core.stor-bucketdb.def | 9 + storage/src/vespa/storage/config/CMakeLists.txt | 38 +- storage/src/vespa/storage/config/rpc-provider.def | 4 - storage/src/vespa/storage/config/stor-bouncer.def | 30 -- .../src/vespa/storage/config/stor-bucketmover.def | 37 -- .../storage/config/stor-communicationmanager.def | 57 --- .../storage/config/stor-distributormanager.def | 246 ---------- .../vespa/storage/config/stor-integritychecker.def | 38 -- .../vespa/storage/config/stor-messageforwarder.def | 4 - .../src/vespa/storage/config/stor-opslogger.def | 4 - .../vespa/storage/config/stor-prioritymapping.def | 20 - storage/src/vespa/storage/config/stor-server.def | 90 ---- storage/src/vespa/storage/config/stor-status.def | 4 - .../storage/config/stor-visitordispatcher.def | 19 - .../vespa.config.content.core.rpc-provider.def | 4 + .../vespa.config.content.core.stor-bouncer.def | 30 ++ .../vespa.config.content.core.stor-bucketmover.def | 37 ++ ...nfig.content.core.stor-communicationmanager.def | 57 +++ ...config.content.core.stor-distributormanager.def | 246 ++++++++++ ...a.config.content.core.stor-integritychecker.def | 38 ++ ...a.config.content.core.stor-messageforwarder.def | 4 + .../vespa.config.content.core.stor-opslogger.def | 4 + ...pa.config.content.core.stor-prioritymapping.def | 20 + .../vespa.config.content.core.stor-server.def | 90 ++++ .../vespa.config.content.core.stor-status.def | 4 + ....config.content.core.stor-visitordispatcher.def | 19 + storage/src/vespa/storage/visiting/CMakeLists.txt | 5 +- .../src/vespa/storage/visiting/stor-visitor.def | 63 --- .../vespa.config.content.core.stor-visitor.def | 63 +++ .../resources/configdefinitions/sia-provider.def | 9 - .../vespa.athenz.identity.sia-provider.def | 9 + vespa-osgi-testrunner/CMakeLists.txt | 2 +- vespa-testrunner-components/CMakeLists.txt | 2 +- vespaclient-core/CMakeLists.txt | 2 +- .../main/resources/configdefinitions/feeder.def | 48 -- .../vespaclient.config.feeder.def | 48 ++ vsm/src/vespa/vsm/config/CMakeLists.txt | 10 +- .../vsm/config/vespa.config.search.vsm.vsm.def | 13 + .../config/vespa.config.search.vsm.vsmfields.def | 31 ++ .../config/vespa.config.search.vsm.vsmsummary.def | 21 + vsm/src/vespa/vsm/config/vsm.def | 13 - vsm/src/vespa/vsm/config/vsmfields.def | 31 -- vsm/src/vespa/vsm/config/vsmsummary.def | 21 - 497 files changed, 6004 insertions(+), 6110 deletions(-) create mode 100644 application/src/test/resources/configdefinitions/application.mock-application.def delete mode 100644 application/src/test/resources/configdefinitions/mock-application.def create mode 100644 bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/example.test.def delete mode 100644 bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/test.def delete mode 100644 chain/src/main/resources/configdefinitions/chains.def create mode 100644 chain/src/main/resources/configdefinitions/container.core.chains.def delete mode 100644 config-lib/src/test/resources/configdefinitions/app.def create mode 100644 config-lib/src/test/resources/configdefinitions/foo.maptypes.def create mode 100644 config-lib/src/test/resources/configdefinitions/foo.structtypes.def delete mode 100644 config-lib/src/test/resources/configdefinitions/function-test.def delete mode 100755 config-lib/src/test/resources/configdefinitions/int.def delete mode 100644 config-lib/src/test/resources/configdefinitions/maptypes.def create mode 100644 config-lib/src/test/resources/configdefinitions/my.namespace.namespace-and-package.def create mode 100644 config-lib/src/test/resources/configdefinitions/my.namespace.namespace.def delete mode 100644 config-lib/src/test/resources/configdefinitions/namespace-and-package.def delete mode 100644 config-lib/src/test/resources/configdefinitions/namespace.def delete mode 100755 config-lib/src/test/resources/configdefinitions/restart.def delete mode 100644 config-lib/src/test/resources/configdefinitions/structtypes.def create mode 100644 config-lib/src/test/resources/configdefinitions/test.app.def create mode 100644 config-lib/src/test/resources/configdefinitions/test.function-test.def create mode 100755 config-lib/src/test/resources/configdefinitions/test.int.def create mode 100755 config-lib/src/test/resources/configdefinitions/test.restart.def delete mode 100644 config-model/src/test/cfg/admin/userconfigs/function-test.def create mode 100644 config-model/src/test/cfg/admin/userconfigs/test.function-test.def delete mode 100644 config-model/src/test/cfg/application/classes/attributes.def create mode 100644 config-model/src/test/cfg/application/classes/vespa.config.search.attributes.def delete mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/bar.def delete mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/baz.def create mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/config.foo.def create mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/config.xyzzy.def delete mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/foo.def delete mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.foo.def create mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.qux.foo.def create mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.baz.def delete mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.def create mode 100644 config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.xyzzy.bar.def delete mode 100644 config-model/src/test/cfg/application/serverdefs/attributes.def create mode 100644 config-model/src/test/cfg/application/serverdefs/vespa.config.search.attributes.def delete mode 100644 config-model/src/test/derived/music/defs/attributes.def create mode 100644 config-model/src/test/derived/music/defs/document.config.documentmanager.def delete mode 100644 config-model/src/test/derived/music/defs/documentmanager.def delete mode 100644 config-model/src/test/derived/music/defs/extra.def delete mode 100644 config-model/src/test/derived/music/defs/ilscripts.def delete mode 100644 config-model/src/test/derived/music/defs/rank-profiles.def delete mode 100644 config-model/src/test/derived/music/defs/summarymap.def create mode 100644 config-model/src/test/derived/music/defs/test.extra.def create mode 100644 config-model/src/test/derived/music/defs/vespa.config.search.attributes.def create mode 100644 config-model/src/test/derived/music/defs/vespa.config.search.rank-profiles.def create mode 100644 config-model/src/test/derived/music/defs/vespa.config.search.summarymap.def create mode 100644 config-model/src/test/derived/music/defs/vespa.configdefinition.ilscripts.def delete mode 100644 config-model/src/test/derived/newrank/defs/attributes.def create mode 100644 config-model/src/test/derived/newrank/defs/document.config.documentmanager.def delete mode 100644 config-model/src/test/derived/newrank/defs/documentmanager.def delete mode 100644 config-model/src/test/derived/newrank/defs/extra.def delete mode 100644 config-model/src/test/derived/newrank/defs/ilscripts.def delete mode 100644 config-model/src/test/derived/newrank/defs/rank-profiles.def delete mode 100644 config-model/src/test/derived/newrank/defs/summarymap.def create mode 100644 config-model/src/test/derived/newrank/defs/test.extra.def create mode 100644 config-model/src/test/derived/newrank/defs/vespa.config.search.attributes.def create mode 100644 config-model/src/test/derived/newrank/defs/vespa.config.search.rank-profiles.def create mode 100644 config-model/src/test/derived/newrank/defs/vespa.config.search.summarymap.def create mode 100644 config-model/src/test/derived/newrank/defs/vespa.configdefinition.ilscripts.def delete mode 100644 config-model/src/test/resources/configdefinitions/anotherrestart.def delete mode 100644 config-model/src/test/resources/configdefinitions/arraytypes.def delete mode 100644 config-model/src/test/resources/configdefinitions/function-test.def delete mode 100644 config-model/src/test/resources/configdefinitions/nonrestart.def delete mode 100644 config-model/src/test/resources/configdefinitions/restart.def delete mode 100644 config-model/src/test/resources/configdefinitions/simpletypes.def delete mode 100644 config-model/src/test/resources/configdefinitions/standard.def create mode 100644 config-model/src/test/resources/configdefinitions/test.anotherrestart.def create mode 100644 config-model/src/test/resources/configdefinitions/test.arraytypes.def create mode 100644 config-model/src/test/resources/configdefinitions/test.function-test.def create mode 100644 config-model/src/test/resources/configdefinitions/test.nonrestart.def create mode 100644 config-model/src/test/resources/configdefinitions/test.restart.def create mode 100644 config-model/src/test/resources/configdefinitions/test.simpletypes.def create mode 100644 config-model/src/test/resources/configdefinitions/test.standard.def delete mode 100644 config-provisioning/src/main/resources/configdefinitions/cloud.def create mode 100644 config-provisioning/src/main/resources/configdefinitions/config.provisioning.cloud.def create mode 100644 config-provisioning/src/main/resources/configdefinitions/config.provisioning.flavors.def create mode 100644 config-provisioning/src/main/resources/configdefinitions/config.provisioning.node-repository.def delete mode 100644 config-provisioning/src/main/resources/configdefinitions/flavors.def delete mode 100644 config-provisioning/src/main/resources/configdefinitions/node-repository.def delete mode 100644 config/src/test/resources/configdefinitions/bar.def delete mode 100644 config/src/test/resources/configdefinitions/baz.def delete mode 100644 config/src/test/resources/configdefinitions/bootstrap.def create mode 100644 config/src/test/resources/configdefinitions/config.bar.def create mode 100644 config/src/test/resources/configdefinitions/config.baz.def create mode 100644 config/src/test/resources/configdefinitions/config.bootstrap.def create mode 100644 config/src/test/resources/configdefinitions/config.foo.def create mode 100644 config/src/test/resources/configdefinitions/config.foobar.def create mode 100644 config/src/test/resources/configdefinitions/config.foodefault.def create mode 100644 config/src/test/resources/configdefinitions/config.function-test.def create mode 100644 config/src/test/resources/configdefinitions/config.motd.def create mode 100644 config/src/test/resources/configdefinitions/config.my.def delete mode 100644 config/src/test/resources/configdefinitions/foo.def delete mode 100644 config/src/test/resources/configdefinitions/foobar.def delete mode 100644 config/src/test/resources/configdefinitions/foodefault.def delete mode 100644 config/src/test/resources/configdefinitions/function-test.def delete mode 100644 config/src/test/resources/configdefinitions/motd.def delete mode 100644 config/src/test/resources/configdefinitions/my.def delete mode 100644 config/src/test/resources/configs/def-files-nogen/foo.bar.app.def create mode 100644 config/src/test/resources/configs/def-files-nogen/mynamespace.foo.bar.app.def delete mode 100644 config/src/test/resources/configs/def-files/app.def delete mode 100644 config/src/test/resources/configs/def-files/arraytypes.def delete mode 100644 config/src/test/resources/configs/def-files/defaulttest.def create mode 100644 config/src/test/resources/configs/def-files/foo.app.def create mode 100644 config/src/test/resources/configs/def-files/foo.arraytypes.def create mode 100644 config/src/test/resources/configs/def-files/foo.defaulttest.def create mode 100644 config/src/test/resources/configs/def-files/foo.function-test.def create mode 100755 config/src/test/resources/configs/def-files/foo.int.def create mode 100644 config/src/test/resources/configs/def-files/foo.maptypes.def create mode 100644 config/src/test/resources/configs/def-files/foo.simpletypes.def create mode 100644 config/src/test/resources/configs/def-files/foo.specialtypes.def create mode 100755 config/src/test/resources/configs/def-files/foo.string.def create mode 100644 config/src/test/resources/configs/def-files/foo.structtypes.def create mode 100644 config/src/test/resources/configs/def-files/foo.test-nodefs.def create mode 100644 config/src/test/resources/configs/def-files/foo.test-nonstring.def create mode 100644 config/src/test/resources/configs/def-files/foo.test-reference.def create mode 100644 config/src/test/resources/configs/def-files/foo.testnamespace.def create mode 100644 config/src/test/resources/configs/def-files/foo.unicode.def delete mode 100644 config/src/test/resources/configs/def-files/function-test.def delete mode 100755 config/src/test/resources/configs/def-files/int.def delete mode 100644 config/src/test/resources/configs/def-files/maptypes.def create mode 100644 config/src/test/resources/configs/def-files/myproject.config.namespace.def delete mode 100644 config/src/test/resources/configs/def-files/namespace.def delete mode 100644 config/src/test/resources/configs/def-files/simpletypes.def delete mode 100644 config/src/test/resources/configs/def-files/specialtypes.def delete mode 100755 config/src/test/resources/configs/def-files/string.def delete mode 100644 config/src/test/resources/configs/def-files/structtypes.def delete mode 100644 config/src/test/resources/configs/def-files/test-nodefs.def delete mode 100644 config/src/test/resources/configs/def-files/test-nonstring.def delete mode 100644 config/src/test/resources/configs/def-files/test-reference.def delete mode 100644 config/src/test/resources/configs/def-files/testnamespace.def delete mode 100644 config/src/test/resources/configs/def-files/unicode.def create mode 100644 config_test/src/main/resources/configdefinitions/configtest.greeting.def delete mode 100644 config_test/src/main/resources/configdefinitions/greeting.def delete mode 100644 configdefinitions/src/vespa/all-clusters-bucket-spaces.def delete mode 100644 configdefinitions/src/vespa/application-id.def delete mode 100644 configdefinitions/src/vespa/athenz-provider-service.def delete mode 100644 configdefinitions/src/vespa/attributes.def delete mode 100644 configdefinitions/src/vespa/bucketspaces.def create mode 100644 configdefinitions/src/vespa/cloud.config.application-id.def create mode 100644 configdefinitions/src/vespa/cloud.config.cluster-info.def create mode 100644 configdefinitions/src/vespa/cloud.config.cluster-list.def create mode 100644 configdefinitions/src/vespa/cloud.config.configserver.def create mode 100644 configdefinitions/src/vespa/cloud.config.filedistribution.filereferences.def create mode 100644 configdefinitions/src/vespa/cloud.config.lb-services.def create mode 100644 configdefinitions/src/vespa/cloud.config.logforwarder.def create mode 100644 configdefinitions/src/vespa/cloud.config.model.def create mode 100755 configdefinitions/src/vespa/cloud.config.routing-provider.def create mode 100644 configdefinitions/src/vespa/cloud.config.sentinel.def create mode 100644 configdefinitions/src/vespa/cloud.config.slobroks.def create mode 100644 configdefinitions/src/vespa/cloud.config.ymon.def create mode 100644 configdefinitions/src/vespa/cloud.config.zookeeper-server.def create mode 100644 configdefinitions/src/vespa/cloud.config.zookeepers.def delete mode 100644 configdefinitions/src/vespa/cluster-info.def delete mode 100644 configdefinitions/src/vespa/cluster-list.def delete mode 100644 configdefinitions/src/vespa/configserver.def delete mode 100644 configdefinitions/src/vespa/dispatch.def delete mode 100644 configdefinitions/src/vespa/filereferences.def delete mode 100644 configdefinitions/src/vespa/fleetcontroller.def delete mode 100644 configdefinitions/src/vespa/ilscripts.def delete mode 100644 configdefinitions/src/vespa/imported-fields.def delete mode 100644 configdefinitions/src/vespa/indexschema.def delete mode 100644 configdefinitions/src/vespa/lb-services.def delete mode 100644 configdefinitions/src/vespa/load-type.def delete mode 100644 configdefinitions/src/vespa/logforwarder.def delete mode 100644 configdefinitions/src/vespa/messagetyperouteselectorpolicy.def delete mode 100644 configdefinitions/src/vespa/model.def delete mode 100644 configdefinitions/src/vespa/orchestrator.def delete mode 100644 configdefinitions/src/vespa/persistence.def delete mode 100644 configdefinitions/src/vespa/rank-profiles.def delete mode 100755 configdefinitions/src/vespa/routing-provider.def delete mode 100644 configdefinitions/src/vespa/sentinel.def delete mode 100644 configdefinitions/src/vespa/slobroks.def delete mode 100644 configdefinitions/src/vespa/specialtokens.def delete mode 100644 configdefinitions/src/vespa/stateserver.def delete mode 100644 configdefinitions/src/vespa/stor-distribution.def delete mode 100644 configdefinitions/src/vespa/stor-filestor.def delete mode 100644 configdefinitions/src/vespa/summary.def delete mode 100644 configdefinitions/src/vespa/summarymap.def delete mode 100644 configdefinitions/src/vespa/upgrading.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.all-clusters-bucket-spaces.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.core.bucketspaces.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.fleetcontroller.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.load-type.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.messagetyperouteselectorpolicy.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.persistence.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.stor-distribution.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.stor-filestor.def create mode 100644 configdefinitions/src/vespa/vespa.config.content.upgrading.def create mode 100644 configdefinitions/src/vespa/vespa.config.core.stateserver.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.attributes.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.dispatch.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.imported-fields.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.indexschema.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.rank-profiles.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.summary.def create mode 100644 configdefinitions/src/vespa/vespa.config.search.summarymap.def create mode 100644 configdefinitions/src/vespa/vespa.configdefinition.ilscripts.def create mode 100644 configdefinitions/src/vespa/vespa.configdefinition.specialtokens.def create mode 100644 configdefinitions/src/vespa/vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def create mode 100644 configdefinitions/src/vespa/vespa.orchestrator.config.orchestrator.def delete mode 100644 configdefinitions/src/vespa/ymon.def delete mode 100644 configdefinitions/src/vespa/zookeeper-server.def delete mode 100644 configdefinitions/src/vespa/zookeepers.def delete mode 100644 configgen/src/test/resources/allfeatures.def delete mode 100644 configgen/src/test/resources/bar.foo.def create mode 100644 configgen/src/test/resources/baz.bar.foo.def create mode 100644 configgen/src/test/resources/configgen.allfeatures.def delete mode 100644 configserver/src/test/apps/serverdb/serverdefs/attributes.def create mode 100644 configserver/src/test/apps/serverdb/serverdefs/config.attributes.def create mode 100644 configserver/src/test/apps/zkfeed/configdefinitions/a.b.a.b.test2.def delete mode 100644 configserver/src/test/apps/zkfeed/configdefinitions/a.b.test2.def delete mode 100644 configserver/src/test/resources/configdefinitions/app.def create mode 100644 configserver/src/test/resources/configdefinitions/config.app.def create mode 100644 configserver/src/test/resources/configdefinitions/config.md5test.def create mode 100644 configserver/src/test/resources/configdefinitions/config.simpletypes.def delete mode 100644 configserver/src/test/resources/configdefinitions/md5test.def delete mode 100644 configserver/src/test/resources/configdefinitions/simpletypes.def delete mode 100644 container-accesslogging/src/main/resources/configdefinitions/access-log.def create mode 100644 container-accesslogging/src/main/resources/configdefinitions/container.core.access-log.def delete mode 100644 container-core/src/main/resources/configdefinitions/application-metadata.def delete mode 100644 container-core/src/main/resources/configdefinitions/container-document.def delete mode 100644 container-core/src/main/resources/configdefinitions/container-http.def delete mode 100644 container-core/src/main/resources/configdefinitions/container-threadpool.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.application-metadata.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.container-http.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.document.container-document.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.http.http-filter.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.identity.identity.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.log-handler.def create mode 100644 container-core/src/main/resources/configdefinitions/container.core.vip-status.def create mode 100644 container-core/src/main/resources/configdefinitions/container.handler.metrics.metrics-proxy-api.def create mode 100644 container-core/src/main/resources/configdefinitions/container.handler.test.mockservice.def create mode 100644 container-core/src/main/resources/configdefinitions/container.handler.threadpool.container-threadpool.def create mode 100644 container-core/src/main/resources/configdefinitions/container.handler.threadpool.def create mode 100644 container-core/src/main/resources/configdefinitions/container.jdisc.config.health-monitor.def create mode 100644 container-core/src/main/resources/configdefinitions/container.jdisc.state.metrics-packets-handler.def create mode 100644 container-core/src/main/resources/configdefinitions/container.qr-searchers.def create mode 100644 container-core/src/main/resources/configdefinitions/container.qr.def create mode 100644 container-core/src/main/resources/configdefinitions/container.servlet.servlet-config.def delete mode 100644 container-core/src/main/resources/configdefinitions/health-monitor.def delete mode 100644 container-core/src/main/resources/configdefinitions/http-filter.def delete mode 100644 container-core/src/main/resources/configdefinitions/identity.def delete mode 100644 container-core/src/main/resources/configdefinitions/log-handler.def delete mode 100644 container-core/src/main/resources/configdefinitions/metrics-packets-handler.def delete mode 100644 container-core/src/main/resources/configdefinitions/metrics-presentation.def delete mode 100644 container-core/src/main/resources/configdefinitions/metrics-proxy-api.def create mode 100644 container-core/src/main/resources/configdefinitions/metrics.metrics-presentation.def delete mode 100644 container-core/src/main/resources/configdefinitions/mockservice.def delete mode 100644 container-core/src/main/resources/configdefinitions/qr-searchers.def delete mode 100644 container-core/src/main/resources/configdefinitions/qr.def delete mode 100644 container-core/src/main/resources/configdefinitions/servlet-config.def delete mode 100644 container-core/src/main/resources/configdefinitions/threadpool.def delete mode 100644 container-core/src/main/resources/configdefinitions/vip-status.def create mode 100644 container-core/src/test/vespa-configdef/config.core.int.def create mode 100644 container-core/src/test/vespa-configdef/config.core.string.def delete mode 100644 container-core/src/test/vespa-configdef/int.def delete mode 100644 container-core/src/test/vespa-configdef/string.def delete mode 100644 container-di/src/main/resources/configdefinitions/bundles.def delete mode 100644 container-di/src/main/resources/configdefinitions/components.def create mode 100644 container-di/src/main/resources/configdefinitions/container.bundles.def create mode 100644 container-di/src/main/resources/configdefinitions/container.components.def create mode 100644 container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def create mode 100644 container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def delete mode 100644 container-di/src/main/resources/configdefinitions/jersey-bundles.def delete mode 100644 container-di/src/main/resources/configdefinitions/jersey-injection.def delete mode 100644 container-di/src/test/vespa-configdef/bootstrap1.def delete mode 100644 container-di/src/test/vespa-configdef/bootstrap2.def delete mode 100644 container-di/src/test/vespa-configdef/components1.def create mode 100644 container-di/src/test/vespa-configdef/config.di.int.def create mode 100644 container-di/src/test/vespa-configdef/config.di.string.def create mode 100644 container-di/src/test/vespa-configdef/config.test.bootstrap1.def create mode 100644 container-di/src/test/vespa-configdef/config.test.bootstrap2.def create mode 100644 container-di/src/test/vespa-configdef/config.test.components1.def create mode 100644 container-di/src/test/vespa-configdef/config.test.test.def create mode 100644 container-di/src/test/vespa-configdef/config.test.test2.def create mode 100644 container-di/src/test/vespa-configdef/config.test.thread-pool.def delete mode 100644 container-di/src/test/vespa-configdef/int.def delete mode 100644 container-di/src/test/vespa-configdef/string.def delete mode 100644 container-di/src/test/vespa-configdef/test.def delete mode 100644 container-di/src/test/vespa-configdef/test2.def delete mode 100644 container-di/src/test/vespa-configdef/thread-pool.def create mode 100644 container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-connection.def create mode 100644 container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-web-app-pool.def create mode 100644 container-disc/src/main/resources/configdefinitions/container.jdisc.jdisc-bindings.def delete mode 100644 container-disc/src/main/resources/configdefinitions/jdisc-bindings.def delete mode 100644 container-disc/src/main/resources/configdefinitions/jersey-connection.def delete mode 100644 container-disc/src/main/resources/configdefinitions/jersey-web-app-pool.def delete mode 100644 container-messagebus/src/main/resources/configdefinitions/container-mbus.def create mode 100644 container-messagebus/src/main/resources/configdefinitions/container.jdisc.config.session.def create mode 100644 container-messagebus/src/main/resources/configdefinitions/container.jdisc.container-mbus.def delete mode 100644 container-messagebus/src/main/resources/configdefinitions/session.def delete mode 100644 container-search-and-docproc/src/main/resources/configdefinitions/application-userdata.def create mode 100644 container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def delete mode 100644 container-search/src/main/resources/configdefinitions/cluster.def create mode 100644 container-search/src/main/resources/configdefinitions/container.search.fs4.def delete mode 100644 container-search/src/main/resources/configdefinitions/documentdb-info.def delete mode 100644 container-search/src/main/resources/configdefinitions/emulation.def delete mode 100644 container-search/src/main/resources/configdefinitions/federation.def delete mode 100644 container-search/src/main/resources/configdefinitions/fs4.def delete mode 100644 container-search/src/main/resources/configdefinitions/index-info.def delete mode 100644 container-search/src/main/resources/configdefinitions/keyvalue.def delete mode 100644 container-search/src/main/resources/configdefinitions/lowercasing.def delete mode 100644 container-search/src/main/resources/configdefinitions/measure-qps.def delete mode 100644 container-search/src/main/resources/configdefinitions/page-templates.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.cluster.qr-monitor.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.emulation.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.fastsearch.documentdb-info.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.searcher.keyvalue.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.searcher.qr-quotetable.def create mode 100644 container-search/src/main/resources/configdefinitions/prelude.semantics.semantic-rules.def delete mode 100644 container-search/src/main/resources/configdefinitions/provider.def delete mode 100644 container-search/src/main/resources/configdefinitions/qr-monitor.def delete mode 100644 container-search/src/main/resources/configdefinitions/qr-quotetable.def delete mode 100644 container-search/src/main/resources/configdefinitions/qr-start.def delete mode 100644 container-search/src/main/resources/configdefinitions/query-profiles.def delete mode 100644 container-search/src/main/resources/configdefinitions/rate-limiting.def delete mode 100644 container-search/src/main/resources/configdefinitions/resolvers.def delete mode 100644 container-search/src/main/resources/configdefinitions/rewrites.def delete mode 100644 container-search/src/main/resources/configdefinitions/search-with-renderer-handler.def create mode 100644 container-search/src/main/resources/configdefinitions/search.config.cluster.def create mode 100644 container-search/src/main/resources/configdefinitions/search.config.index-info.def create mode 100644 container-search/src/main/resources/configdefinitions/search.config.qr-start.def create mode 100644 container-search/src/main/resources/configdefinitions/search.config.rate-limiting.def create mode 100644 container-search/src/main/resources/configdefinitions/search.federation.federation.def create mode 100644 container-search/src/main/resources/configdefinitions/search.federation.provider.def create mode 100644 container-search/src/main/resources/configdefinitions/search.federation.searchchain-forward.def create mode 100644 container-search/src/main/resources/configdefinitions/search.federation.strict-contracts.def create mode 100644 container-search/src/main/resources/configdefinitions/search.handler.search-with-renderer-handler.def create mode 100644 container-search/src/main/resources/configdefinitions/search.pagetemplates.page-templates.def create mode 100644 container-search/src/main/resources/configdefinitions/search.pagetemplates.resolvers.def create mode 100644 container-search/src/main/resources/configdefinitions/search.query.profile.config.query-profiles.def create mode 100644 container-search/src/main/resources/configdefinitions/search.query.rewrite.rewrites.def create mode 100644 container-search/src/main/resources/configdefinitions/search.querytransform.lowercasing.def create mode 100644 container-search/src/main/resources/configdefinitions/search.statistics.measure-qps.def create mode 100644 container-search/src/main/resources/configdefinitions/search.statistics.timing-searcher.def delete mode 100644 container-search/src/main/resources/configdefinitions/searchchain-forward.def delete mode 100644 container-search/src/main/resources/configdefinitions/semantic-rules.def delete mode 100644 container-search/src/main/resources/configdefinitions/strict-contracts.def delete mode 100644 container-search/src/main/resources/configdefinitions/timing-searcher.def create mode 100644 container-search/src/test/vespa-configdef/config.search.int.def create mode 100644 container-search/src/test/vespa-configdef/config.search.string.def delete mode 100644 container-search/src/test/vespa-configdef/int.def delete mode 100644 container-search/src/test/vespa-configdef/string.def delete mode 100644 controller-server/src/main/resources/configdefinitions/athenz.def delete mode 100644 controller-server/src/main/resources/configdefinitions/controller.def delete mode 100644 controller-server/src/main/resources/configdefinitions/maintainer.def delete mode 100644 controller-server/src/main/resources/configdefinitions/maven-repository.def delete mode 100644 controller-server/src/main/resources/configdefinitions/rotations.def delete mode 100644 controller-server/src/main/resources/configdefinitions/tls.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.athenz.config.athenz.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.config.controller.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maintenance.config.maintainer.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maven.repository.config.maven-repository.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.tls.config.tls.def create mode 100644 controller-server/src/main/resources/configdefinitions/vespa.hosted.rotation.config.rotations.def create mode 100644 docproc/src/main/resources/configdefinitions/config.docproc.docproc.def create mode 100644 docproc/src/main/resources/configdefinitions/config.docproc.schemamapping.def create mode 100644 docproc/src/main/resources/configdefinitions/config.docproc.splitter-joiner-document-processor.def delete mode 100644 docproc/src/main/resources/configdefinitions/docproc.def delete mode 100644 docproc/src/main/resources/configdefinitions/schemamapping.def delete mode 100644 docproc/src/main/resources/configdefinitions/splitter-joiner-document-processor.def create mode 100644 docproc/src/test/vespa-configdef/config.docproc.string.def delete mode 100644 docproc/src/test/vespa-configdef/string.def create mode 100644 document/src/vespa/document/config/document.config.documentmanager.def create mode 100644 document/src/vespa/document/config/document.documenttypes.def delete mode 100644 document/src/vespa/document/config/documentmanager.def delete mode 100644 document/src/vespa/document/config/documenttypes.def create mode 100644 documentapi/src/main/resources/configdefinitions/documentapi.messagebus.protocol.documentrouteselectorpolicy.def delete mode 100644 documentapi/src/main/resources/configdefinitions/documentrouteselectorpolicy.def create mode 100644 fileacquirer/src/main/resources/configdefinitions/cloud.config.filedistribution.filedistributorrpc.def delete mode 100644 fileacquirer/src/main/resources/configdefinitions/filedistributorrpc.def create mode 120000 fileacquirer/src/vespa/fileacquirer/cloud.config.filedistribution.filedistributorrpc.def delete mode 120000 fileacquirer/src/vespa/fileacquirer/filedistributorrpc.def delete mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/athenz-authorization-filter.def delete mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/athenz-principal-filter.def delete mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/cors-filter.def create mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-authorization-filter.def create mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-principal-filter.def create mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.static-request-resource-mapper.def create mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.cors.cors-filter.def delete mode 100644 jdisc-security-filters/src/main/resources/configdefinitions/static-request-resource-mapper.def delete mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.http-client.def create mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def delete mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def create mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def create mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def create mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def delete mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def delete mode 100644 jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.servlet-paths.def create mode 100644 linguistics/src/main/resources/configdefinitions/language.opennlp.opennlp-linguistics.def delete mode 100644 linguistics/src/main/resources/configdefinitions/opennlp-linguistics.def create mode 100644 logd/src/main/resources/configdefinitions/cloud.config.log.logd.def delete mode 100644 logd/src/main/resources/configdefinitions/logd.def delete mode 100644 messagebus/src/main/config/messagebus.def create mode 100644 messagebus/src/main/config/messagebus.messagebus.def create mode 100644 metrics/src/vespa/metrics/metrics.metricsmanager.def delete mode 100644 metrics/src/vespa/metrics/metricsmanager.def delete mode 100644 searchcore/src/apps/verify_ranksetup/verify-ranksetup.def create mode 100644 searchcore/src/apps/verify_ranksetup/vespa.config.search.core.verify-ranksetup.def create mode 100644 searchcore/src/tests/proton/documentdb/fileconfigmanager/config.mycfg.def delete mode 100644 searchcore/src/tests/proton/documentdb/fileconfigmanager/mycfg.def delete mode 100644 searchcore/src/vespa/searchcore/config/fdispatchrc.def delete mode 100644 searchcore/src/vespa/searchcore/config/hwinfo.def delete mode 100644 searchcore/src/vespa/searchcore/config/onnx-models.def delete mode 100644 searchcore/src/vespa/searchcore/config/proton.def delete mode 100644 searchcore/src/vespa/searchcore/config/ranking-constants.def create mode 100644 searchcore/src/vespa/searchcore/config/vespa.config.search.core.fdispatchrc.def create mode 100644 searchcore/src/vespa/searchcore/config/vespa.config.search.core.hwinfo.def create mode 100644 searchcore/src/vespa/searchcore/config/vespa.config.search.core.onnx-models.def create mode 100644 searchcore/src/vespa/searchcore/config/vespa.config.search.core.proton.def create mode 100644 searchcore/src/vespa/searchcore/config/vespa.config.search.core.ranking-constants.def create mode 100644 searchlib/src/vespa/searchlib/config/searchlib.translogserver.def delete mode 100644 searchlib/src/vespa/searchlib/config/translogserver.def delete mode 100644 searchsummary/src/vespa/searchsummary/config/juniperrc.def create mode 100644 searchsummary/src/vespa/searchsummary/config/vespa.config.search.summary.juniperrc.def delete mode 100644 simplemetrics/src/main/resources/configdefinitions/manager.def create mode 100644 simplemetrics/src/main/resources/configdefinitions/metrics.manager.def create mode 100644 statistics/src/main/resources/configdefinitions/container.statistics.def delete mode 100644 statistics/src/main/resources/configdefinitions/statistics.def delete mode 100644 storage/src/vespa/storage/bucketdb/stor-bucket-init.def delete mode 100644 storage/src/vespa/storage/bucketdb/stor-bucketdb.def create mode 100644 storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucket-init.def create mode 100644 storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucketdb.def delete mode 100644 storage/src/vespa/storage/config/rpc-provider.def delete mode 100644 storage/src/vespa/storage/config/stor-bouncer.def delete mode 100644 storage/src/vespa/storage/config/stor-bucketmover.def delete mode 100644 storage/src/vespa/storage/config/stor-communicationmanager.def delete mode 100644 storage/src/vespa/storage/config/stor-distributormanager.def delete mode 100644 storage/src/vespa/storage/config/stor-integritychecker.def delete mode 100644 storage/src/vespa/storage/config/stor-messageforwarder.def delete mode 100644 storage/src/vespa/storage/config/stor-opslogger.def delete mode 100644 storage/src/vespa/storage/config/stor-prioritymapping.def delete mode 100644 storage/src/vespa/storage/config/stor-server.def delete mode 100644 storage/src/vespa/storage/config/stor-status.def delete mode 100644 storage/src/vespa/storage/config/stor-visitordispatcher.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.rpc-provider.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-bouncer.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-bucketmover.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-communicationmanager.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-distributormanager.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-integritychecker.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-messageforwarder.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-opslogger.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-prioritymapping.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-server.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-status.def create mode 100644 storage/src/vespa/storage/config/vespa.config.content.core.stor-visitordispatcher.def delete mode 100644 storage/src/vespa/storage/visiting/stor-visitor.def create mode 100644 storage/src/vespa/storage/visiting/vespa.config.content.core.stor-visitor.def delete mode 100644 vespa-athenz/src/main/resources/configdefinitions/sia-provider.def create mode 100644 vespa-athenz/src/main/resources/configdefinitions/vespa.athenz.identity.sia-provider.def delete mode 100644 vespaclient-core/src/main/resources/configdefinitions/feeder.def create mode 100644 vespaclient-core/src/main/resources/configdefinitions/vespaclient.config.feeder.def create mode 100644 vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsm.def create mode 100644 vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmfields.def create mode 100644 vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmsummary.def delete mode 100644 vsm/src/vespa/vsm/config/vsm.def delete mode 100644 vsm/src/vespa/vsm/config/vsmfields.def delete mode 100644 vsm/src/vespa/vsm/config/vsmsummary.def diff --git a/application/src/test/resources/configdefinitions/application.mock-application.def b/application/src/test/resources/configdefinitions/application.mock-application.def new file mode 100644 index 00000000000..fa3a48bae96 --- /dev/null +++ b/application/src/test/resources/configdefinitions/application.mock-application.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=application + +mystruct.id string +mystruct.value string +mystructlist[].id string +mystructlist[].value string +mylist[] string +mymap{} string +mymapstruct{}.id string +mymapstruct{}.value string diff --git a/application/src/test/resources/configdefinitions/mock-application.def b/application/src/test/resources/configdefinitions/mock-application.def deleted file mode 100644 index fa3a48bae96..00000000000 --- a/application/src/test/resources/configdefinitions/mock-application.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=application - -mystruct.id string -mystruct.value string -mystructlist[].id string -mystructlist[].value string -mylist[] string -mymap{} string -mymapstruct{}.id string -mymapstruct{}.value string diff --git a/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/example.test.def b/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/example.test.def new file mode 100644 index 00000000000..b4ba9ec518a --- /dev/null +++ b/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/example.test.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=example + +exampleKey string default="exampleValue" diff --git a/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/test.def b/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/test.def deleted file mode 100644 index b4ba9ec518a..00000000000 --- a/bundle-plugin-test/test-bundles/main/src/main/resources/configdefinitions/test.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=example - -exampleKey string default="exampleValue" diff --git a/chain/CMakeLists.txt b/chain/CMakeLists.txt index 3b5b5fd2c99..14909bc4ca1 100644 --- a/chain/CMakeLists.txt +++ b/chain/CMakeLists.txt @@ -1,2 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/chains.def container.core.chains.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/chain/src/main/resources/configdefinitions/chains.def b/chain/src/main/resources/configdefinitions/chains.def deleted file mode 100644 index 8520a8d6332..00000000000 --- a/chain/src/main/resources/configdefinitions/chains.def +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Chains configuration -namespace=container.core - -components[].id string - -# Configured functionality provided by this - comes in addition to those set in the code -components[].dependencies.provides[] string - -# Configured "before" dependencies provided by this - comes in addition to those set in the code -components[].dependencies.before[] string - -# Configured "after" dependencies provided by this - comes in addition to those set in the code -components[].dependencies.after[] string - -# The id of this chain. The id has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# The default chain must be called "default". -chains[].id string - -#The type of this chain -chains[].type enum {DOCPROC, SEARCH} default=SEARCH - -# The id of a component to include in this chain. -# The id has the form fullclassname(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -chains[].components[] string - -# The optional list of chain ids this inherits. -# The ids has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# If the version is not specified the newest version is used. -chains[].inherits[] string - -# The optional list of component ids to exclude from this chain even if they exists in inherited chains -# If versions are specified in these ids, they are ignored. -chains[].excludes[] string - -# The phases for a chain -chains[].phases[].id string -chains[].phases[].before[] string -chains[].phases[].after[] string diff --git a/chain/src/main/resources/configdefinitions/container.core.chains.def b/chain/src/main/resources/configdefinitions/container.core.chains.def new file mode 100644 index 00000000000..8520a8d6332 --- /dev/null +++ b/chain/src/main/resources/configdefinitions/container.core.chains.def @@ -0,0 +1,42 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Chains configuration +namespace=container.core + +components[].id string + +# Configured functionality provided by this - comes in addition to those set in the code +components[].dependencies.provides[] string + +# Configured "before" dependencies provided by this - comes in addition to those set in the code +components[].dependencies.before[] string + +# Configured "after" dependencies provided by this - comes in addition to those set in the code +components[].dependencies.after[] string + +# The id of this chain. The id has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# The default chain must be called "default". +chains[].id string + +#The type of this chain +chains[].type enum {DOCPROC, SEARCH} default=SEARCH + +# The id of a component to include in this chain. +# The id has the form fullclassname(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +chains[].components[] string + +# The optional list of chain ids this inherits. +# The ids has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# If the version is not specified the newest version is used. +chains[].inherits[] string + +# The optional list of component ids to exclude from this chain even if they exists in inherited chains +# If versions are specified in these ids, they are ignored. +chains[].excludes[] string + +# The phases for a chain +chains[].phases[].id string +chains[].phases[].before[] string +chains[].phases[].after[] string diff --git a/config-lib/src/test/resources/configdefinitions/app.def b/config-lib/src/test/resources/configdefinitions/app.def deleted file mode 100644 index 78388998ef3..00000000000 --- a/config-lib/src/test/resources/configdefinitions/app.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=test - -message string default="Hello!" - -times int default=1 - -a[].name string diff --git a/config-lib/src/test/resources/configdefinitions/foo.maptypes.def b/config-lib/src/test/resources/configdefinitions/foo.maptypes.def new file mode 100644 index 00000000000..0e39c7ccdb9 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/foo.maptypes.def @@ -0,0 +1,13 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only structs in various forms +namespace=foo + +boolmap{} bool +intmap{} int +longmap{} long +doublemap{} double +stringmap{} string +filemap{} file + +innermap{}.foo int +nestedmap{}.inner{} int diff --git a/config-lib/src/test/resources/configdefinitions/foo.structtypes.def b/config-lib/src/test/resources/configdefinitions/foo.structtypes.def new file mode 100644 index 00000000000..fe9d879fb64 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/foo.structtypes.def @@ -0,0 +1,21 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only structs in various forms +namespace=foo + +simple.name string default="_default_" +simple.gender enum { MALE, FEMALE } default=MALE +simple.emails[] string + +nested.inner.name string default="_default_" +nested.inner.gender enum { MALE, FEMALE } default=MALE +nested.inner.emails[] string + +simplearr[].name string +simplearr[].gender enum { MALE, FEMALE } + +nestedarr[].inner.name string +nestedarr[].inner.gender enum { MALE, FEMALE } +nestedarr[].inner.emails[] string + +complexarr[].innerarr[].name string +complexarr[].innerarr[].gender enum { MALE, FEMALE } diff --git a/config-lib/src/test/resources/configdefinitions/function-test.def b/config-lib/src/test/resources/configdefinitions/function-test.def deleted file mode 100644 index 73681d95544..00000000000 --- a/config-lib/src/test/resources/configdefinitions/function-test.def +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=test - -# Some random bool without a default value. These comments exist to check - # that comment parsing works. -bool_val bool restart - ## A bool with a default value set. -bool_with_def bool default=false restart -# An int value -# Also test that multiline comments -# work. -int_val int restart -int_with_def int default=-545 restart -long_val long restart -long_with_def long default=-50000000000 restart -double_val double restart -double_with_def double default=-6.43 restart -# Another comment -string_val string restart -stringwithdef string default="foobar" restart -enum_val enum { FOO, BAR, FOOBAR } restart -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 restart -onechoice enum { ONLYFOO } default=ONLYFOO restart -refval reference restart -refwithdef reference default=":parent:" restart -fileVal file restart -pathVal path restart -urlVal url - -boolarr[] bool restart -intarr[] int restart -longarr[] long restart -doublearr[] double restart -stringarr[] string restart -enumarr[] enum { ARRAY, VALUES } restart -refarr[] reference restart -fileArr[] file restart -pathArr[] path restart -urlArr[] url - -#This is a map of ints. -intMap{} int restart -stringMap{} string restart -filemap{} file restart -pathMap{} path restart -urlMap{} url - -# A basic struct -basicStruct.foo string default="basic" restart -basicStruct.bar int restart -basicStruct.intArr[] int restart - -# A struct of struct -rootStruct.inner0.name string default="inner0" restart -rootStruct.inner0.index int restart -rootStruct.inner1.name string default="inner1" restart -rootStruct.inner1.index int restart -rootStruct.innerArr[].boolVal bool default=false restart -rootStruct.innerArr[].stringVal string restart - -# This is my array -myarray[].intval int default=14 restart -myarray[].stringval[] string restart -myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE restart -myarray[].refval reference # Value in array without default restart -myarray[].fileVal file restart -myarray[].urlVal url -myarray[].anotherarray[].foo int default=-4 restart -myarray[].myStruct.a int restart -myarray[].myStruct.b int default=2 restart - -myStructMap{}.myInt int restart -myStructMap{}.myString string restart -myStructMap{}.myIntDef int default=56 restart -myStructMap{}.myStringDef string default="g" restart -myStructMap{}.anotherMap{}.anInt int restart -myStructMap{}.anotherMap{}.anIntDef int default=11 restart diff --git a/config-lib/src/test/resources/configdefinitions/int.def b/config-lib/src/test/resources/configdefinitions/int.def deleted file mode 100755 index ea29b911fc4..00000000000 --- a/config-lib/src/test/resources/configdefinitions/int.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=test - -intVal int default=1 diff --git a/config-lib/src/test/resources/configdefinitions/maptypes.def b/config-lib/src/test/resources/configdefinitions/maptypes.def deleted file mode 100644 index 0e39c7ccdb9..00000000000 --- a/config-lib/src/test/resources/configdefinitions/maptypes.def +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only structs in various forms -namespace=foo - -boolmap{} bool -intmap{} int -longmap{} long -doublemap{} double -stringmap{} string -filemap{} file - -innermap{}.foo int -nestedmap{}.inner{} int diff --git a/config-lib/src/test/resources/configdefinitions/my.namespace.namespace-and-package.def b/config-lib/src/test/resources/configdefinitions/my.namespace.namespace-and-package.def new file mode 100644 index 00000000000..4e61d25f05f --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/my.namespace.namespace-and-package.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=my.namespace + +package=com.github.myproject + +a int diff --git a/config-lib/src/test/resources/configdefinitions/my.namespace.namespace.def b/config-lib/src/test/resources/configdefinitions/my.namespace.namespace.def new file mode 100644 index 00000000000..b1406fc1bc4 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/my.namespace.namespace.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=my.namespace + +a int diff --git a/config-lib/src/test/resources/configdefinitions/namespace-and-package.def b/config-lib/src/test/resources/configdefinitions/namespace-and-package.def deleted file mode 100644 index 4e61d25f05f..00000000000 --- a/config-lib/src/test/resources/configdefinitions/namespace-and-package.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=my.namespace - -package=com.github.myproject - -a int diff --git a/config-lib/src/test/resources/configdefinitions/namespace.def b/config-lib/src/test/resources/configdefinitions/namespace.def deleted file mode 100644 index b1406fc1bc4..00000000000 --- a/config-lib/src/test/resources/configdefinitions/namespace.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=my.namespace - -a int diff --git a/config-lib/src/test/resources/configdefinitions/restart.def b/config-lib/src/test/resources/configdefinitions/restart.def deleted file mode 100755 index 4b28e5a5d95..00000000000 --- a/config-lib/src/test/resources/configdefinitions/restart.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=test - -intVal int default=1 restart diff --git a/config-lib/src/test/resources/configdefinitions/structtypes.def b/config-lib/src/test/resources/configdefinitions/structtypes.def deleted file mode 100644 index fe9d879fb64..00000000000 --- a/config-lib/src/test/resources/configdefinitions/structtypes.def +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only structs in various forms -namespace=foo - -simple.name string default="_default_" -simple.gender enum { MALE, FEMALE } default=MALE -simple.emails[] string - -nested.inner.name string default="_default_" -nested.inner.gender enum { MALE, FEMALE } default=MALE -nested.inner.emails[] string - -simplearr[].name string -simplearr[].gender enum { MALE, FEMALE } - -nestedarr[].inner.name string -nestedarr[].inner.gender enum { MALE, FEMALE } -nestedarr[].inner.emails[] string - -complexarr[].innerarr[].name string -complexarr[].innerarr[].gender enum { MALE, FEMALE } diff --git a/config-lib/src/test/resources/configdefinitions/test.app.def b/config-lib/src/test/resources/configdefinitions/test.app.def new file mode 100644 index 00000000000..78388998ef3 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/test.app.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test + +message string default="Hello!" + +times int default=1 + +a[].name string diff --git a/config-lib/src/test/resources/configdefinitions/test.function-test.def b/config-lib/src/test/resources/configdefinitions/test.function-test.def new file mode 100644 index 00000000000..73681d95544 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/test.function-test.def @@ -0,0 +1,96 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=test + +# Some random bool without a default value. These comments exist to check + # that comment parsing works. +bool_val bool restart + ## A bool with a default value set. +bool_with_def bool default=false restart +# An int value +# Also test that multiline comments +# work. +int_val int restart +int_with_def int default=-545 restart +long_val long restart +long_with_def long default=-50000000000 restart +double_val double restart +double_with_def double default=-6.43 restart +# Another comment +string_val string restart +stringwithdef string default="foobar" restart +enum_val enum { FOO, BAR, FOOBAR } restart +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 restart +onechoice enum { ONLYFOO } default=ONLYFOO restart +refval reference restart +refwithdef reference default=":parent:" restart +fileVal file restart +pathVal path restart +urlVal url + +boolarr[] bool restart +intarr[] int restart +longarr[] long restart +doublearr[] double restart +stringarr[] string restart +enumarr[] enum { ARRAY, VALUES } restart +refarr[] reference restart +fileArr[] file restart +pathArr[] path restart +urlArr[] url + +#This is a map of ints. +intMap{} int restart +stringMap{} string restart +filemap{} file restart +pathMap{} path restart +urlMap{} url + +# A basic struct +basicStruct.foo string default="basic" restart +basicStruct.bar int restart +basicStruct.intArr[] int restart + +# A struct of struct +rootStruct.inner0.name string default="inner0" restart +rootStruct.inner0.index int restart +rootStruct.inner1.name string default="inner1" restart +rootStruct.inner1.index int restart +rootStruct.innerArr[].boolVal bool default=false restart +rootStruct.innerArr[].stringVal string restart + +# This is my array +myarray[].intval int default=14 restart +myarray[].stringval[] string restart +myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE restart +myarray[].refval reference # Value in array without default restart +myarray[].fileVal file restart +myarray[].urlVal url +myarray[].anotherarray[].foo int default=-4 restart +myarray[].myStruct.a int restart +myarray[].myStruct.b int default=2 restart + +myStructMap{}.myInt int restart +myStructMap{}.myString string restart +myStructMap{}.myIntDef int default=56 restart +myStructMap{}.myStringDef string default="g" restart +myStructMap{}.anotherMap{}.anInt int restart +myStructMap{}.anotherMap{}.anIntDef int default=11 restart diff --git a/config-lib/src/test/resources/configdefinitions/test.int.def b/config-lib/src/test/resources/configdefinitions/test.int.def new file mode 100755 index 00000000000..ea29b911fc4 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/test.int.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test + +intVal int default=1 diff --git a/config-lib/src/test/resources/configdefinitions/test.restart.def b/config-lib/src/test/resources/configdefinitions/test.restart.def new file mode 100755 index 00000000000..4b28e5a5d95 --- /dev/null +++ b/config-lib/src/test/resources/configdefinitions/test.restart.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test + +intVal int default=1 restart diff --git a/config-model/src/test/cfg/admin/userconfigs/function-test.def b/config-model/src/test/cfg/admin/userconfigs/function-test.def deleted file mode 100644 index 86a110c3413..00000000000 --- a/config-model/src/test/cfg/admin/userconfigs/function-test.def +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=test - -# Some random bool without a default value. These comments exist to check - # that comment parsing works. -bool_val bool - ## A bool with a default value set. -bool_with_def bool default=false -int_val int -int_with_def int default=-545 -long_val long -long_with_def long default=-50000000000 -double_val double -double_with_def double default=-6.43 -# Another comment -string_val string -stringwithdef string default="foobar" -enum_val enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -onechoice enum { ONLYFOO } default=ONLYFOO -refval reference -refwithdef reference default=":parent:" -fileVal file - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -fileArr[] file - -# A basic struct -basicStruct.foo string default="basic" -basicStruct.bar int -basicStruct.intArr[] int - -# A struct of struct -rootStruct.inner0.name string default="inner0" -rootStruct.inner0.index int -rootStruct.inner1.name string default="inner1" -rootStruct.inner1.index int -rootStruct.innerArr[].boolVal bool default=false -rootStruct.innerArr[].stringVal string - -myarray[].intval int default=14 -myarray[].stringval[] string -myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE -myarray[].refval reference # Value in array without default -myarray[].fileVal file -myarray[].anotherarray[].foo int default=-4 -myarray[].myStruct.a int -myarray[].myStruct.b int default=2 diff --git a/config-model/src/test/cfg/admin/userconfigs/test.function-test.def b/config-model/src/test/cfg/admin/userconfigs/test.function-test.def new file mode 100644 index 00000000000..86a110c3413 --- /dev/null +++ b/config-model/src/test/cfg/admin/userconfigs/test.function-test.def @@ -0,0 +1,73 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=test + +# Some random bool without a default value. These comments exist to check + # that comment parsing works. +bool_val bool + ## A bool with a default value set. +bool_with_def bool default=false +int_val int +int_with_def int default=-545 +long_val long +long_with_def long default=-50000000000 +double_val double +double_with_def double default=-6.43 +# Another comment +string_val string +stringwithdef string default="foobar" +enum_val enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +onechoice enum { ONLYFOO } default=ONLYFOO +refval reference +refwithdef reference default=":parent:" +fileVal file + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +fileArr[] file + +# A basic struct +basicStruct.foo string default="basic" +basicStruct.bar int +basicStruct.intArr[] int + +# A struct of struct +rootStruct.inner0.name string default="inner0" +rootStruct.inner0.index int +rootStruct.inner1.name string default="inner1" +rootStruct.inner1.index int +rootStruct.innerArr[].boolVal bool default=false +rootStruct.innerArr[].stringVal string + +myarray[].intval int default=14 +myarray[].stringval[] string +myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE +myarray[].refval reference # Value in array without default +myarray[].fileVal file +myarray[].anotherarray[].foo int default=-4 +myarray[].myStruct.a int +myarray[].myStruct.b int default=2 diff --git a/config-model/src/test/cfg/application/classes/attributes.def b/config-model/src/test/cfg/application/classes/attributes.def deleted file mode 100644 index c8e51c391f7..00000000000 --- a/config-model/src/test/cfg/application/classes/attributes.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -attribute[].name string -attribute[].datatype string -attribute[].multivalue bool default=false -attribute[].sortsigned bool default=true -attribute[].disableprep bool default=false diff --git a/config-model/src/test/cfg/application/classes/vespa.config.search.attributes.def b/config-model/src/test/cfg/application/classes/vespa.config.search.attributes.def new file mode 100644 index 00000000000..c8e51c391f7 --- /dev/null +++ b/config-model/src/test/cfg/application/classes/vespa.config.search.attributes.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/bar.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/bar.def deleted file mode 100644 index e1d5e8341e7..00000000000 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/bar.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=xyzzy -bar int default="1" diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/baz.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/baz.def deleted file mode 100644 index c30d4b36ad3..00000000000 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/baz.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=xyzzy -bar int diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.foo.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.foo.def new file mode 100644 index 00000000000..c37aafd6fc4 --- /dev/null +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.foo.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config +bar int default=1 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.xyzzy.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.xyzzy.def new file mode 100644 index 00000000000..c37aafd6fc4 --- /dev/null +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/config.xyzzy.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config +bar int default=1 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/foo.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/foo.def deleted file mode 100644 index c37aafd6fc4..00000000000 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/foo.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config -bar int default=1 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.foo.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.foo.def deleted file mode 100644 index 1ff4daea194..00000000000 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.foo.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=qux -bar int default=2 -quux int default=3 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.qux.foo.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.qux.foo.def new file mode 100644 index 00000000000..1ff4daea194 --- /dev/null +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/qux.qux.foo.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=qux +bar int default=2 +quux int default=3 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.bar.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.bar.def index d4ef225830a..e1d5e8341e7 100644 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.bar.def +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.bar.def @@ -1,4 +1,3 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. namespace=xyzzy -bar int default="2" -foo int +bar int default="1" diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.baz.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.baz.def new file mode 100644 index 00000000000..c30d4b36ad3 --- /dev/null +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.baz.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=xyzzy +bar int diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.def deleted file mode 100644 index c37aafd6fc4..00000000000 --- a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config -bar int default=1 diff --git a/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.xyzzy.bar.def b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.xyzzy.bar.def new file mode 100644 index 00000000000..d4ef225830a --- /dev/null +++ b/config-model/src/test/cfg/application/configdeftest/configdefinitions/xyzzy.xyzzy.bar.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=xyzzy +bar int default="2" +foo int diff --git a/config-model/src/test/cfg/application/serverdefs/attributes.def b/config-model/src/test/cfg/application/serverdefs/attributes.def deleted file mode 100644 index 0bb16fb8079..00000000000 --- a/config-model/src/test/cfg/application/serverdefs/attributes.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -attribute[].name string -attribute[].datatype string -attribute[].multivalue bool default=false -attribute[].sortsigned bool default=true -attribute[].disableprep bool default=false diff --git a/config-model/src/test/cfg/application/serverdefs/vespa.config.search.attributes.def b/config-model/src/test/cfg/application/serverdefs/vespa.config.search.attributes.def new file mode 100644 index 00000000000..0bb16fb8079 --- /dev/null +++ b/config-model/src/test/cfg/application/serverdefs/vespa.config.search.attributes.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/music/defs/attributes.def b/config-model/src/test/derived/music/defs/attributes.def deleted file mode 100644 index c8e51c391f7..00000000000 --- a/config-model/src/test/derived/music/defs/attributes.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -attribute[].name string -attribute[].datatype string -attribute[].multivalue bool default=false -attribute[].sortsigned bool default=true -attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/music/defs/document.config.documentmanager.def b/config-model/src/test/derived/music/defs/document.config.documentmanager.def new file mode 100644 index 00000000000..fa52e08a1de --- /dev/null +++ b/config-model/src/test/derived/music/defs/document.config.documentmanager.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=document.config +datatype[].id int +datatype[].arraytype[].datatype int +documenttype[].name string +documenttype[].version int +documenttype[].inherits[].name string +documenttype[].inherits[].version int +documenttype[].field[].name string +documenttype[].field[].id int +documenttype[].field[].header bool +documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/music/defs/documentmanager.def b/config-model/src/test/derived/music/defs/documentmanager.def deleted file mode 100644 index fa52e08a1de..00000000000 --- a/config-model/src/test/derived/music/defs/documentmanager.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=document.config -datatype[].id int -datatype[].arraytype[].datatype int -documenttype[].name string -documenttype[].version int -documenttype[].inherits[].name string -documenttype[].inherits[].version int -documenttype[].field[].name string -documenttype[].field[].id int -documenttype[].field[].header bool -documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/music/defs/extra.def b/config-model/src/test/derived/music/defs/extra.def deleted file mode 100644 index 3c3eaa51ab5..00000000000 --- a/config-model/src/test/derived/music/defs/extra.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=test -file[].name string -file[].content string diff --git a/config-model/src/test/derived/music/defs/ilscripts.def b/config-model/src/test/derived/music/defs/ilscripts.def deleted file mode 100644 index 1147fd6469d..00000000000 --- a/config-model/src/test/derived/music/defs/ilscripts.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.configdefinition -ilscript[].name string -ilscript[].doctype string -ilscript[].content[] string diff --git a/config-model/src/test/derived/music/defs/rank-profiles.def b/config-model/src/test/derived/music/defs/rank-profiles.def deleted file mode 100644 index 03037865bb9..00000000000 --- a/config-model/src/test/derived/music/defs/rank-profiles.def +++ /dev/null @@ -1,344 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -## name of this rank profile. maps to table index for internal use. -rankprofile[].name string - -## the name of a generic property available to the feature execution framework and feature plugins -rankprofile[].fef.property[].name string - -## the value of a generic property available to feature plugins -rankprofile[].fef.property[].value string - -## the catalog name overrides apply to -rankprofile[].catalog[].name string - -## Boost value for AND queries in this catalog. -rankprofile[].catalog[].andboost int default=0 - -## Boost value for OR queries in this catalog. -rankprofile[].catalog[].orboost int default=0 - -## Boost value for ANY queries in this catalog. -rankprofile[].catalog[].anyboost int default=0 - -## Boost value for NEAR queries in catalog. -rankprofile[].catalog[].nearboost int default=0 - -## Boost value for ORDEREDNEAR queries in this catalog. -rankprofile[].catalog[].orderednearboost int default=0 - -## Boost value for phrase queries in this catalog. -rankprofile[].catalog[].phraseboost int default=0 - -## Boost value for all queries in catalog. -rankprofile[].catalog[].rankboost int default=0 - -## If true, the context boost is the max value of -## the individual contextboosts. -## When false, the context boost when a term is in -## several contexts is the sum of the individual contextboosts. -rankprofile[].catalog[].bestcontextboostonly bool default=false - - -## If true, then use extnumoccboost only when calculating rank values. -## Also, do not normalize the extnumoccboost value with -## global term frequency. Default value is false. -rankprofile[].catalog[].extnumoccboostonly bool default=false - -## If yes, then use extnumoccboost only when calculating rank values. -## Also, do not normalize the extnumoccboost value with -## global term frequency. Default value is no. -rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false - -## If yes, then use bitvectors when possible. -## Default value is false. -rankprofile[].catalog[].preferbitvector bool default=false - -## Load extnumoccboost for this catalog from the named file. -## extnumoccboost specifies boost values due to the number of -## occurences of a term that are external to the document. If -## "NULL" is given as file name, then all extnumoccboost values -## will be set to 0. -rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load numoccboost for this catalog from the named file. -## numoccboost specifies boost values due to the number of occurences in -## a document. If "NULL" is given as file name, then all numoccboost -## values will be set to 0. -rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load firstoccboost for catalog from the file named. -## firstoccboost specifies boost values due to the position of the -## first occurence in a document. If "NULL" is given as file name, -## then all firstoccboost values will be set to 0. -rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - - -## Load firstoccproximityboost for this catalog from the file named. -## firstoccproximity boost specifies boost values due to the correlation between -## positions of the first occurence in a document for two and two words. -## -## If "NULL" is given as file name, then all -## firstoccproximityboost values will be set to 0. If otherwise set, -## should be the name of a file to load into the table. The file -## should have 256 lines each containing a single integer. -## -## There are 256 elements in the table, handling forward distances from 1. -## The corresponding firstoccrevproximityboost table is used -## to handle closeness in reverse order. -## -## The last array index specifies the proximity table set. During -## evaluation, the bigram proximity weight supplied by the query segmenter -## specifies which proximity table set to use, with a fallback to set 0 -## when no information is available. -rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load firstoccrevproximityboost table for this catalog from the named file. -## Specifies boost values due to the correlation between positions -## of the first occurence in a document for two and two words when -## the second word in the query comes first in the document. -## See also firstoccproximityboost above. -rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load proximityboost for this catalog from the named file. -## proximity boost specifies boost values due to the correlation between -## positions of the occurences in a document for two and two words. -## See also firstoccproximityboost above. -rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load revproximityboost for this catalog from the named file. -## revproximity boost specifies boost values due to the correlation between -## positions of the occurences in a document for two and two words. -## See also firstoccproximityboost above. -rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load divtable for this catalog from the named file. -## Rank values for a query term are divided by the entry -## in divtable indexed by log2 of term frequence. -## The file should contain ?? lines each with a single integer. -rankprofile[].catalog[].divtable string default="" - -## The name of a context in this catalog to specify boosts for. -rankprofile[].catalog[].context[].name string - -## Boost occurrences in this context with the given value. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].contextboost int default=0 - -## Boost pair of occurrences in this context with -## the given value when evaluating 2 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 - -## Boost triple of occurrences in this context with -## the given value when evaluating 3 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 - -## Boost quad of occurrences in this context with -## the given value when evaluating 4 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 - - -## The name of the attribute -rankprofile[].attribute[].name string - -## Boost value for queries that hit in this attribute -rankprofile[].attribute[].attributecontextboost int default=0 - -## Load weightboost for this attribute from the named file. -## weightboost specifies boost values due to the weight (weighted set) -## or number of occurences (single, array) in an attribute. -## If "NULL" is given as file name, then all weightboost values will be set to 0. -rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - - -## Load static rank values from the given staticrank docattr vector. -## Must be specified in index.cf as a staticrankfile. -rankprofile[].staticrankfile string default="" - -## Multiply static rank values with given value when calculating total -## rank value. -rankprofile[].staticcoefficient int default=1 - -## If false then use only static ranking when sorting result hits. -## Default is true. -rankprofile[].dynamicranking bool default=true - -## If dynamic ranking is turned off, then ascending will sort the -## result hits with lowest static rank values first, while -## descending will sort with highest static rank values -## first. Default is descending. This keyword has no effect if -## dynamic ranking is on. -rankprofile[].staticranksortorder string default="descending" - -## Load static rank mapping from the file named table. The static -## rank mapping maps each 8-bit static rank value into a 32-bit static -## rank value. This option may only be used with 8-bit static rank files. -rankprofile[].staticrankmap string default="" - -## If set to "true", total rank will be reduced when dynamic rank is less than -## 25% of static rank, to suppress irrelevant hits from popular sites. -## If set to "false", total rank is not reduced. -rankprofile[].clampstaticrank bool default=false - -## Load document datetime values used for freshness boost calculation from -## this file. The values must be coded as minutes since -## 1900-01-01T00:00Z. The value 0 has the special meaning -## "no datetime value exists". -rankprofile[].freshnessboost.file string default="" - -## Load freshnessboost lookup-table values from the file named -## table instead of using built-in default values. The file must -## contain 32 white-space separated non-negative integers. -rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## When calculating the freshness boost value multiply difference between -## current datetime and document datetime with timeoffset before taking -## the base-2 logarithm. Default value is 1. Max value is 31. -rankprofile[].freshnessboost.timeoffset int default=1 - -## If a document has datetime value 0, then use defaultboostvalue -## as freshness boost value instead of doing table lookup. The default -## default value is 0 (no boost). -rankprofile[].freshnessboost.defaultboostvalue int default=0 - -## Multiply freshness boost value with coefficient when calculating -## total freshness boost value. If coefficient 0 is used, no freshness -## boost value will be computed or added. Default value is 0. -rankprofile[].freshnessboost.coefficient int default=0 - -## boost table files for distance ranking, 1 dimension. -## The tables have 465 elements each, where slots 0..15 represents -## distances 0..15 while the remaining slots represents distance -## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is -## used for distances "between" table slots. -## -## If "NULL" is given as the file name then all 1D distance boost values -## for that table will be set to 0. -rankprofile[].distance1dboosttable[].table string - -## boost table files for distance ranking, 2 dimensions. -## The tables have 977 elements each, where slots 0..15 represents -## square of distance being 0..15 while the remaining slots represents -## square of distance distance being -## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is -## used for distances "between" table slots. -## -## If "NULL" is given as the file name then all 2D distance boost values -## for that table will be set to 0. -rankprofile[].distance2dboosttable[].table string - -## The lowest possible size of a ranked result. This is the lower ramp -## of the percentage specified in the binsize variable. The default is -## specified in fsearchrc. -rankprofile[].binlow int default=-1 - -## The high limit of the ranked result bin. If the percentage of the -## resultset specified in binsize is higher than this limit, this will be -## the max size. The default is specified in fsearchrc. -rankprofile[].binhigh int default=-1 - -## The size of the ranked results as a percentage of the total result -## set size. The percentage can be ramped off with the binlow and binhigh -## variables. The default is specified in fsearchrc. -rankprofile[].binsize double default=-1 - -## Minimum value for maximum value of number of 'posocc' entries for a word. -## The default is specified in fsearchrc. -rankprofile[].posbinlow int default=-1 - -## Maximum value for maximum value of number of 'posocc' entries for a word. -## The default is specified in fsearchrc. -rankprofile[].posbinhigh int default=-1 - -## The maximum value for number of 'posocc' entries for a word, specified -## as a percentage of the number of documents in the index. If more -## entries are needed for evaluation, posocc entries are not used for that -## word and evaluation will be performed without full proximity support. -## The percentage can be ramped off with the posbinlow and posbinhigh -## variables. The default is specified in fsearchrc. -rankprofile[].posbinsize int default=-1 - -## Boost value that is added to the relevance score of hits from superior -## searches (searches where recall is sacrificed for better -## precision). The rank cutoff feature will not be affected by this -## feature (rank cutoff is applied before the superior boost). -rankprofile[].superiorboost int default=0 - -## Name of rank profile to be used when running superior searches -## (searches where recall is sacrificed for better precision). If not -## set, the current ranking profile will be used. -## -## If a profile for a superior search has this set then a superior^2 -## search exist (with more recall sacrificed than for superior searches) -## and search behavior is slightly changed: -## -## If the search node has been asked to perform a superior search then an -## internal double fallthrough with (superior, superior^2) search is -## performed. If the search node has been asked to perform an internal -## double fallthrough then a triple fallthrough with (normal, superior, -## superior^2) is performed. -rankprofile[].superiorname string default="" - -## After all other rank calculations, the rank value is tuned according -## to the tunefactor and tunebias values. The rank value is modified -## as follows: new_rank = old_rank * tunefactor + tunebias. -rankprofile[].tunefactor double default=1.0 - -## After all other rank calculations, the rank value is tuned according -## to the tunefactor and tunebias values. The rank value is modified -## as follows: new_rank = old_rank * tunefactor + tunebias. -rankprofile[].tunebias int default=0 - -## A lower limit for the rankvalue of the results returned from the -## search node. If rankcutoff.advanced is set to "true", determines -## the constant value used in the internal advanced rank cutoff -## calculations. This roughly reflects the expected rank contribution -## of one good term. -## The rankcutoff.val value and the rankcutoff.advanced parameter -## may be used if you only want hits with a minimum relevancy to show -## up in the resultset. -## A value below zero means no rankcutoff is done. -rankprofile[].rankcutoff.val int default=-1 - -## When rankcutoff.val is in use, this flag controls whether to use -## an internal calculation is used for determining the rank cutoff -## value. If "false", use rankcutoff.val as a direct lower limit. -rankprofile[].rankcutoff.advanced bool default=false - -## If set to "ON", use of posocc files is enabled, except when -## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. -## If set to "OFF", use of posocc files is disabled. -## If "NOTSET" the fsearchrc "proximity" parameter is used instead. -rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET - -## If set to "ON", use of firstoccproximity is enabled. -## If set to "OFF", use of firstoccproximity is disabled. -## When NOTSET use the firstoccproximity value in fsearchrc configuration. -rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET - -## If set to "ON", use of proximity (cf. proximity and firstoccproximity) -## will affect phrases in addition to single words. -## If set to "OFF", proximity is never used for phrases. -## When NOTSET use the phraseproximity value in fsearchrc configuration. -rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET - -## Selects behavior when proximity can be used for two words but not three -## words while firstoccproximity can be used for three words. -## If set to "ON", then use proximity for two words. -## If set to "OFF", then use firstoccproximity for three words. -## When NOTSET use the proximitypairbeforefirstoccproximitytriple value -## in fsearchrc configuration. -rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET - -## Selects behavior when proximity can be used for three words but not four -## words while firstoccproximity can be used for four words. -## If set to "ON", then use proximity for three words. -## If set to "OFF", then use firstoccproximity for four words. -## When NOTSET use the proximitytriplebeforefirstoccproximityquad value -rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/music/defs/summarymap.def b/config-model/src/test/derived/music/defs/summarymap.def deleted file mode 100644 index a994309e207..00000000000 --- a/config-model/src/test/derived/music/defs/summarymap.def +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -## The default output summary class id, -1 to use the stored summary class id -defaultoutputclass int default=-1 - -## The name of the summary field which is overridden with a dynamic value -override[].field string - -## The overriding command, one of: -## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy -override[].command string - -## Space-seaparated arguments, dedendent on the given command -override[].arguments string default="" diff --git a/config-model/src/test/derived/music/defs/test.extra.def b/config-model/src/test/derived/music/defs/test.extra.def new file mode 100644 index 00000000000..3c3eaa51ab5 --- /dev/null +++ b/config-model/src/test/derived/music/defs/test.extra.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test +file[].name string +file[].content string diff --git a/config-model/src/test/derived/music/defs/vespa.config.search.attributes.def b/config-model/src/test/derived/music/defs/vespa.config.search.attributes.def new file mode 100644 index 00000000000..c8e51c391f7 --- /dev/null +++ b/config-model/src/test/derived/music/defs/vespa.config.search.attributes.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/music/defs/vespa.config.search.rank-profiles.def b/config-model/src/test/derived/music/defs/vespa.config.search.rank-profiles.def new file mode 100644 index 00000000000..03037865bb9 --- /dev/null +++ b/config-model/src/test/derived/music/defs/vespa.config.search.rank-profiles.def @@ -0,0 +1,344 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## name of this rank profile. maps to table index for internal use. +rankprofile[].name string + +## the name of a generic property available to the feature execution framework and feature plugins +rankprofile[].fef.property[].name string + +## the value of a generic property available to feature plugins +rankprofile[].fef.property[].value string + +## the catalog name overrides apply to +rankprofile[].catalog[].name string + +## Boost value for AND queries in this catalog. +rankprofile[].catalog[].andboost int default=0 + +## Boost value for OR queries in this catalog. +rankprofile[].catalog[].orboost int default=0 + +## Boost value for ANY queries in this catalog. +rankprofile[].catalog[].anyboost int default=0 + +## Boost value for NEAR queries in catalog. +rankprofile[].catalog[].nearboost int default=0 + +## Boost value for ORDEREDNEAR queries in this catalog. +rankprofile[].catalog[].orderednearboost int default=0 + +## Boost value for phrase queries in this catalog. +rankprofile[].catalog[].phraseboost int default=0 + +## Boost value for all queries in catalog. +rankprofile[].catalog[].rankboost int default=0 + +## If true, the context boost is the max value of +## the individual contextboosts. +## When false, the context boost when a term is in +## several contexts is the sum of the individual contextboosts. +rankprofile[].catalog[].bestcontextboostonly bool default=false + + +## If true, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is false. +rankprofile[].catalog[].extnumoccboostonly bool default=false + +## If yes, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is no. +rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false + +## If yes, then use bitvectors when possible. +## Default value is false. +rankprofile[].catalog[].preferbitvector bool default=false + +## Load extnumoccboost for this catalog from the named file. +## extnumoccboost specifies boost values due to the number of +## occurences of a term that are external to the document. If +## "NULL" is given as file name, then all extnumoccboost values +## will be set to 0. +rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load numoccboost for this catalog from the named file. +## numoccboost specifies boost values due to the number of occurences in +## a document. If "NULL" is given as file name, then all numoccboost +## values will be set to 0. +rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccboost for catalog from the file named. +## firstoccboost specifies boost values due to the position of the +## first occurence in a document. If "NULL" is given as file name, +## then all firstoccboost values will be set to 0. +rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load firstoccproximityboost for this catalog from the file named. +## firstoccproximity boost specifies boost values due to the correlation between +## positions of the first occurence in a document for two and two words. +## +## If "NULL" is given as file name, then all +## firstoccproximityboost values will be set to 0. If otherwise set, +## should be the name of a file to load into the table. The file +## should have 256 lines each containing a single integer. +## +## There are 256 elements in the table, handling forward distances from 1. +## The corresponding firstoccrevproximityboost table is used +## to handle closeness in reverse order. +## +## The last array index specifies the proximity table set. During +## evaluation, the bigram proximity weight supplied by the query segmenter +## specifies which proximity table set to use, with a fallback to set 0 +## when no information is available. +rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccrevproximityboost table for this catalog from the named file. +## Specifies boost values due to the correlation between positions +## of the first occurence in a document for two and two words when +## the second word in the query comes first in the document. +## See also firstoccproximityboost above. +rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load proximityboost for this catalog from the named file. +## proximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load revproximityboost for this catalog from the named file. +## revproximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load divtable for this catalog from the named file. +## Rank values for a query term are divided by the entry +## in divtable indexed by log2 of term frequence. +## The file should contain ?? lines each with a single integer. +rankprofile[].catalog[].divtable string default="" + +## The name of a context in this catalog to specify boosts for. +rankprofile[].catalog[].context[].name string + +## Boost occurrences in this context with the given value. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].contextboost int default=0 + +## Boost pair of occurrences in this context with +## the given value when evaluating 2 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 + +## Boost triple of occurrences in this context with +## the given value when evaluating 3 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 + +## Boost quad of occurrences in this context with +## the given value when evaluating 4 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 + + +## The name of the attribute +rankprofile[].attribute[].name string + +## Boost value for queries that hit in this attribute +rankprofile[].attribute[].attributecontextboost int default=0 + +## Load weightboost for this attribute from the named file. +## weightboost specifies boost values due to the weight (weighted set) +## or number of occurences (single, array) in an attribute. +## If "NULL" is given as file name, then all weightboost values will be set to 0. +rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load static rank values from the given staticrank docattr vector. +## Must be specified in index.cf as a staticrankfile. +rankprofile[].staticrankfile string default="" + +## Multiply static rank values with given value when calculating total +## rank value. +rankprofile[].staticcoefficient int default=1 + +## If false then use only static ranking when sorting result hits. +## Default is true. +rankprofile[].dynamicranking bool default=true + +## If dynamic ranking is turned off, then ascending will sort the +## result hits with lowest static rank values first, while +## descending will sort with highest static rank values +## first. Default is descending. This keyword has no effect if +## dynamic ranking is on. +rankprofile[].staticranksortorder string default="descending" + +## Load static rank mapping from the file named table. The static +## rank mapping maps each 8-bit static rank value into a 32-bit static +## rank value. This option may only be used with 8-bit static rank files. +rankprofile[].staticrankmap string default="" + +## If set to "true", total rank will be reduced when dynamic rank is less than +## 25% of static rank, to suppress irrelevant hits from popular sites. +## If set to "false", total rank is not reduced. +rankprofile[].clampstaticrank bool default=false + +## Load document datetime values used for freshness boost calculation from +## this file. The values must be coded as minutes since +## 1900-01-01T00:00Z. The value 0 has the special meaning +## "no datetime value exists". +rankprofile[].freshnessboost.file string default="" + +## Load freshnessboost lookup-table values from the file named +## table instead of using built-in default values. The file must +## contain 32 white-space separated non-negative integers. +rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## When calculating the freshness boost value multiply difference between +## current datetime and document datetime with timeoffset before taking +## the base-2 logarithm. Default value is 1. Max value is 31. +rankprofile[].freshnessboost.timeoffset int default=1 + +## If a document has datetime value 0, then use defaultboostvalue +## as freshness boost value instead of doing table lookup. The default +## default value is 0 (no boost). +rankprofile[].freshnessboost.defaultboostvalue int default=0 + +## Multiply freshness boost value with coefficient when calculating +## total freshness boost value. If coefficient 0 is used, no freshness +## boost value will be computed or added. Default value is 0. +rankprofile[].freshnessboost.coefficient int default=0 + +## boost table files for distance ranking, 1 dimension. +## The tables have 465 elements each, where slots 0..15 represents +## distances 0..15 while the remaining slots represents distance +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 1D distance boost values +## for that table will be set to 0. +rankprofile[].distance1dboosttable[].table string + +## boost table files for distance ranking, 2 dimensions. +## The tables have 977 elements each, where slots 0..15 represents +## square of distance being 0..15 while the remaining slots represents +## square of distance distance being +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 2D distance boost values +## for that table will be set to 0. +rankprofile[].distance2dboosttable[].table string + +## The lowest possible size of a ranked result. This is the lower ramp +## of the percentage specified in the binsize variable. The default is +## specified in fsearchrc. +rankprofile[].binlow int default=-1 + +## The high limit of the ranked result bin. If the percentage of the +## resultset specified in binsize is higher than this limit, this will be +## the max size. The default is specified in fsearchrc. +rankprofile[].binhigh int default=-1 + +## The size of the ranked results as a percentage of the total result +## set size. The percentage can be ramped off with the binlow and binhigh +## variables. The default is specified in fsearchrc. +rankprofile[].binsize double default=-1 + +## Minimum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinlow int default=-1 + +## Maximum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinhigh int default=-1 + +## The maximum value for number of 'posocc' entries for a word, specified +## as a percentage of the number of documents in the index. If more +## entries are needed for evaluation, posocc entries are not used for that +## word and evaluation will be performed without full proximity support. +## The percentage can be ramped off with the posbinlow and posbinhigh +## variables. The default is specified in fsearchrc. +rankprofile[].posbinsize int default=-1 + +## Boost value that is added to the relevance score of hits from superior +## searches (searches where recall is sacrificed for better +## precision). The rank cutoff feature will not be affected by this +## feature (rank cutoff is applied before the superior boost). +rankprofile[].superiorboost int default=0 + +## Name of rank profile to be used when running superior searches +## (searches where recall is sacrificed for better precision). If not +## set, the current ranking profile will be used. +## +## If a profile for a superior search has this set then a superior^2 +## search exist (with more recall sacrificed than for superior searches) +## and search behavior is slightly changed: +## +## If the search node has been asked to perform a superior search then an +## internal double fallthrough with (superior, superior^2) search is +## performed. If the search node has been asked to perform an internal +## double fallthrough then a triple fallthrough with (normal, superior, +## superior^2) is performed. +rankprofile[].superiorname string default="" + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunefactor double default=1.0 + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunebias int default=0 + +## A lower limit for the rankvalue of the results returned from the +## search node. If rankcutoff.advanced is set to "true", determines +## the constant value used in the internal advanced rank cutoff +## calculations. This roughly reflects the expected rank contribution +## of one good term. +## The rankcutoff.val value and the rankcutoff.advanced parameter +## may be used if you only want hits with a minimum relevancy to show +## up in the resultset. +## A value below zero means no rankcutoff is done. +rankprofile[].rankcutoff.val int default=-1 + +## When rankcutoff.val is in use, this flag controls whether to use +## an internal calculation is used for determining the rank cutoff +## value. If "false", use rankcutoff.val as a direct lower limit. +rankprofile[].rankcutoff.advanced bool default=false + +## If set to "ON", use of posocc files is enabled, except when +## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. +## If set to "OFF", use of posocc files is disabled. +## If "NOTSET" the fsearchrc "proximity" parameter is used instead. +rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of firstoccproximity is enabled. +## If set to "OFF", use of firstoccproximity is disabled. +## When NOTSET use the firstoccproximity value in fsearchrc configuration. +rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of proximity (cf. proximity and firstoccproximity) +## will affect phrases in addition to single words. +## If set to "OFF", proximity is never used for phrases. +## When NOTSET use the phraseproximity value in fsearchrc configuration. +rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for two words but not three +## words while firstoccproximity can be used for three words. +## If set to "ON", then use proximity for two words. +## If set to "OFF", then use firstoccproximity for three words. +## When NOTSET use the proximitypairbeforefirstoccproximitytriple value +## in fsearchrc configuration. +rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for three words but not four +## words while firstoccproximity can be used for four words. +## If set to "ON", then use proximity for three words. +## If set to "OFF", then use firstoccproximity for four words. +## When NOTSET use the proximitytriplebeforefirstoccproximityquad value +rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/music/defs/vespa.config.search.summarymap.def b/config-model/src/test/derived/music/defs/vespa.config.search.summarymap.def new file mode 100644 index 00000000000..a994309e207 --- /dev/null +++ b/config-model/src/test/derived/music/defs/vespa.config.search.summarymap.def @@ -0,0 +1,15 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +## The default output summary class id, -1 to use the stored summary class id +defaultoutputclass int default=-1 + +## The name of the summary field which is overridden with a dynamic value +override[].field string + +## The overriding command, one of: +## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy +override[].command string + +## Space-seaparated arguments, dedendent on the given command +override[].arguments string default="" diff --git a/config-model/src/test/derived/music/defs/vespa.configdefinition.ilscripts.def b/config-model/src/test/derived/music/defs/vespa.configdefinition.ilscripts.def new file mode 100644 index 00000000000..1147fd6469d --- /dev/null +++ b/config-model/src/test/derived/music/defs/vespa.configdefinition.ilscripts.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.configdefinition +ilscript[].name string +ilscript[].doctype string +ilscript[].content[] string diff --git a/config-model/src/test/derived/newrank/defs/attributes.def b/config-model/src/test/derived/newrank/defs/attributes.def deleted file mode 100644 index c8e51c391f7..00000000000 --- a/config-model/src/test/derived/newrank/defs/attributes.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -attribute[].name string -attribute[].datatype string -attribute[].multivalue bool default=false -attribute[].sortsigned bool default=true -attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/newrank/defs/document.config.documentmanager.def b/config-model/src/test/derived/newrank/defs/document.config.documentmanager.def new file mode 100644 index 00000000000..fa52e08a1de --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/document.config.documentmanager.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=document.config +datatype[].id int +datatype[].arraytype[].datatype int +documenttype[].name string +documenttype[].version int +documenttype[].inherits[].name string +documenttype[].inherits[].version int +documenttype[].field[].name string +documenttype[].field[].id int +documenttype[].field[].header bool +documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/newrank/defs/documentmanager.def b/config-model/src/test/derived/newrank/defs/documentmanager.def deleted file mode 100644 index fa52e08a1de..00000000000 --- a/config-model/src/test/derived/newrank/defs/documentmanager.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=document.config -datatype[].id int -datatype[].arraytype[].datatype int -documenttype[].name string -documenttype[].version int -documenttype[].inherits[].name string -documenttype[].inherits[].version int -documenttype[].field[].name string -documenttype[].field[].id int -documenttype[].field[].header bool -documenttype[].field[].datatype int diff --git a/config-model/src/test/derived/newrank/defs/extra.def b/config-model/src/test/derived/newrank/defs/extra.def deleted file mode 100644 index 3c3eaa51ab5..00000000000 --- a/config-model/src/test/derived/newrank/defs/extra.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=test -file[].name string -file[].content string diff --git a/config-model/src/test/derived/newrank/defs/ilscripts.def b/config-model/src/test/derived/newrank/defs/ilscripts.def deleted file mode 100644 index 1147fd6469d..00000000000 --- a/config-model/src/test/derived/newrank/defs/ilscripts.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.configdefinition -ilscript[].name string -ilscript[].doctype string -ilscript[].content[] string diff --git a/config-model/src/test/derived/newrank/defs/rank-profiles.def b/config-model/src/test/derived/newrank/defs/rank-profiles.def deleted file mode 100644 index 03037865bb9..00000000000 --- a/config-model/src/test/derived/newrank/defs/rank-profiles.def +++ /dev/null @@ -1,344 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -## name of this rank profile. maps to table index for internal use. -rankprofile[].name string - -## the name of a generic property available to the feature execution framework and feature plugins -rankprofile[].fef.property[].name string - -## the value of a generic property available to feature plugins -rankprofile[].fef.property[].value string - -## the catalog name overrides apply to -rankprofile[].catalog[].name string - -## Boost value for AND queries in this catalog. -rankprofile[].catalog[].andboost int default=0 - -## Boost value for OR queries in this catalog. -rankprofile[].catalog[].orboost int default=0 - -## Boost value for ANY queries in this catalog. -rankprofile[].catalog[].anyboost int default=0 - -## Boost value for NEAR queries in catalog. -rankprofile[].catalog[].nearboost int default=0 - -## Boost value for ORDEREDNEAR queries in this catalog. -rankprofile[].catalog[].orderednearboost int default=0 - -## Boost value for phrase queries in this catalog. -rankprofile[].catalog[].phraseboost int default=0 - -## Boost value for all queries in catalog. -rankprofile[].catalog[].rankboost int default=0 - -## If true, the context boost is the max value of -## the individual contextboosts. -## When false, the context boost when a term is in -## several contexts is the sum of the individual contextboosts. -rankprofile[].catalog[].bestcontextboostonly bool default=false - - -## If true, then use extnumoccboost only when calculating rank values. -## Also, do not normalize the extnumoccboost value with -## global term frequency. Default value is false. -rankprofile[].catalog[].extnumoccboostonly bool default=false - -## If yes, then use extnumoccboost only when calculating rank values. -## Also, do not normalize the extnumoccboost value with -## global term frequency. Default value is no. -rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false - -## If yes, then use bitvectors when possible. -## Default value is false. -rankprofile[].catalog[].preferbitvector bool default=false - -## Load extnumoccboost for this catalog from the named file. -## extnumoccboost specifies boost values due to the number of -## occurences of a term that are external to the document. If -## "NULL" is given as file name, then all extnumoccboost values -## will be set to 0. -rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load numoccboost for this catalog from the named file. -## numoccboost specifies boost values due to the number of occurences in -## a document. If "NULL" is given as file name, then all numoccboost -## values will be set to 0. -rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load firstoccboost for catalog from the file named. -## firstoccboost specifies boost values due to the position of the -## first occurence in a document. If "NULL" is given as file name, -## then all firstoccboost values will be set to 0. -rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - - -## Load firstoccproximityboost for this catalog from the file named. -## firstoccproximity boost specifies boost values due to the correlation between -## positions of the first occurence in a document for two and two words. -## -## If "NULL" is given as file name, then all -## firstoccproximityboost values will be set to 0. If otherwise set, -## should be the name of a file to load into the table. The file -## should have 256 lines each containing a single integer. -## -## There are 256 elements in the table, handling forward distances from 1. -## The corresponding firstoccrevproximityboost table is used -## to handle closeness in reverse order. -## -## The last array index specifies the proximity table set. During -## evaluation, the bigram proximity weight supplied by the query segmenter -## specifies which proximity table set to use, with a fallback to set 0 -## when no information is available. -rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load firstoccrevproximityboost table for this catalog from the named file. -## Specifies boost values due to the correlation between positions -## of the first occurence in a document for two and two words when -## the second word in the query comes first in the document. -## See also firstoccproximityboost above. -rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load proximityboost for this catalog from the named file. -## proximity boost specifies boost values due to the correlation between -## positions of the occurences in a document for two and two words. -## See also firstoccproximityboost above. -rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load revproximityboost for this catalog from the named file. -## revproximity boost specifies boost values due to the correlation between -## positions of the occurences in a document for two and two words. -## See also firstoccproximityboost above. -rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## Load divtable for this catalog from the named file. -## Rank values for a query term are divided by the entry -## in divtable indexed by log2 of term frequence. -## The file should contain ?? lines each with a single integer. -rankprofile[].catalog[].divtable string default="" - -## The name of a context in this catalog to specify boosts for. -rankprofile[].catalog[].context[].name string - -## Boost occurrences in this context with the given value. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].contextboost int default=0 - -## Boost pair of occurrences in this context with -## the given value when evaluating 2 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 - -## Boost triple of occurrences in this context with -## the given value when evaluating 3 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 - -## Boost quad of occurrences in this context with -## the given value when evaluating 4 words from same catalog in -## parallell. -## XXX -1 uses default (???) from somewhere(TM). -rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 - - -## The name of the attribute -rankprofile[].attribute[].name string - -## Boost value for queries that hit in this attribute -rankprofile[].attribute[].attributecontextboost int default=0 - -## Load weightboost for this attribute from the named file. -## weightboost specifies boost values due to the weight (weighted set) -## or number of occurences (single, array) in an attribute. -## If "NULL" is given as file name, then all weightboost values will be set to 0. -rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - - -## Load static rank values from the given staticrank docattr vector. -## Must be specified in index.cf as a staticrankfile. -rankprofile[].staticrankfile string default="" - -## Multiply static rank values with given value when calculating total -## rank value. -rankprofile[].staticcoefficient int default=1 - -## If false then use only static ranking when sorting result hits. -## Default is true. -rankprofile[].dynamicranking bool default=true - -## If dynamic ranking is turned off, then ascending will sort the -## result hits with lowest static rank values first, while -## descending will sort with highest static rank values -## first. Default is descending. This keyword has no effect if -## dynamic ranking is on. -rankprofile[].staticranksortorder string default="descending" - -## Load static rank mapping from the file named table. The static -## rank mapping maps each 8-bit static rank value into a 32-bit static -## rank value. This option may only be used with 8-bit static rank files. -rankprofile[].staticrankmap string default="" - -## If set to "true", total rank will be reduced when dynamic rank is less than -## 25% of static rank, to suppress irrelevant hits from popular sites. -## If set to "false", total rank is not reduced. -rankprofile[].clampstaticrank bool default=false - -## Load document datetime values used for freshness boost calculation from -## this file. The values must be coded as minutes since -## 1900-01-01T00:00Z. The value 0 has the special meaning -## "no datetime value exists". -rankprofile[].freshnessboost.file string default="" - -## Load freshnessboost lookup-table values from the file named -## table instead of using built-in default values. The file must -## contain 32 white-space separated non-negative integers. -rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" - -## When calculating the freshness boost value multiply difference between -## current datetime and document datetime with timeoffset before taking -## the base-2 logarithm. Default value is 1. Max value is 31. -rankprofile[].freshnessboost.timeoffset int default=1 - -## If a document has datetime value 0, then use defaultboostvalue -## as freshness boost value instead of doing table lookup. The default -## default value is 0 (no boost). -rankprofile[].freshnessboost.defaultboostvalue int default=0 - -## Multiply freshness boost value with coefficient when calculating -## total freshness boost value. If coefficient 0 is used, no freshness -## boost value will be computed or added. Default value is 0. -rankprofile[].freshnessboost.coefficient int default=0 - -## boost table files for distance ranking, 1 dimension. -## The tables have 465 elements each, where slots 0..15 represents -## distances 0..15 while the remaining slots represents distance -## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is -## used for distances "between" table slots. -## -## If "NULL" is given as the file name then all 1D distance boost values -## for that table will be set to 0. -rankprofile[].distance1dboosttable[].table string - -## boost table files for distance ranking, 2 dimensions. -## The tables have 977 elements each, where slots 0..15 represents -## square of distance being 0..15 while the remaining slots represents -## square of distance distance being -## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is -## used for distances "between" table slots. -## -## If "NULL" is given as the file name then all 2D distance boost values -## for that table will be set to 0. -rankprofile[].distance2dboosttable[].table string - -## The lowest possible size of a ranked result. This is the lower ramp -## of the percentage specified in the binsize variable. The default is -## specified in fsearchrc. -rankprofile[].binlow int default=-1 - -## The high limit of the ranked result bin. If the percentage of the -## resultset specified in binsize is higher than this limit, this will be -## the max size. The default is specified in fsearchrc. -rankprofile[].binhigh int default=-1 - -## The size of the ranked results as a percentage of the total result -## set size. The percentage can be ramped off with the binlow and binhigh -## variables. The default is specified in fsearchrc. -rankprofile[].binsize double default=-1 - -## Minimum value for maximum value of number of 'posocc' entries for a word. -## The default is specified in fsearchrc. -rankprofile[].posbinlow int default=-1 - -## Maximum value for maximum value of number of 'posocc' entries for a word. -## The default is specified in fsearchrc. -rankprofile[].posbinhigh int default=-1 - -## The maximum value for number of 'posocc' entries for a word, specified -## as a percentage of the number of documents in the index. If more -## entries are needed for evaluation, posocc entries are not used for that -## word and evaluation will be performed without full proximity support. -## The percentage can be ramped off with the posbinlow and posbinhigh -## variables. The default is specified in fsearchrc. -rankprofile[].posbinsize int default=-1 - -## Boost value that is added to the relevance score of hits from superior -## searches (searches where recall is sacrificed for better -## precision). The rank cutoff feature will not be affected by this -## feature (rank cutoff is applied before the superior boost). -rankprofile[].superiorboost int default=0 - -## Name of rank profile to be used when running superior searches -## (searches where recall is sacrificed for better precision). If not -## set, the current ranking profile will be used. -## -## If a profile for a superior search has this set then a superior^2 -## search exist (with more recall sacrificed than for superior searches) -## and search behavior is slightly changed: -## -## If the search node has been asked to perform a superior search then an -## internal double fallthrough with (superior, superior^2) search is -## performed. If the search node has been asked to perform an internal -## double fallthrough then a triple fallthrough with (normal, superior, -## superior^2) is performed. -rankprofile[].superiorname string default="" - -## After all other rank calculations, the rank value is tuned according -## to the tunefactor and tunebias values. The rank value is modified -## as follows: new_rank = old_rank * tunefactor + tunebias. -rankprofile[].tunefactor double default=1.0 - -## After all other rank calculations, the rank value is tuned according -## to the tunefactor and tunebias values. The rank value is modified -## as follows: new_rank = old_rank * tunefactor + tunebias. -rankprofile[].tunebias int default=0 - -## A lower limit for the rankvalue of the results returned from the -## search node. If rankcutoff.advanced is set to "true", determines -## the constant value used in the internal advanced rank cutoff -## calculations. This roughly reflects the expected rank contribution -## of one good term. -## The rankcutoff.val value and the rankcutoff.advanced parameter -## may be used if you only want hits with a minimum relevancy to show -## up in the resultset. -## A value below zero means no rankcutoff is done. -rankprofile[].rankcutoff.val int default=-1 - -## When rankcutoff.val is in use, this flag controls whether to use -## an internal calculation is used for determining the rank cutoff -## value. If "false", use rankcutoff.val as a direct lower limit. -rankprofile[].rankcutoff.advanced bool default=false - -## If set to "ON", use of posocc files is enabled, except when -## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. -## If set to "OFF", use of posocc files is disabled. -## If "NOTSET" the fsearchrc "proximity" parameter is used instead. -rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET - -## If set to "ON", use of firstoccproximity is enabled. -## If set to "OFF", use of firstoccproximity is disabled. -## When NOTSET use the firstoccproximity value in fsearchrc configuration. -rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET - -## If set to "ON", use of proximity (cf. proximity and firstoccproximity) -## will affect phrases in addition to single words. -## If set to "OFF", proximity is never used for phrases. -## When NOTSET use the phraseproximity value in fsearchrc configuration. -rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET - -## Selects behavior when proximity can be used for two words but not three -## words while firstoccproximity can be used for three words. -## If set to "ON", then use proximity for two words. -## If set to "OFF", then use firstoccproximity for three words. -## When NOTSET use the proximitypairbeforefirstoccproximitytriple value -## in fsearchrc configuration. -rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET - -## Selects behavior when proximity can be used for three words but not four -## words while firstoccproximity can be used for four words. -## If set to "ON", then use proximity for three words. -## If set to "OFF", then use firstoccproximity for four words. -## When NOTSET use the proximitytriplebeforefirstoccproximityquad value -rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/newrank/defs/summarymap.def b/config-model/src/test/derived/newrank/defs/summarymap.def deleted file mode 100644 index 3f98c2b40eb..00000000000 --- a/config-model/src/test/derived/newrank/defs/summarymap.def +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search -## The default output summary class id, -1 to use the stored summary class id -defaultoutputclass int default=-1 - -## The name of the summary field which is overridden with a dynamic value -override[].field string - -## The overriding command, one of: -## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy -override[].command string - -## Space-seaparated arguments, dedendent on the given command -override[].arguments string default="" diff --git a/config-model/src/test/derived/newrank/defs/test.extra.def b/config-model/src/test/derived/newrank/defs/test.extra.def new file mode 100644 index 00000000000..3c3eaa51ab5 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/test.extra.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=test +file[].name string +file[].content string diff --git a/config-model/src/test/derived/newrank/defs/vespa.config.search.attributes.def b/config-model/src/test/derived/newrank/defs/vespa.config.search.attributes.def new file mode 100644 index 00000000000..c8e51c391f7 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/vespa.config.search.attributes.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/config-model/src/test/derived/newrank/defs/vespa.config.search.rank-profiles.def b/config-model/src/test/derived/newrank/defs/vespa.config.search.rank-profiles.def new file mode 100644 index 00000000000..03037865bb9 --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/vespa.config.search.rank-profiles.def @@ -0,0 +1,344 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## name of this rank profile. maps to table index for internal use. +rankprofile[].name string + +## the name of a generic property available to the feature execution framework and feature plugins +rankprofile[].fef.property[].name string + +## the value of a generic property available to feature plugins +rankprofile[].fef.property[].value string + +## the catalog name overrides apply to +rankprofile[].catalog[].name string + +## Boost value for AND queries in this catalog. +rankprofile[].catalog[].andboost int default=0 + +## Boost value for OR queries in this catalog. +rankprofile[].catalog[].orboost int default=0 + +## Boost value for ANY queries in this catalog. +rankprofile[].catalog[].anyboost int default=0 + +## Boost value for NEAR queries in catalog. +rankprofile[].catalog[].nearboost int default=0 + +## Boost value for ORDEREDNEAR queries in this catalog. +rankprofile[].catalog[].orderednearboost int default=0 + +## Boost value for phrase queries in this catalog. +rankprofile[].catalog[].phraseboost int default=0 + +## Boost value for all queries in catalog. +rankprofile[].catalog[].rankboost int default=0 + +## If true, the context boost is the max value of +## the individual contextboosts. +## When false, the context boost when a term is in +## several contexts is the sum of the individual contextboosts. +rankprofile[].catalog[].bestcontextboostonly bool default=false + + +## If true, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is false. +rankprofile[].catalog[].extnumoccboostonly bool default=false + +## If yes, then use extnumoccboost only when calculating rank values. +## Also, do not normalize the extnumoccboost value with +## global term frequency. Default value is no. +rankprofile[].catalog[].numoccandextnumoccboostonly bool default=false + +## If yes, then use bitvectors when possible. +## Default value is false. +rankprofile[].catalog[].preferbitvector bool default=false + +## Load extnumoccboost for this catalog from the named file. +## extnumoccboost specifies boost values due to the number of +## occurences of a term that are external to the document. If +## "NULL" is given as file name, then all extnumoccboost values +## will be set to 0. +rankprofile[].catalog[].extnumoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load numoccboost for this catalog from the named file. +## numoccboost specifies boost values due to the number of occurences in +## a document. If "NULL" is given as file name, then all numoccboost +## values will be set to 0. +rankprofile[].catalog[].numoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccboost for catalog from the file named. +## firstoccboost specifies boost values due to the position of the +## first occurence in a document. If "NULL" is given as file name, +## then all firstoccboost values will be set to 0. +rankprofile[].catalog[].firstoccboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load firstoccproximityboost for this catalog from the file named. +## firstoccproximity boost specifies boost values due to the correlation between +## positions of the first occurence in a document for two and two words. +## +## If "NULL" is given as file name, then all +## firstoccproximityboost values will be set to 0. If otherwise set, +## should be the name of a file to load into the table. The file +## should have 256 lines each containing a single integer. +## +## There are 256 elements in the table, handling forward distances from 1. +## The corresponding firstoccrevproximityboost table is used +## to handle closeness in reverse order. +## +## The last array index specifies the proximity table set. During +## evaluation, the bigram proximity weight supplied by the query segmenter +## specifies which proximity table set to use, with a fallback to set 0 +## when no information is available. +rankprofile[].catalog[].firstoccproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load firstoccrevproximityboost table for this catalog from the named file. +## Specifies boost values due to the correlation between positions +## of the first occurence in a document for two and two words when +## the second word in the query comes first in the document. +## See also firstoccproximityboost above. +rankprofile[].catalog[].firstoccrevproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load proximityboost for this catalog from the named file. +## proximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].proximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load revproximityboost for this catalog from the named file. +## revproximity boost specifies boost values due to the correlation between +## positions of the occurences in a document for two and two words. +## See also firstoccproximityboost above. +rankprofile[].catalog[].revproximityboost[].table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## Load divtable for this catalog from the named file. +## Rank values for a query term are divided by the entry +## in divtable indexed by log2 of term frequence. +## The file should contain ?? lines each with a single integer. +rankprofile[].catalog[].divtable string default="" + +## The name of a context in this catalog to specify boosts for. +rankprofile[].catalog[].context[].name string + +## Boost occurrences in this context with the given value. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].contextboost int default=0 + +## Boost pair of occurrences in this context with +## the given value when evaluating 2 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.pair int default=0 + +## Boost triple of occurrences in this context with +## the given value when evaluating 3 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.triple int default=0 + +## Boost quad of occurrences in this context with +## the given value when evaluating 4 words from same catalog in +## parallell. +## XXX -1 uses default (???) from somewhere(TM). +rankprofile[].catalog[].context[].commoncontextboost.quad int default=0 + + +## The name of the attribute +rankprofile[].attribute[].name string + +## Boost value for queries that hit in this attribute +rankprofile[].attribute[].attributecontextboost int default=0 + +## Load weightboost for this attribute from the named file. +## weightboost specifies boost values due to the weight (weighted set) +## or number of occurences (single, array) in an attribute. +## If "NULL" is given as file name, then all weightboost values will be set to 0. +rankprofile[].attribute[].weightboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + + +## Load static rank values from the given staticrank docattr vector. +## Must be specified in index.cf as a staticrankfile. +rankprofile[].staticrankfile string default="" + +## Multiply static rank values with given value when calculating total +## rank value. +rankprofile[].staticcoefficient int default=1 + +## If false then use only static ranking when sorting result hits. +## Default is true. +rankprofile[].dynamicranking bool default=true + +## If dynamic ranking is turned off, then ascending will sort the +## result hits with lowest static rank values first, while +## descending will sort with highest static rank values +## first. Default is descending. This keyword has no effect if +## dynamic ranking is on. +rankprofile[].staticranksortorder string default="descending" + +## Load static rank mapping from the file named table. The static +## rank mapping maps each 8-bit static rank value into a 32-bit static +## rank value. This option may only be used with 8-bit static rank files. +rankprofile[].staticrankmap string default="" + +## If set to "true", total rank will be reduced when dynamic rank is less than +## 25% of static rank, to suppress irrelevant hits from popular sites. +## If set to "false", total rank is not reduced. +rankprofile[].clampstaticrank bool default=false + +## Load document datetime values used for freshness boost calculation from +## this file. The values must be coded as minutes since +## 1900-01-01T00:00Z. The value 0 has the special meaning +## "no datetime value exists". +rankprofile[].freshnessboost.file string default="" + +## Load freshnessboost lookup-table values from the file named +## table instead of using built-in default values. The file must +## contain 32 white-space separated non-negative integers. +rankprofile[].freshnessboost.table string default="/home/vespa/conf/vespa/search/ranktables/constant-0000" + +## When calculating the freshness boost value multiply difference between +## current datetime and document datetime with timeoffset before taking +## the base-2 logarithm. Default value is 1. Max value is 31. +rankprofile[].freshnessboost.timeoffset int default=1 + +## If a document has datetime value 0, then use defaultboostvalue +## as freshness boost value instead of doing table lookup. The default +## default value is 0 (no boost). +rankprofile[].freshnessboost.defaultboostvalue int default=0 + +## Multiply freshness boost value with coefficient when calculating +## total freshness boost value. If coefficient 0 is used, no freshness +## boost value will be computed or added. Default value is 0. +rankprofile[].freshnessboost.coefficient int default=0 + +## boost table files for distance ranking, 1 dimension. +## The tables have 465 elements each, where slots 0..15 represents +## distances 0..15 while the remaining slots represents distance +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 1D distance boost values +## for that table will be set to 0. +rankprofile[].distance1dboosttable[].table string + +## boost table files for distance ranking, 2 dimensions. +## The tables have 977 elements each, where slots 0..15 represents +## square of distance being 0..15 while the remaining slots represents +## square of distance distance being +## (16 + (slot & 15)) << ((slot >> 4) - 1). Linear interpolation is +## used for distances "between" table slots. +## +## If "NULL" is given as the file name then all 2D distance boost values +## for that table will be set to 0. +rankprofile[].distance2dboosttable[].table string + +## The lowest possible size of a ranked result. This is the lower ramp +## of the percentage specified in the binsize variable. The default is +## specified in fsearchrc. +rankprofile[].binlow int default=-1 + +## The high limit of the ranked result bin. If the percentage of the +## resultset specified in binsize is higher than this limit, this will be +## the max size. The default is specified in fsearchrc. +rankprofile[].binhigh int default=-1 + +## The size of the ranked results as a percentage of the total result +## set size. The percentage can be ramped off with the binlow and binhigh +## variables. The default is specified in fsearchrc. +rankprofile[].binsize double default=-1 + +## Minimum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinlow int default=-1 + +## Maximum value for maximum value of number of 'posocc' entries for a word. +## The default is specified in fsearchrc. +rankprofile[].posbinhigh int default=-1 + +## The maximum value for number of 'posocc' entries for a word, specified +## as a percentage of the number of documents in the index. If more +## entries are needed for evaluation, posocc entries are not used for that +## word and evaluation will be performed without full proximity support. +## The percentage can be ramped off with the posbinlow and posbinhigh +## variables. The default is specified in fsearchrc. +rankprofile[].posbinsize int default=-1 + +## Boost value that is added to the relevance score of hits from superior +## searches (searches where recall is sacrificed for better +## precision). The rank cutoff feature will not be affected by this +## feature (rank cutoff is applied before the superior boost). +rankprofile[].superiorboost int default=0 + +## Name of rank profile to be used when running superior searches +## (searches where recall is sacrificed for better precision). If not +## set, the current ranking profile will be used. +## +## If a profile for a superior search has this set then a superior^2 +## search exist (with more recall sacrificed than for superior searches) +## and search behavior is slightly changed: +## +## If the search node has been asked to perform a superior search then an +## internal double fallthrough with (superior, superior^2) search is +## performed. If the search node has been asked to perform an internal +## double fallthrough then a triple fallthrough with (normal, superior, +## superior^2) is performed. +rankprofile[].superiorname string default="" + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunefactor double default=1.0 + +## After all other rank calculations, the rank value is tuned according +## to the tunefactor and tunebias values. The rank value is modified +## as follows: new_rank = old_rank * tunefactor + tunebias. +rankprofile[].tunebias int default=0 + +## A lower limit for the rankvalue of the results returned from the +## search node. If rankcutoff.advanced is set to "true", determines +## the constant value used in the internal advanced rank cutoff +## calculations. This roughly reflects the expected rank contribution +## of one good term. +## The rankcutoff.val value and the rankcutoff.advanced parameter +## may be used if you only want hits with a minimum relevancy to show +## up in the resultset. +## A value below zero means no rankcutoff is done. +rankprofile[].rankcutoff.val int default=-1 + +## When rankcutoff.val is in use, this flag controls whether to use +## an internal calculation is used for determining the rank cutoff +## value. If "false", use rankcutoff.val as a direct lower limit. +rankprofile[].rankcutoff.advanced bool default=false + +## If set to "ON", use of posocc files is enabled, except when +## "forceemptyposoccs" is set in fsearchrc or posocc files doesn't exist. +## If set to "OFF", use of posocc files is disabled. +## If "NOTSET" the fsearchrc "proximity" parameter is used instead. +rankprofile[].proximity.full.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of firstoccproximity is enabled. +## If set to "OFF", use of firstoccproximity is disabled. +## When NOTSET use the firstoccproximity value in fsearchrc configuration. +rankprofile[].proximity.firstocc.enable enum { OFF, ON, NOTSET } default=NOTSET + +## If set to "ON", use of proximity (cf. proximity and firstoccproximity) +## will affect phrases in addition to single words. +## If set to "OFF", proximity is never used for phrases. +## When NOTSET use the phraseproximity value in fsearchrc configuration. +rankprofile[].proximity.phrase.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for two words but not three +## words while firstoccproximity can be used for three words. +## If set to "ON", then use proximity for two words. +## If set to "OFF", then use firstoccproximity for three words. +## When NOTSET use the proximitypairbeforefirstoccproximitytriple value +## in fsearchrc configuration. +rankprofile[].proximity.pairbeforefirstocctriple.enable enum { OFF, ON, NOTSET } default=NOTSET + +## Selects behavior when proximity can be used for three words but not four +## words while firstoccproximity can be used for four words. +## If set to "ON", then use proximity for three words. +## If set to "OFF", then use firstoccproximity for four words. +## When NOTSET use the proximitytriplebeforefirstoccproximityquad value +rankprofile[].proximity.triplebeforefirstoccquad.enable enum { OFF, ON, NOTSET } default=NOTSET diff --git a/config-model/src/test/derived/newrank/defs/vespa.config.search.summarymap.def b/config-model/src/test/derived/newrank/defs/vespa.config.search.summarymap.def new file mode 100644 index 00000000000..3f98c2b40eb --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/vespa.config.search.summarymap.def @@ -0,0 +1,14 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search +## The default output summary class id, -1 to use the stored summary class id +defaultoutputclass int default=-1 + +## The name of the summary field which is overridden with a dynamic value +override[].field string + +## The overriding command, one of: +## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy +override[].command string + +## Space-seaparated arguments, dedendent on the given command +override[].arguments string default="" diff --git a/config-model/src/test/derived/newrank/defs/vespa.configdefinition.ilscripts.def b/config-model/src/test/derived/newrank/defs/vespa.configdefinition.ilscripts.def new file mode 100644 index 00000000000..1147fd6469d --- /dev/null +++ b/config-model/src/test/derived/newrank/defs/vespa.configdefinition.ilscripts.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.configdefinition +ilscript[].name string +ilscript[].doctype string +ilscript[].content[] string diff --git a/config-model/src/test/resources/configdefinitions/anotherrestart.def b/config-model/src/test/resources/configdefinitions/anotherrestart.def deleted file mode 100644 index 01da11e7c45..00000000000 --- a/config-model/src/test/resources/configdefinitions/anotherrestart.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Test config for ConfigValueChangeValidatorTest -namespace=test - -anothervalue int restart diff --git a/config-model/src/test/resources/configdefinitions/arraytypes.def b/config-model/src/test/resources/configdefinitions/arraytypes.def deleted file mode 100644 index 8add790c6cb..00000000000 --- a/config-model/src/test/resources/configdefinitions/arraytypes.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only simple array types that can be used for testing -# individual types in detail. -namespace=test - -boolarr[] bool -doublearr[] double -enumarr[] enum { VAL1, VAL2 } -intarr[] int -longarr[] long -stringarr[] string diff --git a/config-model/src/test/resources/configdefinitions/function-test.def b/config-model/src/test/resources/configdefinitions/function-test.def deleted file mode 100644 index 4208f7ab906..00000000000 --- a/config-model/src/test/resources/configdefinitions/function-test.def +++ /dev/null @@ -1,76 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=test - -# Some random bool without a default value. These comments exist to check - # that comment parsing works. -bool_val bool - ## A bool with a default value set. -bool_with_def bool default=false -int_val int -int_with_def int default=-545 -long_val long -long_with_def long default=-50000000000 -double_val double -double_with_def double default=-6.43 -# Another comment -string_val string -stringwithdef string default="foobar" -enum_val enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -onechoice enum { ONLYFOO } default=ONLYFOO -refval reference -refwithdef reference default=":parent:" -fileVal file -urlVal url - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -fileArr[] file -urlArr[] url - -# A basic struct -basicStruct.foo string default="basic" -basicStruct.bar int -basicStruct.intArr[] int - -# A struct of struct -rootStruct.inner0.name string default="inner0" -rootStruct.inner0.index int -rootStruct.inner1.name string default="inner1" -rootStruct.inner1.index int -rootStruct.innerArr[].boolVal bool default=false -rootStruct.innerArr[].stringVal string - -myarray[].intval int default=14 -myarray[].stringval[] string -myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE -myarray[].refval reference # Value in array without default -myarray[].fileVal file -myarray[].urlVal url -myarray[].anotherarray[].foo int default=-4 -myarray[].myStruct.a int -myarray[].myStruct.b int default=2 diff --git a/config-model/src/test/resources/configdefinitions/nonrestart.def b/config-model/src/test/resources/configdefinitions/nonrestart.def deleted file mode 100644 index b9b1227349a..00000000000 --- a/config-model/src/test/resources/configdefinitions/nonrestart.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Test config for ConfigValueChangeValidatorTest -namespace=test - -plainvalue int diff --git a/config-model/src/test/resources/configdefinitions/restart.def b/config-model/src/test/resources/configdefinitions/restart.def deleted file mode 100644 index a0826edf881..00000000000 --- a/config-model/src/test/resources/configdefinitions/restart.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Test config for ConfigValueChangeValidatorTest -namespace=test - -value int restart diff --git a/config-model/src/test/resources/configdefinitions/simpletypes.def b/config-model/src/test/resources/configdefinitions/simpletypes.def deleted file mode 100644 index b54ea43435d..00000000000 --- a/config-model/src/test/resources/configdefinitions/simpletypes.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only simple leaf types with default values, that can be used -# for testing individual types in detail. -namespace=test - -boolval bool default=false -doubleval double default=0.0 -enumval enum { VAL1, VAL2 } default=VAL1 -intval int default=0 -longval long default=0 -stringval string default="s" diff --git a/config-model/src/test/resources/configdefinitions/standard.def b/config-model/src/test/resources/configdefinitions/standard.def deleted file mode 100644 index b06e858d391..00000000000 --- a/config-model/src/test/resources/configdefinitions/standard.def +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only simple leaf types with default values, that can be used -# for testing individual types in detail. -namespace=test - -basicStruct.intVal int default=0 -basicStruct.stringVal string default="s" -stringArr[] string -astring string default="" -baseport int default=-1 diff --git a/config-model/src/test/resources/configdefinitions/test.anotherrestart.def b/config-model/src/test/resources/configdefinitions/test.anotherrestart.def new file mode 100644 index 00000000000..01da11e7c45 --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.anotherrestart.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Test config for ConfigValueChangeValidatorTest +namespace=test + +anothervalue int restart diff --git a/config-model/src/test/resources/configdefinitions/test.arraytypes.def b/config-model/src/test/resources/configdefinitions/test.arraytypes.def new file mode 100644 index 00000000000..8add790c6cb --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.arraytypes.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only simple array types that can be used for testing +# individual types in detail. +namespace=test + +boolarr[] bool +doublearr[] double +enumarr[] enum { VAL1, VAL2 } +intarr[] int +longarr[] long +stringarr[] string diff --git a/config-model/src/test/resources/configdefinitions/test.function-test.def b/config-model/src/test/resources/configdefinitions/test.function-test.def new file mode 100644 index 00000000000..4208f7ab906 --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.function-test.def @@ -0,0 +1,76 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=test + +# Some random bool without a default value. These comments exist to check + # that comment parsing works. +bool_val bool + ## A bool with a default value set. +bool_with_def bool default=false +int_val int +int_with_def int default=-545 +long_val long +long_with_def long default=-50000000000 +double_val double +double_with_def double default=-6.43 +# Another comment +string_val string +stringwithdef string default="foobar" +enum_val enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +onechoice enum { ONLYFOO } default=ONLYFOO +refval reference +refwithdef reference default=":parent:" +fileVal file +urlVal url + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +fileArr[] file +urlArr[] url + +# A basic struct +basicStruct.foo string default="basic" +basicStruct.bar int +basicStruct.intArr[] int + +# A struct of struct +rootStruct.inner0.name string default="inner0" +rootStruct.inner0.index int +rootStruct.inner1.name string default="inner1" +rootStruct.inner1.index int +rootStruct.innerArr[].boolVal bool default=false +rootStruct.innerArr[].stringVal string + +myarray[].intval int default=14 +myarray[].stringval[] string +myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE +myarray[].refval reference # Value in array without default +myarray[].fileVal file +myarray[].urlVal url +myarray[].anotherarray[].foo int default=-4 +myarray[].myStruct.a int +myarray[].myStruct.b int default=2 diff --git a/config-model/src/test/resources/configdefinitions/test.nonrestart.def b/config-model/src/test/resources/configdefinitions/test.nonrestart.def new file mode 100644 index 00000000000..b9b1227349a --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.nonrestart.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Test config for ConfigValueChangeValidatorTest +namespace=test + +plainvalue int diff --git a/config-model/src/test/resources/configdefinitions/test.restart.def b/config-model/src/test/resources/configdefinitions/test.restart.def new file mode 100644 index 00000000000..a0826edf881 --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.restart.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Test config for ConfigValueChangeValidatorTest +namespace=test + +value int restart diff --git a/config-model/src/test/resources/configdefinitions/test.simpletypes.def b/config-model/src/test/resources/configdefinitions/test.simpletypes.def new file mode 100644 index 00000000000..b54ea43435d --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.simpletypes.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only simple leaf types with default values, that can be used +# for testing individual types in detail. +namespace=test + +boolval bool default=false +doubleval double default=0.0 +enumval enum { VAL1, VAL2 } default=VAL1 +intval int default=0 +longval long default=0 +stringval string default="s" diff --git a/config-model/src/test/resources/configdefinitions/test.standard.def b/config-model/src/test/resources/configdefinitions/test.standard.def new file mode 100644 index 00000000000..b06e858d391 --- /dev/null +++ b/config-model/src/test/resources/configdefinitions/test.standard.def @@ -0,0 +1,10 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only simple leaf types with default values, that can be used +# for testing individual types in detail. +namespace=test + +basicStruct.intVal int default=0 +basicStruct.stringVal string default="s" +stringArr[] string +astring string default="" +baseport int default=-1 diff --git a/config-provisioning/CMakeLists.txt b/config-provisioning/CMakeLists.txt index 73101f8a7a6..ee0bc7f1bae 100644 --- a/config-provisioning/CMakeLists.txt +++ b/config-provisioning/CMakeLists.txt @@ -1,4 +1,3 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_fat_java_artifact(config-provisioning) -install_config_definition(src/main/resources/configdefinitions/flavors.def config.provisioning.flavors.def) -install_config_definition(src/main/resources/configdefinitions/node-repository.def config.provisioning.node-repository.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/config-provisioning/src/main/resources/configdefinitions/cloud.def b/config-provisioning/src/main/resources/configdefinitions/cloud.def deleted file mode 100644 index 36523482ab2..00000000000 --- a/config-provisioning/src/main/resources/configdefinitions/cloud.def +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# Configures the features supported by a cloud service. -namespace=config.provisioning - -# Are hosts provisioned dynamically on-demand? -dynamicProvisioning bool default=false - -# Can nodes belonging to different applications be placed on the same host? -allowHostSharing bool default=true - -# Do we need to reprovision a host to upgrade its operating system? -reprovisionToUpgradeOs bool default=false - -# Should clusters in this cloud always require access control for both read and write operations? -requireAccessControl bool default=false diff --git a/config-provisioning/src/main/resources/configdefinitions/config.provisioning.cloud.def b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.cloud.def new file mode 100644 index 00000000000..36523482ab2 --- /dev/null +++ b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.cloud.def @@ -0,0 +1,16 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# Configures the features supported by a cloud service. +namespace=config.provisioning + +# Are hosts provisioned dynamically on-demand? +dynamicProvisioning bool default=false + +# Can nodes belonging to different applications be placed on the same host? +allowHostSharing bool default=true + +# Do we need to reprovision a host to upgrade its operating system? +reprovisionToUpgradeOs bool default=false + +# Should clusters in this cloud always require access control for both read and write operations? +requireAccessControl bool default=false diff --git a/config-provisioning/src/main/resources/configdefinitions/config.provisioning.flavors.def b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.flavors.def new file mode 100644 index 00000000000..c5040c58b74 --- /dev/null +++ b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.flavors.def @@ -0,0 +1,37 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Configuration of the node repository +namespace=config.provisioning + +# A node flavor which (may) be available in this zone. +# This is to allow configuration per flavor. +# If a certain flavor has no config it is not necessary to list it here to use it. +flavor[].name string + +# The monthly Total Cost of Ownership (TCO) in USD. Typically calculated as TCO divided by +# the expected lifetime of the node (usually three years). +flavor[].cost int default=0 + +# The type of node: BARE_METAL, VIRTUAL_MACHINE or DOCKER_CONTAINER +flavor[].environment string default="undefined" + +# The minimum number of CPU cores available. +flavor[].minCpuCores double default=0.0 + +# The speedup factor per cpu core compared to an historical baseline for a particular cpu generation +# The vcpu resources available on the node will be minCpuCores * cpuCoreSpeedup +flavor[].cpuSpeedup double default=1.0 + +# The minimum amount of main memory available. +flavor[].minMainMemoryAvailableGb double default=0.0 + +# The minimum amount of disk available. +flavor[].minDiskAvailableGb double default=0.0 + +# Whether the disk is fast (typically SSD) or slow (typically spinning HDD). +flavor[].fastDisk bool default=true + +# Whether the storage is remote (network) or local. +flavor[].remoteStorage bool default=true + +# Expected network interface bandwidth available for this flavor, in Mbit/s. +flavor[].bandwidth double default=0.0 diff --git a/config-provisioning/src/main/resources/configdefinitions/config.provisioning.node-repository.def b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.node-repository.def new file mode 100644 index 00000000000..8ea9265aa23 --- /dev/null +++ b/config-provisioning/src/main/resources/configdefinitions/config.provisioning.node-repository.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.provisioning + +# Docker image to use in REST API responses. This must be a fully qualified name, including registry, but excluding +# version. Example: my-docker-registry.domain.tld:8080/dist/vespa +dockerImage string default="dummyImage" + +useCuratorClientCache bool default=false diff --git a/config-provisioning/src/main/resources/configdefinitions/flavors.def b/config-provisioning/src/main/resources/configdefinitions/flavors.def deleted file mode 100644 index c5040c58b74..00000000000 --- a/config-provisioning/src/main/resources/configdefinitions/flavors.def +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Configuration of the node repository -namespace=config.provisioning - -# A node flavor which (may) be available in this zone. -# This is to allow configuration per flavor. -# If a certain flavor has no config it is not necessary to list it here to use it. -flavor[].name string - -# The monthly Total Cost of Ownership (TCO) in USD. Typically calculated as TCO divided by -# the expected lifetime of the node (usually three years). -flavor[].cost int default=0 - -# The type of node: BARE_METAL, VIRTUAL_MACHINE or DOCKER_CONTAINER -flavor[].environment string default="undefined" - -# The minimum number of CPU cores available. -flavor[].minCpuCores double default=0.0 - -# The speedup factor per cpu core compared to an historical baseline for a particular cpu generation -# The vcpu resources available on the node will be minCpuCores * cpuCoreSpeedup -flavor[].cpuSpeedup double default=1.0 - -# The minimum amount of main memory available. -flavor[].minMainMemoryAvailableGb double default=0.0 - -# The minimum amount of disk available. -flavor[].minDiskAvailableGb double default=0.0 - -# Whether the disk is fast (typically SSD) or slow (typically spinning HDD). -flavor[].fastDisk bool default=true - -# Whether the storage is remote (network) or local. -flavor[].remoteStorage bool default=true - -# Expected network interface bandwidth available for this flavor, in Mbit/s. -flavor[].bandwidth double default=0.0 diff --git a/config-provisioning/src/main/resources/configdefinitions/node-repository.def b/config-provisioning/src/main/resources/configdefinitions/node-repository.def deleted file mode 100644 index 8ea9265aa23..00000000000 --- a/config-provisioning/src/main/resources/configdefinitions/node-repository.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.provisioning - -# Docker image to use in REST API responses. This must be a fully qualified name, including registry, but excluding -# version. Example: my-docker-registry.domain.tld:8080/dist/vespa -dockerImage string default="dummyImage" - -useCuratorClientCache bool default=false diff --git a/config/src/test/resources/configdefinitions/bar.def b/config/src/test/resources/configdefinitions/bar.def deleted file mode 100644 index 8e97154d3d5..00000000000 --- a/config/src/test/resources/configdefinitions/bar.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -barValue string default="defaultBar" diff --git a/config/src/test/resources/configdefinitions/baz.def b/config/src/test/resources/configdefinitions/baz.def deleted file mode 100644 index ff3101e52a6..00000000000 --- a/config/src/test/resources/configdefinitions/baz.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -bazValue string default="defaultBaz" diff --git a/config/src/test/resources/configdefinitions/bootstrap.def b/config/src/test/resources/configdefinitions/bootstrap.def deleted file mode 100644 index f0e5b3db71a..00000000000 --- a/config/src/test/resources/configdefinitions/bootstrap.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -component[].name string -component[].configid string - diff --git a/config/src/test/resources/configdefinitions/config.bar.def b/config/src/test/resources/configdefinitions/config.bar.def new file mode 100644 index 00000000000..8e97154d3d5 --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.bar.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +barValue string default="defaultBar" diff --git a/config/src/test/resources/configdefinitions/config.baz.def b/config/src/test/resources/configdefinitions/config.baz.def new file mode 100644 index 00000000000..ff3101e52a6 --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.baz.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +bazValue string default="defaultBaz" diff --git a/config/src/test/resources/configdefinitions/config.bootstrap.def b/config/src/test/resources/configdefinitions/config.bootstrap.def new file mode 100644 index 00000000000..f0e5b3db71a --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.bootstrap.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +component[].name string +component[].configid string + diff --git a/config/src/test/resources/configdefinitions/config.foo.def b/config/src/test/resources/configdefinitions/config.foo.def new file mode 100644 index 00000000000..d7357822e7e --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.foo.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +fooValue string +fooArray[] int +fooStruct[].innerStruct[].bar int +fooMap{} int diff --git a/config/src/test/resources/configdefinitions/config.foobar.def b/config/src/test/resources/configdefinitions/config.foobar.def new file mode 100644 index 00000000000..59f0bbd9913 --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.foobar.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +fooBarValue string default="defaultFooBar" diff --git a/config/src/test/resources/configdefinitions/config.foodefault.def b/config/src/test/resources/configdefinitions/config.foodefault.def new file mode 100644 index 00000000000..4b9014b9274 --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.foodefault.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +fooValue string default = "per" diff --git a/config/src/test/resources/configdefinitions/config.function-test.def b/config/src/test/resources/configdefinitions/config.function-test.def new file mode 100644 index 00000000000..2e18fb2ee8c --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.function-test.def @@ -0,0 +1,74 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=config + +# Some random bool without a default value. These comments exist to check + # that comment parsing works. +bool_val bool + ## A bool with a default value set. +bool_with_def bool default=false +int_val int +int_with_def int default=-545 +long_val long +long_with_def long default=-50000000000 +double_val double +double_with_def double default=-6.43 +# Another comment +string_val string +stringwithdef string default="foobar" +enum_val enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +onechoice enum { ONLYFOO } default=ONLYFOO +refval reference +refwithdef reference default=":parent:" +fileVal file + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +fileArr[] file + +# A basic struct +basicStruct.foo string default="basic" +basicStruct.bar int +basicStruct.intArr[] int + +# A struct of struct +rootStruct.inner0.name string default="inner0" +rootStruct.inner0.index int +rootStruct.inner1.name string default="inner1" +rootStruct.inner1.index int +rootStruct.inner2.array[] int +rootStruct.innerArr[].boolVal bool default=false +rootStruct.innerArr[].stringVal string + +myarray[].intval int default=14 +myarray[].stringval[] string +myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE +myarray[].refval reference # Value in array without default +myarray[].fileVal file +myarray[].anotherarray[].foo int default=-4 +myarray[].myStruct.a int +myarray[].myStruct.b int default=2 diff --git a/config/src/test/resources/configdefinitions/config.motd.def b/config/src/test/resources/configdefinitions/config.motd.def new file mode 100644 index 00000000000..95ac367560d --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.motd.def @@ -0,0 +1,84 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=config + +# Some random bool without a default value. These comments exist to check + # that comment parsing works.e +boolVal bool + ## A bool with a default value set. +bool_with_def bool default=false +intVal int +intWithDef int default=-545 +longVal long +longWithDef long default=1234567890123 +doubleVal double +double_with_def double default=-6.43 +# Another comment +stringVal string +stringwithdef string default="foobar" +stringnulldef string default="null" +enumVal enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +refVal reference +refwithdef reference default=":parent:" +fileVal file + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +filearr[] file + +boolmap{} bool +intmap{} int +longmap{} long +doublemap{} double +stringmap{} string +enummap{} enum { LOL1, LOL2 } +refmap{} reference +filemap{} file + +structmap{}.foo int +mapmap{}.map{}.bar int + +# A basic struct +basic_struct.foo string default="foo" +basic_struct.bar int default=0 + +# A struct of struct +struct_of_struct.inner0.name string default="inner0" +struct_of_struct.inner0.index int default=0 +struct_of_struct.inner1.name string default="inner1" +struct_of_struct.inner1.index int default=1 + +myArray[].intVal int default=14 +myArray[].stringVal[] string +myArray[].enumVal enum { INNER, ENUM, TYPE } default=TYPE +myArray[].refVal reference # Value in array without default +myArray[].anotherArray[].foo int default=-4 + +value string default="value" +buffer int default=-1 +rhs string default="rhs" +lines string default="lines" diff --git a/config/src/test/resources/configdefinitions/config.my.def b/config/src/test/resources/configdefinitions/config.my.def new file mode 100644 index 00000000000..3999cc46273 --- /dev/null +++ b/config/src/test/resources/configdefinitions/config.my.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +myField string diff --git a/config/src/test/resources/configdefinitions/foo.def b/config/src/test/resources/configdefinitions/foo.def deleted file mode 100644 index d7357822e7e..00000000000 --- a/config/src/test/resources/configdefinitions/foo.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -fooValue string -fooArray[] int -fooStruct[].innerStruct[].bar int -fooMap{} int diff --git a/config/src/test/resources/configdefinitions/foobar.def b/config/src/test/resources/configdefinitions/foobar.def deleted file mode 100644 index 59f0bbd9913..00000000000 --- a/config/src/test/resources/configdefinitions/foobar.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -fooBarValue string default="defaultFooBar" diff --git a/config/src/test/resources/configdefinitions/foodefault.def b/config/src/test/resources/configdefinitions/foodefault.def deleted file mode 100644 index 4b9014b9274..00000000000 --- a/config/src/test/resources/configdefinitions/foodefault.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -fooValue string default = "per" diff --git a/config/src/test/resources/configdefinitions/function-test.def b/config/src/test/resources/configdefinitions/function-test.def deleted file mode 100644 index 2e18fb2ee8c..00000000000 --- a/config/src/test/resources/configdefinitions/function-test.def +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=config - -# Some random bool without a default value. These comments exist to check - # that comment parsing works. -bool_val bool - ## A bool with a default value set. -bool_with_def bool default=false -int_val int -int_with_def int default=-545 -long_val long -long_with_def long default=-50000000000 -double_val double -double_with_def double default=-6.43 -# Another comment -string_val string -stringwithdef string default="foobar" -enum_val enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -onechoice enum { ONLYFOO } default=ONLYFOO -refval reference -refwithdef reference default=":parent:" -fileVal file - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -fileArr[] file - -# A basic struct -basicStruct.foo string default="basic" -basicStruct.bar int -basicStruct.intArr[] int - -# A struct of struct -rootStruct.inner0.name string default="inner0" -rootStruct.inner0.index int -rootStruct.inner1.name string default="inner1" -rootStruct.inner1.index int -rootStruct.inner2.array[] int -rootStruct.innerArr[].boolVal bool default=false -rootStruct.innerArr[].stringVal string - -myarray[].intval int default=14 -myarray[].stringval[] string -myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE -myarray[].refval reference # Value in array without default -myarray[].fileVal file -myarray[].anotherarray[].foo int default=-4 -myarray[].myStruct.a int -myarray[].myStruct.b int default=2 diff --git a/config/src/test/resources/configdefinitions/motd.def b/config/src/test/resources/configdefinitions/motd.def deleted file mode 100644 index 95ac367560d..00000000000 --- a/config/src/test/resources/configdefinitions/motd.def +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=config - -# Some random bool without a default value. These comments exist to check - # that comment parsing works.e -boolVal bool - ## A bool with a default value set. -bool_with_def bool default=false -intVal int -intWithDef int default=-545 -longVal long -longWithDef long default=1234567890123 -doubleVal double -double_with_def double default=-6.43 -# Another comment -stringVal string -stringwithdef string default="foobar" -stringnulldef string default="null" -enumVal enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -refVal reference -refwithdef reference default=":parent:" -fileVal file - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -filearr[] file - -boolmap{} bool -intmap{} int -longmap{} long -doublemap{} double -stringmap{} string -enummap{} enum { LOL1, LOL2 } -refmap{} reference -filemap{} file - -structmap{}.foo int -mapmap{}.map{}.bar int - -# A basic struct -basic_struct.foo string default="foo" -basic_struct.bar int default=0 - -# A struct of struct -struct_of_struct.inner0.name string default="inner0" -struct_of_struct.inner0.index int default=0 -struct_of_struct.inner1.name string default="inner1" -struct_of_struct.inner1.index int default=1 - -myArray[].intVal int default=14 -myArray[].stringVal[] string -myArray[].enumVal enum { INNER, ENUM, TYPE } default=TYPE -myArray[].refVal reference # Value in array without default -myArray[].anotherArray[].foo int default=-4 - -value string default="value" -buffer int default=-1 -rhs string default="rhs" -lines string default="lines" diff --git a/config/src/test/resources/configdefinitions/my.def b/config/src/test/resources/configdefinitions/my.def deleted file mode 100644 index 3999cc46273..00000000000 --- a/config/src/test/resources/configdefinitions/my.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -myField string diff --git a/config/src/test/resources/configs/def-files-nogen/foo.bar.app.def b/config/src/test/resources/configs/def-files-nogen/foo.bar.app.def deleted file mode 100644 index 6082072695a..00000000000 --- a/config/src/test/resources/configs/def-files-nogen/foo.bar.app.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=mynamespace - -message string default="Hello!" - -times int default=1 - -a[].name string diff --git a/config/src/test/resources/configs/def-files-nogen/mynamespace.foo.bar.app.def b/config/src/test/resources/configs/def-files-nogen/mynamespace.foo.bar.app.def new file mode 100644 index 00000000000..6082072695a --- /dev/null +++ b/config/src/test/resources/configs/def-files-nogen/mynamespace.foo.bar.app.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=mynamespace + +message string default="Hello!" + +times int default=1 + +a[].name string diff --git a/config/src/test/resources/configs/def-files/app.def b/config/src/test/resources/configs/def-files/app.def deleted file mode 100644 index 37c3dd75e26..00000000000 --- a/config/src/test/resources/configs/def-files/app.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -message string default="Hello!" - -times int default=1 - -a[].name string diff --git a/config/src/test/resources/configs/def-files/arraytypes.def b/config/src/test/resources/configs/def-files/arraytypes.def deleted file mode 100644 index ad18c4e5386..00000000000 --- a/config/src/test/resources/configs/def-files/arraytypes.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only simple array types that can be used for testing -# individual types in detail. -namespace=foo - -boolarr[] bool -doublearr[] double -enumarr[] enum { VAL1, VAL2 } -intarr[] int -longarr[] long -stringarr[] string diff --git a/config/src/test/resources/configs/def-files/defaulttest.def b/config/src/test/resources/configs/def-files/defaulttest.def deleted file mode 100644 index fa8005b77c3..00000000000 --- a/config/src/test/resources/configs/def-files/defaulttest.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -nondefaultstring string -defaultstring string default="thedefault" - -nondefaultreference reference -defaultreference reference default="thedefault" diff --git a/config/src/test/resources/configs/def-files/foo.app.def b/config/src/test/resources/configs/def-files/foo.app.def new file mode 100644 index 00000000000..37c3dd75e26 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.app.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +message string default="Hello!" + +times int default=1 + +a[].name string diff --git a/config/src/test/resources/configs/def-files/foo.arraytypes.def b/config/src/test/resources/configs/def-files/foo.arraytypes.def new file mode 100644 index 00000000000..ad18c4e5386 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.arraytypes.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only simple array types that can be used for testing +# individual types in detail. +namespace=foo + +boolarr[] bool +doublearr[] double +enumarr[] enum { VAL1, VAL2 } +intarr[] int +longarr[] long +stringarr[] string diff --git a/config/src/test/resources/configs/def-files/foo.defaulttest.def b/config/src/test/resources/configs/def-files/foo.defaulttest.def new file mode 100644 index 00000000000..fa8005b77c3 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.defaulttest.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +nondefaultstring string +defaultstring string default="thedefault" + +nondefaultreference reference +defaultreference reference default="thedefault" diff --git a/config/src/test/resources/configs/def-files/foo.function-test.def b/config/src/test/resources/configs/def-files/foo.function-test.def new file mode 100644 index 00000000000..24eeb81ab7a --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.function-test.def @@ -0,0 +1,88 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the autogenerated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + + +namespace=foo + +# Some random bool without a default value. These comments exist to check + # that comment parsing works. +bool_val bool + ## A bool with a default value set. +bool_with_def bool default=false +int_val int +int_with_def int default=-545 +long_val long +long_with_def long default=-50000000000 +double_val double +double_with_def double default=-6.43 +# Another comment +string_val string +stringwithdef string default="foobar" +enum_val enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +onechoice enum { ONLYFOO } default=ONLYFOO +refval reference +refwithdef reference default=":parent:" +fileVal file +pathVal path + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +fileArr[] file +pathArr[] path + +intMap{} int +stringMap{} string +filemap{} file +pathMap{} path + +# A basic struct +basicStruct.foo string default="basic" +basicStruct.bar int +basicStruct.intArr[] int + +# A struct of struct +rootStruct.inner0.name string default="inner0" +rootStruct.inner0.index int +rootStruct.inner1.name string default="inner1" +rootStruct.inner1.index int +rootStruct.innerArr[].boolVal bool default=false +rootStruct.innerArr[].stringVal string + +myarray[].intval int default=14 +myarray[].stringval[] string +myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE +myarray[].refval reference # Value in array without default +myarray[].fileVal file +myarray[].anotherarray[].foo int default=-4 +myarray[].myStruct.a int +myarray[].myStruct.b int default=2 + +myStructMap{}.myInt int +myStructMap{}.myString string +myStructMap{}.myIntDef int default=56 +myStructMap{}.myStringDef string default="g" +myStructMap{}.anotherMap{}.anInt int +myStructMap{}.anotherMap{}.anIntDef int default=11 diff --git a/config/src/test/resources/configs/def-files/foo.int.def b/config/src/test/resources/configs/def-files/foo.int.def new file mode 100755 index 00000000000..c1a1241c413 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.int.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +intVal int default=1 diff --git a/config/src/test/resources/configs/def-files/foo.maptypes.def b/config/src/test/resources/configs/def-files/foo.maptypes.def new file mode 100644 index 00000000000..0e39c7ccdb9 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.maptypes.def @@ -0,0 +1,13 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only structs in various forms +namespace=foo + +boolmap{} bool +intmap{} int +longmap{} long +doublemap{} double +stringmap{} string +filemap{} file + +innermap{}.foo int +nestedmap{}.inner{} int diff --git a/config/src/test/resources/configs/def-files/foo.simpletypes.def b/config/src/test/resources/configs/def-files/foo.simpletypes.def new file mode 100644 index 00000000000..2603e2f4100 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.simpletypes.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo +# Config containing only simple leaf types with default values, that can be used +# for testing individual types in detail. + +boolval bool default=false +doubleval double default=0.0 +enumval enum { VAL1, VAL2 } default=VAL1 +intval int default=0 +longval long default=0 +stringval string default="s" diff --git a/config/src/test/resources/configs/def-files/foo.specialtypes.def b/config/src/test/resources/configs/def-files/foo.specialtypes.def new file mode 100644 index 00000000000..06fdd0d4348 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.specialtypes.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo +myfile file +myref reference diff --git a/config/src/test/resources/configs/def-files/foo.string.def b/config/src/test/resources/configs/def-files/foo.string.def new file mode 100755 index 00000000000..78596515b7c --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.string.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +stringVal string default="_default_" diff --git a/config/src/test/resources/configs/def-files/foo.structtypes.def b/config/src/test/resources/configs/def-files/foo.structtypes.def new file mode 100644 index 00000000000..fe9d879fb64 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.structtypes.def @@ -0,0 +1,21 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only structs in various forms +namespace=foo + +simple.name string default="_default_" +simple.gender enum { MALE, FEMALE } default=MALE +simple.emails[] string + +nested.inner.name string default="_default_" +nested.inner.gender enum { MALE, FEMALE } default=MALE +nested.inner.emails[] string + +simplearr[].name string +simplearr[].gender enum { MALE, FEMALE } + +nestedarr[].inner.name string +nestedarr[].inner.gender enum { MALE, FEMALE } +nestedarr[].inner.emails[] string + +complexarr[].innerarr[].name string +complexarr[].innerarr[].gender enum { MALE, FEMALE } diff --git a/config/src/test/resources/configs/def-files/foo.test-nodefs.def b/config/src/test/resources/configs/def-files/foo.test-nodefs.def new file mode 100644 index 00000000000..e3b700c5732 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.test-nodefs.def @@ -0,0 +1,16 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +# test config vars with no defaults + +s string +j int +b bool +f double +e enum { AA, BB, CC } + +basicstruct.foo string +basicstruct.bar int + +arr[].s string +arr[].i int diff --git a/config/src/test/resources/configs/def-files/foo.test-nonstring.def b/config/src/test/resources/configs/def-files/foo.test-nonstring.def new file mode 100644 index 00000000000..eaa6fafe87d --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.test-nonstring.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +# Test non-string config vars with defaults + +i int default=0 +b bool default=false +d double default=0.0 +e enum { AA, BB, CC } default=AA diff --git a/config/src/test/resources/configs/def-files/foo.test-reference.def b/config/src/test/resources/configs/def-files/foo.test-reference.def new file mode 100644 index 00000000000..b5bbb5f4462 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.test-reference.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +configId reference default=":parent:" diff --git a/config/src/test/resources/configs/def-files/foo.testnamespace.def b/config/src/test/resources/configs/def-files/foo.testnamespace.def new file mode 100644 index 00000000000..6e58c691097 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.testnamespace.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo +basicStruct.stringVal string diff --git a/config/src/test/resources/configs/def-files/foo.unicode.def b/config/src/test/resources/configs/def-files/foo.unicode.def new file mode 100644 index 00000000000..493e3e37630 --- /dev/null +++ b/config/src/test/resources/configs/def-files/foo.unicode.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=foo + +unicodestring1 string +unicodestring2 string default="abc æøå 囲碁 ÆØÅ ABC" diff --git a/config/src/test/resources/configs/def-files/function-test.def b/config/src/test/resources/configs/def-files/function-test.def deleted file mode 100644 index 24eeb81ab7a..00000000000 --- a/config/src/test/resources/configs/def-files/function-test.def +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the autogenerated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - - -namespace=foo - -# Some random bool without a default value. These comments exist to check - # that comment parsing works. -bool_val bool - ## A bool with a default value set. -bool_with_def bool default=false -int_val int -int_with_def int default=-545 -long_val long -long_with_def long default=-50000000000 -double_val double -double_with_def double default=-6.43 -# Another comment -string_val string -stringwithdef string default="foobar" -enum_val enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -onechoice enum { ONLYFOO } default=ONLYFOO -refval reference -refwithdef reference default=":parent:" -fileVal file -pathVal path - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -fileArr[] file -pathArr[] path - -intMap{} int -stringMap{} string -filemap{} file -pathMap{} path - -# A basic struct -basicStruct.foo string default="basic" -basicStruct.bar int -basicStruct.intArr[] int - -# A struct of struct -rootStruct.inner0.name string default="inner0" -rootStruct.inner0.index int -rootStruct.inner1.name string default="inner1" -rootStruct.inner1.index int -rootStruct.innerArr[].boolVal bool default=false -rootStruct.innerArr[].stringVal string - -myarray[].intval int default=14 -myarray[].stringval[] string -myarray[].enumval enum { INNER, ENUM, TYPE } default=TYPE -myarray[].refval reference # Value in array without default -myarray[].fileVal file -myarray[].anotherarray[].foo int default=-4 -myarray[].myStruct.a int -myarray[].myStruct.b int default=2 - -myStructMap{}.myInt int -myStructMap{}.myString string -myStructMap{}.myIntDef int default=56 -myStructMap{}.myStringDef string default="g" -myStructMap{}.anotherMap{}.anInt int -myStructMap{}.anotherMap{}.anIntDef int default=11 diff --git a/config/src/test/resources/configs/def-files/int.def b/config/src/test/resources/configs/def-files/int.def deleted file mode 100755 index c1a1241c413..00000000000 --- a/config/src/test/resources/configs/def-files/int.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -intVal int default=1 diff --git a/config/src/test/resources/configs/def-files/maptypes.def b/config/src/test/resources/configs/def-files/maptypes.def deleted file mode 100644 index 0e39c7ccdb9..00000000000 --- a/config/src/test/resources/configs/def-files/maptypes.def +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only structs in various forms -namespace=foo - -boolmap{} bool -intmap{} int -longmap{} long -doublemap{} double -stringmap{} string -filemap{} file - -innermap{}.foo int -nestedmap{}.inner{} int diff --git a/config/src/test/resources/configs/def-files/myproject.config.namespace.def b/config/src/test/resources/configs/def-files/myproject.config.namespace.def new file mode 100644 index 00000000000..a8b55fb315e --- /dev/null +++ b/config/src/test/resources/configs/def-files/myproject.config.namespace.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=myproject.config + +a int diff --git a/config/src/test/resources/configs/def-files/namespace.def b/config/src/test/resources/configs/def-files/namespace.def deleted file mode 100644 index a8b55fb315e..00000000000 --- a/config/src/test/resources/configs/def-files/namespace.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=myproject.config - -a int diff --git a/config/src/test/resources/configs/def-files/simpletypes.def b/config/src/test/resources/configs/def-files/simpletypes.def deleted file mode 100644 index 2603e2f4100..00000000000 --- a/config/src/test/resources/configs/def-files/simpletypes.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo -# Config containing only simple leaf types with default values, that can be used -# for testing individual types in detail. - -boolval bool default=false -doubleval double default=0.0 -enumval enum { VAL1, VAL2 } default=VAL1 -intval int default=0 -longval long default=0 -stringval string default="s" diff --git a/config/src/test/resources/configs/def-files/specialtypes.def b/config/src/test/resources/configs/def-files/specialtypes.def deleted file mode 100644 index 06fdd0d4348..00000000000 --- a/config/src/test/resources/configs/def-files/specialtypes.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo -myfile file -myref reference diff --git a/config/src/test/resources/configs/def-files/string.def b/config/src/test/resources/configs/def-files/string.def deleted file mode 100755 index 78596515b7c..00000000000 --- a/config/src/test/resources/configs/def-files/string.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -stringVal string default="_default_" diff --git a/config/src/test/resources/configs/def-files/structtypes.def b/config/src/test/resources/configs/def-files/structtypes.def deleted file mode 100644 index fe9d879fb64..00000000000 --- a/config/src/test/resources/configs/def-files/structtypes.def +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only structs in various forms -namespace=foo - -simple.name string default="_default_" -simple.gender enum { MALE, FEMALE } default=MALE -simple.emails[] string - -nested.inner.name string default="_default_" -nested.inner.gender enum { MALE, FEMALE } default=MALE -nested.inner.emails[] string - -simplearr[].name string -simplearr[].gender enum { MALE, FEMALE } - -nestedarr[].inner.name string -nestedarr[].inner.gender enum { MALE, FEMALE } -nestedarr[].inner.emails[] string - -complexarr[].innerarr[].name string -complexarr[].innerarr[].gender enum { MALE, FEMALE } diff --git a/config/src/test/resources/configs/def-files/test-nodefs.def b/config/src/test/resources/configs/def-files/test-nodefs.def deleted file mode 100644 index e3b700c5732..00000000000 --- a/config/src/test/resources/configs/def-files/test-nodefs.def +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -# test config vars with no defaults - -s string -j int -b bool -f double -e enum { AA, BB, CC } - -basicstruct.foo string -basicstruct.bar int - -arr[].s string -arr[].i int diff --git a/config/src/test/resources/configs/def-files/test-nonstring.def b/config/src/test/resources/configs/def-files/test-nonstring.def deleted file mode 100644 index eaa6fafe87d..00000000000 --- a/config/src/test/resources/configs/def-files/test-nonstring.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -# Test non-string config vars with defaults - -i int default=0 -b bool default=false -d double default=0.0 -e enum { AA, BB, CC } default=AA diff --git a/config/src/test/resources/configs/def-files/test-reference.def b/config/src/test/resources/configs/def-files/test-reference.def deleted file mode 100644 index b5bbb5f4462..00000000000 --- a/config/src/test/resources/configs/def-files/test-reference.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -configId reference default=":parent:" diff --git a/config/src/test/resources/configs/def-files/testnamespace.def b/config/src/test/resources/configs/def-files/testnamespace.def deleted file mode 100644 index 6e58c691097..00000000000 --- a/config/src/test/resources/configs/def-files/testnamespace.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo -basicStruct.stringVal string diff --git a/config/src/test/resources/configs/def-files/unicode.def b/config/src/test/resources/configs/def-files/unicode.def deleted file mode 100644 index 493e3e37630..00000000000 --- a/config/src/test/resources/configs/def-files/unicode.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=foo - -unicodestring1 string -unicodestring2 string default="abc æøå 囲碁 ÆØÅ ABC" diff --git a/config_test/src/main/resources/configdefinitions/configtest.greeting.def b/config_test/src/main/resources/configdefinitions/configtest.greeting.def new file mode 100644 index 00000000000..924c1331e2c --- /dev/null +++ b/config_test/src/main/resources/configdefinitions/configtest.greeting.def @@ -0,0 +1,10 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=configtest + +greeting string default="Hello, world." +arbitrary double + +values[].marker int +values[].operations[].type enum { NALLE, BAMSE, BRAKAR } +values[].operations[].arguments[].key string +values[].operations[].arguments[].value string diff --git a/config_test/src/main/resources/configdefinitions/greeting.def b/config_test/src/main/resources/configdefinitions/greeting.def deleted file mode 100644 index 924c1331e2c..00000000000 --- a/config_test/src/main/resources/configdefinitions/greeting.def +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=configtest - -greeting string default="Hello, world." -arbitrary double - -values[].marker int -values[].operations[].type enum { NALLE, BAMSE, BRAKAR } -values[].operations[].arguments[].key string -values[].operations[].arguments[].value string diff --git a/configdefinitions/src/vespa/CMakeLists.txt b/configdefinitions/src/vespa/CMakeLists.txt index 0673e803057..ad870ff6a87 100644 --- a/configdefinitions/src/vespa/CMakeLists.txt +++ b/configdefinitions/src/vespa/CMakeLists.txt @@ -4,73 +4,39 @@ vespa_add_library(configdefinitions INSTALL lib64 DEPENDS ) -vespa_generate_config(configdefinitions application-id.def) -install_config_definition(application-id.def cloud.config.application-id.def) -vespa_generate_config(configdefinitions athenz-provider-service.def) -install_config_definition(athenz-provider-service.def vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def) -vespa_generate_config(configdefinitions attributes.def) -install_config_definition(attributes.def vespa.config.search.attributes.def) -vespa_generate_config(configdefinitions cluster-info.def) -install_config_definition(cluster-info.def cloud.config.cluster-info.def) -vespa_generate_config(configdefinitions cluster-list.def) -install_config_definition(cluster-list.def cloud.config.cluster-list.def) -vespa_generate_config(configdefinitions configserver.def) -install_config_definition(configserver.def cloud.config.configserver.def) -vespa_generate_config(configdefinitions dispatch.def) -install_config_definition(dispatch.def vespa.config.search.dispatch.def) -vespa_generate_config(configdefinitions filereferences.def) -install_config_definition(filereferences.def cloud.config.filedistribution.filereferences.def) -vespa_generate_config(configdefinitions fleetcontroller.def) -install_config_definition(fleetcontroller.def vespa.config.content.fleetcontroller.def) -vespa_generate_config(configdefinitions ilscripts.def) -install_config_definition(ilscripts.def vespa.configdefinition.ilscripts.def) -vespa_generate_config(configdefinitions imported-fields.def) -install_config_definition(imported-fields.def vespa.config.search.imported-fields.def) -vespa_generate_config(configdefinitions indexschema.def) -install_config_definition(indexschema.def vespa.config.search.indexschema.def) -vespa_generate_config(configdefinitions lb-services.def) -install_config_definition(lb-services.def cloud.config.lb-services.def) -vespa_generate_config(configdefinitions load-type.def) -install_config_definition(load-type.def vespa.config.content.load-type.def) -vespa_generate_config(configdefinitions logforwarder.def) -install_config_definition(logforwarder.def cloud.config.logforwarder.def) -vespa_generate_config(configdefinitions messagetyperouteselectorpolicy.def) -install_config_definition(messagetyperouteselectorpolicy.def vespa.config.content.messagetyperouteselectorpolicy.def) -vespa_generate_config(configdefinitions model.def) -install_config_definition(model.def cloud.config.model.def) -vespa_generate_config(configdefinitions orchestrator.def) -install_config_definition(orchestrator.def vespa.orchestrator.config.orchestrator.def) -vespa_generate_config(configdefinitions persistence.def) -install_config_definition(persistence.def vespa.config.content.persistence.def) -vespa_generate_config(configdefinitions rank-profiles.def) -install_config_definition(rank-profiles.def vespa.config.search.rank-profiles.def) -vespa_generate_config(configdefinitions routing-provider.def) -install_config_definition(routing-provider.def cloud.config.routing-provider.def) -vespa_generate_config(configdefinitions sentinel.def) -install_config_definition(sentinel.def cloud.config.sentinel.def) -vespa_generate_config(configdefinitions slobroks.def) -install_config_definition(slobroks.def cloud.config.slobroks.def) -vespa_generate_config(configdefinitions specialtokens.def) -install_config_definition(specialtokens.def vespa.configdefinition.specialtokens.def) -vespa_generate_config(configdefinitions stor-distribution.def) -install_config_definition(stor-distribution.def vespa.config.content.stor-distribution.def) -vespa_generate_config(configdefinitions stor-filestor.def) -install_config_definition(stor-filestor.def vespa.config.content.stor-filestor.def) -vespa_generate_config(configdefinitions summary.def) -install_config_definition(summary.def vespa.config.search.summary.def) -vespa_generate_config(configdefinitions summarymap.def) -install_config_definition(summarymap.def vespa.config.search.summarymap.def) -vespa_generate_config(configdefinitions upgrading.def) -install_config_definition(upgrading.def vespa.config.content.upgrading.def) -vespa_generate_config(configdefinitions ymon.def) -install_config_definition(ymon.def cloud.config.ymon.def) -vespa_generate_config(configdefinitions zookeeper-server.def) -install_config_definition(zookeeper-server.def cloud.config.zookeeper-server.def) -vespa_generate_config(configdefinitions zookeepers.def) -install_config_definition(zookeepers.def cloud.config.zookeepers.def) -vespa_generate_config(configdefinitions bucketspaces.def) -install_config_definition(bucketspaces.def vespa.config.content.core.bucketspaces.def) -vespa_generate_config(configdefinitions all-clusters-bucket-spaces.def) -install_config_definition(all-clusters-bucket-spaces.def vespa.config.content.all-clusters-bucket-spaces.def) -vespa_generate_config(configdefinitions stateserver.def) -install_config_definition(stateserver.def vespa.config.core.stateserver.def) +vespa_generate_config(configdefinitions cloud.config.application-id.def) +vespa_generate_config(configdefinitions vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def) +vespa_generate_config(configdefinitions vespa.config.search.attributes.def) +vespa_generate_config(configdefinitions cloud.config.cluster-info.def) +vespa_generate_config(configdefinitions cloud.config.cluster-list.def) +vespa_generate_config(configdefinitions cloud.config.configserver.def) +vespa_generate_config(configdefinitions vespa.config.search.dispatch.def) +vespa_generate_config(configdefinitions cloud.config.filedistribution.filereferences.def) +vespa_generate_config(configdefinitions vespa.config.content.fleetcontroller.def) +vespa_generate_config(configdefinitions vespa.configdefinition.ilscripts.def) +vespa_generate_config(configdefinitions vespa.config.search.imported-fields.def) +vespa_generate_config(configdefinitions vespa.config.search.indexschema.def) +vespa_generate_config(configdefinitions cloud.config.lb-services.def) +vespa_generate_config(configdefinitions vespa.config.content.load-type.def) +vespa_generate_config(configdefinitions cloud.config.logforwarder.def) +vespa_generate_config(configdefinitions vespa.config.content.messagetyperouteselectorpolicy.def) +vespa_generate_config(configdefinitions cloud.config.model.def) +vespa_generate_config(configdefinitions vespa.orchestrator.config.orchestrator.def) +vespa_generate_config(configdefinitions vespa.config.content.persistence.def) +vespa_generate_config(configdefinitions vespa.config.search.rank-profiles.def) +vespa_generate_config(configdefinitions cloud.config.routing-provider.def) +vespa_generate_config(configdefinitions cloud.config.sentinel.def) +vespa_generate_config(configdefinitions cloud.config.slobroks.def) +vespa_generate_config(configdefinitions vespa.configdefinition.specialtokens.def) +vespa_generate_config(configdefinitions vespa.config.content.stor-distribution.def) +vespa_generate_config(configdefinitions vespa.config.content.stor-filestor.def) +vespa_generate_config(configdefinitions vespa.config.search.summary.def) +vespa_generate_config(configdefinitions vespa.config.search.summarymap.def) +vespa_generate_config(configdefinitions vespa.config.content.upgrading.def) +vespa_generate_config(configdefinitions cloud.config.ymon.def) +vespa_generate_config(configdefinitions cloud.config.zookeeper-server.def) +vespa_generate_config(configdefinitions cloud.config.zookeepers.def) +vespa_generate_config(configdefinitions vespa.config.content.core.bucketspaces.def) +vespa_generate_config(configdefinitions vespa.config.content.all-clusters-bucket-spaces.def) +vespa_generate_config(configdefinitions vespa.config.core.stateserver.def) +install_config_definitions(src/vespa) diff --git a/configdefinitions/src/vespa/all-clusters-bucket-spaces.def b/configdefinitions/src/vespa/all-clusters-bucket-spaces.def deleted file mode 100644 index 7676bc2a03f..00000000000 --- a/configdefinitions/src/vespa/all-clusters-bucket-spaces.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## This config contains the document types handled by all content clusters -## and the bucket spaces they belong to. - -## The bucket space a document type in a particular cluster belongs to. -cluster{}.documentType{}.bucketSpace string - diff --git a/configdefinitions/src/vespa/application-id.def b/configdefinitions/src/vespa/application-id.def deleted file mode 100644 index 72f69f48519..00000000000 --- a/configdefinitions/src/vespa/application-id.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Application Id config (tenant, application, instance) - -namespace=cloud.config - -tenant string default="(unknowntenant)" -application string default="(unknownapplication)" -instance string default="(unknowninstance)" diff --git a/configdefinitions/src/vespa/athenz-provider-service.def b/configdefinitions/src/vespa/athenz-provider-service.def deleted file mode 100644 index bd929cb17d4..00000000000 --- a/configdefinitions/src/vespa/athenz-provider-service.def +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.athenz.instanceproviderservice.config - -# Athenz domain -domain string - -# Athenz service name -serviceName string - -# Secret name of private Key -secretName string - -# Secret version -secretVersion int - -# Certificate DNS suffix -certDnsSuffix string - -# Athenz ZTS server url -ztsUrl string - -# Path to Athenz CA JKS trust store -athenzCaTrustStore string - -# Period between certificate updates -updatePeriodDays int default=1 - -# Tenant Service id -tenantService string default=vespa.vespa.tenant \ No newline at end of file diff --git a/configdefinitions/src/vespa/attributes.def b/configdefinitions/src/vespa/attributes.def deleted file mode 100644 index 6c69d71fdf6..00000000000 --- a/configdefinitions/src/vespa/attributes.def +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -attribute[].name string -attribute[].datatype enum { STRING, BOOL, UINT2, UINT4, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE, PREDICATE, TENSOR, REFERENCE, NONE } default=NONE -attribute[].collectiontype enum { SINGLE, ARRAY, WEIGHTEDSET } default=SINGLE -attribute[].removeifzero bool default=false -attribute[].createifnonexistent bool default=false -attribute[].fastsearch bool default=false -attribute[].huge bool default=false -# An attribute marked mutable can be updated by a query. -attribute[].ismutable bool default=false -attribute[].sortascending bool default=true -attribute[].sortfunction enum { RAW, LOWERCASE, UCA } default=UCA -attribute[].sortstrength enum { PRIMARY, SECONDARY, TERTIARY, QUATERNARY, IDENTICAL } default=PRIMARY -attribute[].sortlocale string default="" -# Allow bitvector postings in addition to btree postings ? -attribute[].enablebitvectors bool default=false -# Allow only bitvector postings, i.e. drop btree postings to save memory.? -attribute[].enableonlybitvector bool default=false -# Allow fast access to this attribute at all times. -# If so, attribute is kept in memory also for non-searchable documents. -attribute[].fastaccess bool default=false -attribute[].arity int default=8 -attribute[].lowerbound long default=-9223372036854775808 -attribute[].upperbound long default=9223372036854775807 -# The threshold is given as a ratio of the corpus size -attribute[].densepostinglistthreshold double default=0.40 -# Specification of tensor type if this attribute is of type TENSOR. -attribute[].tensortype string default="" -# Whether this is an imported attribute (from parent document db) or not. -attribute[].imported bool default=false - -# The distance metric to use for nearest neighbor search. -# Is only used when the attribute is a 1-dimensional indexed tensor. -attribute[].distancemetric enum { EUCLIDEAN, ANGULAR, GEODEGREES, INNERPRODUCT, HAMMING } default=EUCLIDEAN - -# Configuration parameters for a hnsw index used together with a 1-dimensional indexed tensor for approximate nearest neighbor search. -attribute[].index.hnsw.enabled bool default=false -attribute[].index.hnsw.maxlinkspernode int default=16 -attribute[].index.hnsw.neighborstoexploreatinsert int default=200 -# Deprecated: Remove on Vespa 8 or before when possible. -attribute[].index.hnsw.distancemetric enum { EUCLIDEAN, ANGULAR, GEODEGREES, HAMMING } default=EUCLIDEAN -# Whether multi-threaded indexing is enabled for this hnsw index. -attribute[].index.hnsw.multithreadedindexing bool default=true diff --git a/configdefinitions/src/vespa/bucketspaces.def b/configdefinitions/src/vespa/bucketspaces.def deleted file mode 100644 index c9468850018..00000000000 --- a/configdefinitions/src/vespa/bucketspaces.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## This config contains the document types handled by a given content cluster -## and the bucket space they belong to. - -## The name of a document type. -documenttype[].name string - -## The bucket space this document type belongs to. -documenttype[].bucketspace string - diff --git a/configdefinitions/src/vespa/cloud.config.application-id.def b/configdefinitions/src/vespa/cloud.config.application-id.def new file mode 100644 index 00000000000..72f69f48519 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.application-id.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Application Id config (tenant, application, instance) + +namespace=cloud.config + +tenant string default="(unknowntenant)" +application string default="(unknownapplication)" +instance string default="(unknowninstance)" diff --git a/configdefinitions/src/vespa/cloud.config.cluster-info.def b/configdefinitions/src/vespa/cloud.config.cluster-info.def new file mode 100644 index 00000000000..f5e94ad61b3 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.cluster-info.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Information about the cluster the subscriber is a part of +namespace=cloud.config + +# clusterId is same as clustername in model +clusterId string +nodeCount int + +services[].index int default=-1 +services[].hostname string default="(nohostname)" +services[].ports[].number int default=-1 +services[].ports[].tags string default="(notags)" diff --git a/configdefinitions/src/vespa/cloud.config.cluster-list.def b/configdefinitions/src/vespa/cloud.config.cluster-list.def new file mode 100644 index 00000000000..ad6f9715eb9 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.cluster-list.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +storage[].name string +storage[].configid string default="" diff --git a/configdefinitions/src/vespa/cloud.config.configserver.def b/configdefinitions/src/vespa/cloud.config.configserver.def new file mode 100644 index 00000000000..7405f5f2d05 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.configserver.def @@ -0,0 +1,69 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +# Ports +rpcport int default=19070 +httpport int default=19071 +# 0 means use the number of CPU cores available +numRpcThreads int default=0 + +# ZooKeeper +zookeeperserver[].hostname string +zookeeperserver[].port int default=2181 +# ZK write timeout in seconds, must be long enough to write application packages to other nodes +zookeeper.barrierTimeout long default=360 +zookeeperLocalhostAffinity bool default=true + +# Directories +configModelPluginDir[] string +configServerDBDir string default="var/db/vespa/config_server/serverdb/" +configDefinitionsDir string default="share/vespa/configdefinitions/" +fileReferencesDir string default="var/db/vespa/filedistribution/" + +# Misc +sessionLifetime long default=3600 # in seconds +masterGeneration long default=0 +multitenant bool default=false +numDelayedResponseThreads int default=1 +serverId string default="localhost" +hostedVespa bool default=false +numParallelTenantLoaders int default=4 + +# Configserver app +applicationDirectory string default="conf/configserver-app" + +# Zone information +cloud string default="default" +environment string default="prod" +region string default="default" +system string default="main" + +# RPC protocol +maxgetconfigclients int default=1000000 +maxoutputbuffersize int default=65536 +useVespaVersionInRequest bool default=false +payloadCompressionType enum { UNCOMPRESSED, LZ4 } default=LZ4 + +# Athenz config +loadBalancerAddress string default="" +athenzDnsSuffix string default="" +ztsUrl string default="" + +# Maintainers +maintainerIntervalMinutes int default=30 +keepUnusedFileReferencesHours int default=2 + +# Bootstrapping +# How long bootstrapping can take before giving up (in seconds) +maxDurationOfBootstrap long default=7200 +# How long to sleep before redeploying again if it fails (in seconds) +sleepTimeWhenRedeployingFails long default=30 + +# Features (to be overridden in configserver-config.xml if needed) +buildMinimalSetOfConfigModels bool default=true + +# Unused, remove in Vespa 8 +throwIfActiveSessionCannotBeLoaded bool default=true + +canReturnEmptySentinelConfig bool default=false +serverNodeType enum {config, controller} default=config diff --git a/configdefinitions/src/vespa/cloud.config.filedistribution.filereferences.def b/configdefinitions/src/vespa/cloud.config.filedistribution.filereferences.def new file mode 100644 index 00000000000..03e071959ce --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.filedistribution.filereferences.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config.filedistribution +filereferences[] string diff --git a/configdefinitions/src/vespa/cloud.config.lb-services.def b/configdefinitions/src/vespa/cloud.config.lb-services.def new file mode 100644 index 00000000000..33c568061fe --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.lb-services.def @@ -0,0 +1,20 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config for load balancer that needs to know about all services for +# all tenants and applications in a config server cluster + +namespace=cloud.config + +# Active rotation given as flag 'active' for a prod region in deployment.xml +# Default true for now (since code in config-model to set it is not ready yet), should have no default value +tenants{}.applications{}.activeRotation bool default=true + +tenants{}.applications{}.hosts{}.hostname string default="(unknownhostname)" +tenants{}.applications{}.hosts{}.services{}.type string default="(noservicetype)" +tenants{}.applications{}.hosts{}.services{}.clustertype string default="(unknownclustertype)" +tenants{}.applications{}.hosts{}.services{}.clustername string default="(unknownclustername)" +tenants{}.applications{}.hosts{}.services{}.configId string +tenants{}.applications{}.hosts{}.services{}.index int default=0 +tenants{}.applications{}.hosts{}.services{}.ports[].number int default=-1 +tenants{}.applications{}.hosts{}.services{}.ports[].tags string default="(notags)" +tenants{}.applications{}.hosts{}.services{}.servicealiases[] string +tenants{}.applications{}.hosts{}.services{}.endpointaliases[] string diff --git a/configdefinitions/src/vespa/cloud.config.logforwarder.def b/configdefinitions/src/vespa/cloud.config.logforwarder.def new file mode 100644 index 00000000000..ab56589298f --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.logforwarder.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +# only splunk type config for now + +deploymentServer string default="" +clientName string default="" +splunkHome string default="/opt/splunkforwarder" +phoneHomeInterval int default=60 diff --git a/configdefinitions/src/vespa/cloud.config.model.def b/configdefinitions/src/vespa/cloud.config.model.def new file mode 100644 index 00000000000..59c04cee143 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.model.def @@ -0,0 +1,13 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +vespaVersion string default="unknown" +hosts[].name string default="(unknownhostname)" +hosts[].services[].name string default="(noservicename)" +hosts[].services[].type string default="(noservicetype)" +hosts[].services[].configid string default="(noconfigid)" +hosts[].services[].clustertype string default="(unknownclustertype)" +hosts[].services[].clustername string default="(unknownclustername)" +hosts[].services[].index int default=0 +hosts[].services[].ports[].number int default=-1 +hosts[].services[].ports[].tags string default="(notags)" diff --git a/configdefinitions/src/vespa/cloud.config.routing-provider.def b/configdefinitions/src/vespa/cloud.config.routing-provider.def new file mode 100755 index 00000000000..eedf4f3c86f --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.routing-provider.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Configuration for the routing config provider + +# TODO Remove once YCA filter is removed + +namespace=cloud.config + +# disabled by default, automatically enabled for hosted vespa +enabled bool default=false diff --git a/configdefinitions/src/vespa/cloud.config.sentinel.def b/configdefinitions/src/vespa/cloud.config.sentinel.def new file mode 100644 index 00000000000..d318a55cccf --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.sentinel.def @@ -0,0 +1,50 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +## The port where sentinel should run its telnet interface +port.telnet int default=19098 + +## The port where sentinel should run its RPC interface +port.rpc int default=19097 + +## Meta info about the application running on this node. All values are +## exported to child processes as $VESPA_APPLICATION_TENANT, +## $VESPA_APPLICATION_NAME, $VESPA_APPLICATION_ENVIRONMENT, $VESPA_APPLICATION_REGION +## and $VESPA_APPLICATION_INSTANCE +application.tenant string default="default" +application.name string default="default" +application.environment string default="default" +application.instance string default="default" +application.region string default="default" + +## The command to run. This will be run by sh -c, and the following +## environment variables are defined: $ROOT, $VESPA_SERVICE_NAME, +## $VESPA_CONFIG_ID +## +## stdin points to /dev/null +## stdout and stderr connected to sentinel via pipe on startup. +service[].command string + +## The command to run before stopping service. The same properties as for +## startup command holds. +service[].preShutdownCommand string default="" + +## The service name for this service. Exported in VESPA_SERVICE_NAME +## environment variable. All services must have unique names. +## The service name is used by to start/stop services, and to list +## them. It is also logged in the service field in every log message. +service[].name string + +## Should the service be auto-started by configd as soon as it starts up, +## or must it be started manually? Almost always true. +service[].autostart bool default=false + +## Should the service automatically be restarted if it exits? +service[].autorestart bool default=true + +## Config reference to the service being started. +## Exported in the VESPA_CONFIG_ID environment variable. +service[].id reference + +## Affinity of this service towards a CPU socket +service[].affinity.cpuSocket int default=-1 diff --git a/configdefinitions/src/vespa/cloud.config.slobroks.def b/configdefinitions/src/vespa/cloud.config.slobroks.def new file mode 100644 index 00000000000..b4e5536d2df --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.slobroks.def @@ -0,0 +1,13 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +### All params must be flagged as 'restart' because this config is manually +### retrieved by ConfiguredApplication.start to init the rpc server + +## The connectionspec for a slobrok is used for connecting to it using +## the FNET Remote Tools framework. It is normally on the form +## tcp/hostname:portnumber where hostname is the same name returned by +## gethostname() on the machine. This string is also used by the +## actual slobrok to figure out which port it should listen to. + +slobrok[].connectionspec string restart diff --git a/configdefinitions/src/vespa/cloud.config.ymon.def b/configdefinitions/src/vespa/cloud.config.ymon.def new file mode 100644 index 00000000000..2296248bf8b --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.ymon.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +services[].servicetype string default="(unknownservicetype)" +services[].ymonname string default="(unknownymonname)" +services[].hosts[] string diff --git a/configdefinitions/src/vespa/cloud.config.zookeeper-server.def b/configdefinitions/src/vespa/cloud.config.zookeeper-server.def new file mode 100644 index 00000000000..483e772b818 --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.zookeeper-server.def @@ -0,0 +1,45 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config + +# Vespa home is prepended if the file is relative +zooKeeperConfigFile string default="conf/zookeeper/zookeeper.cfg" + +# For more info about the values below, see ZooKeeper documentation + +# tick time in milliseconds +tickTime int default=2000 +initLimit int default=20 +syncLimit int default=15 +maxClientConnections int default=0 + +# Vespa home is prepended if the file is relative +dataDir string default="var/zookeeper" + +clientPort int default=2181 +secureClientPort int default=2184 + +snapshotCount int default=50000 +# Purge interval in hours +autopurge.purgeInterval int default=1 +autopurge.snapRetainCount int default=15 + +# Vespa home is prepended if the file is relative +myidFile string default="var/zookeeper/myid" +# Change from default of 1 Mb in zookeeper to 50 Mb +juteMaxBuffer int default=52428800 + +myid int +server[].id int +server[].hostname string +server[].quorumPort int default=2182 +server[].electionPort int default=2183 + +# Needed when upgrading from ZooKeeper 3.4 to 3.5, see https://issues.apache.org/jira/browse/ZOOKEEPER-3056, +# and in general where there is a zookeeper ensemble running that has had few transactions. +# TODO: Consider setting this to false by default (and override where appropriate) +trustEmptySnapshot bool default=true + +# TLS options +tlsForQuorumCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF +tlsForClientServerCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF +jksKeyStoreFile string default="conf/zookeeper/zookeeper.jks" diff --git a/configdefinitions/src/vespa/cloud.config.zookeepers.def b/configdefinitions/src/vespa/cloud.config.zookeepers.def new file mode 100644 index 00000000000..d12bdd334ca --- /dev/null +++ b/configdefinitions/src/vespa/cloud.config.zookeepers.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config +zookeeperserverlist string diff --git a/configdefinitions/src/vespa/cluster-info.def b/configdefinitions/src/vespa/cluster-info.def deleted file mode 100644 index f5e94ad61b3..00000000000 --- a/configdefinitions/src/vespa/cluster-info.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Information about the cluster the subscriber is a part of -namespace=cloud.config - -# clusterId is same as clustername in model -clusterId string -nodeCount int - -services[].index int default=-1 -services[].hostname string default="(nohostname)" -services[].ports[].number int default=-1 -services[].ports[].tags string default="(notags)" diff --git a/configdefinitions/src/vespa/cluster-list.def b/configdefinitions/src/vespa/cluster-list.def deleted file mode 100644 index ad6f9715eb9..00000000000 --- a/configdefinitions/src/vespa/cluster-list.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -storage[].name string -storage[].configid string default="" diff --git a/configdefinitions/src/vespa/configserver.def b/configdefinitions/src/vespa/configserver.def deleted file mode 100644 index 7405f5f2d05..00000000000 --- a/configdefinitions/src/vespa/configserver.def +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -# Ports -rpcport int default=19070 -httpport int default=19071 -# 0 means use the number of CPU cores available -numRpcThreads int default=0 - -# ZooKeeper -zookeeperserver[].hostname string -zookeeperserver[].port int default=2181 -# ZK write timeout in seconds, must be long enough to write application packages to other nodes -zookeeper.barrierTimeout long default=360 -zookeeperLocalhostAffinity bool default=true - -# Directories -configModelPluginDir[] string -configServerDBDir string default="var/db/vespa/config_server/serverdb/" -configDefinitionsDir string default="share/vespa/configdefinitions/" -fileReferencesDir string default="var/db/vespa/filedistribution/" - -# Misc -sessionLifetime long default=3600 # in seconds -masterGeneration long default=0 -multitenant bool default=false -numDelayedResponseThreads int default=1 -serverId string default="localhost" -hostedVespa bool default=false -numParallelTenantLoaders int default=4 - -# Configserver app -applicationDirectory string default="conf/configserver-app" - -# Zone information -cloud string default="default" -environment string default="prod" -region string default="default" -system string default="main" - -# RPC protocol -maxgetconfigclients int default=1000000 -maxoutputbuffersize int default=65536 -useVespaVersionInRequest bool default=false -payloadCompressionType enum { UNCOMPRESSED, LZ4 } default=LZ4 - -# Athenz config -loadBalancerAddress string default="" -athenzDnsSuffix string default="" -ztsUrl string default="" - -# Maintainers -maintainerIntervalMinutes int default=30 -keepUnusedFileReferencesHours int default=2 - -# Bootstrapping -# How long bootstrapping can take before giving up (in seconds) -maxDurationOfBootstrap long default=7200 -# How long to sleep before redeploying again if it fails (in seconds) -sleepTimeWhenRedeployingFails long default=30 - -# Features (to be overridden in configserver-config.xml if needed) -buildMinimalSetOfConfigModels bool default=true - -# Unused, remove in Vespa 8 -throwIfActiveSessionCannotBeLoaded bool default=true - -canReturnEmptySentinelConfig bool default=false -serverNodeType enum {config, controller} default=config diff --git a/configdefinitions/src/vespa/dispatch.def b/configdefinitions/src/vespa/dispatch.def deleted file mode 100644 index aa40c317d75..00000000000 --- a/configdefinitions/src/vespa/dispatch.def +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2019 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Configuration of dispatch from container nodes to search clusters - -namespace=vespa.config.search - -# The active docs a group must have as a % of the average active docs of all other groups, -# for that group to be included in queries -minActivedocsPercentage double default=97.0 - -# Minimum coverage for allowing a group to be considered for serving -minGroupCoverage double default=100 - -# Maximum number of nodes allowed to be down for group to be considered for serving -maxNodesDownPerGroup int default=0 - -# Distribution policy for group selection -distributionPolicy enum { ROUNDROBIN, ADAPTIVE } default=ADAPTIVE - -## Maximum number of hits that will be requested from a single node -## in this dataset. If not set, there is no limit. Using this option -## may help reduce network traffic when searching in datasets with big -## fan-out, but it will also result in incorrect and incomplete results; -## don't use it if you don't (really) mean it. -maxHitsPerNode int default=2147483647 - -## Probability for getting the K best hits (topK). -## A value of 1.0 will ask all N partitions for K hits. -## Any value between <0, 1> will use a Student T with 30 degrees freedom and compute a value Q that -## will give you the globally K best hits according to this formula with the desired probability. -## q = k/n + qT (p',30) x √(k × (1/n) × (1 − 1/n)) -## With a probability of 0.999 and K=200 and N=10 will give a Q of 38, meaning that you only need to fetch 19% compared to -## a setting of 1.0. This is a significant optimisation with with very little loss in presicion. -topKProbability double default=0.9999 - -# Is multi-level dispatch configured for this cluster -# Deprecated, will go away soon, NOOP -useMultilevelDispatch bool default=false - -# Dispatch only to local nodes. DEPRECATED: The container will automatically do this when it is appropriate. -useLocalNode bool default=false - -# Number of document copies -searchableCopies long default=1 - -# Minimum search coverage required before returning the results of a query -minSearchCoverage double default=100 - -# Minimum wait time for full coverage after minimum coverage is achieved, factored based on time left at minimum coverage -minWaitAfterCoverageFactor double default=0 - -# Maximum wait time for full coverage after minimum coverage is achieved, factored based on time left at minimum coverage -maxWaitAfterCoverageFactor double default=1 - -# Number of JRT transport threads -numJrtTransportThreads int default=8 - -# Number of JRT connections per backend node -numJrtConnectionsPerNode int default=8 - -# Number of seconds to spend warming up code to prevent JIT cold start issues. -warmuptime double default=0.1 - -# The unique key of a search node -node[].key int - -# The index of the group this search node belongs to -node[].group int default=0 - -# The host name of this search node -node[].host string - -# The rpc port of this search node -node[].port int diff --git a/configdefinitions/src/vespa/filereferences.def b/configdefinitions/src/vespa/filereferences.def deleted file mode 100644 index 03e071959ce..00000000000 --- a/configdefinitions/src/vespa/filereferences.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config.filedistribution -filereferences[] string diff --git a/configdefinitions/src/vespa/fleetcontroller.def b/configdefinitions/src/vespa/fleetcontroller.def deleted file mode 100644 index 96b43a15c5e..00000000000 --- a/configdefinitions/src/vespa/fleetcontroller.def +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## Name of VDS cluster -cluster_name string restart - -## The fleetcontroller index. Each fleetcontroller should have a unique index -## which can be used to identify them. -index int restart - -## Number of fleet controllers. If more than one, the fleetcontroller needs to -## do master election in order to know which one is active. It then needs to -## know how many exist. -fleet_controller_count int default=1 - -## The number of seconds we can attempt to talk to zookeeper before our session -## time out and we lose our connection. -zookeeper_session_timeout double default=30.0 - -## When a master candidate see the master disappearing from ZooKeeper, it wants -## to take over as master. But, before taking over, the master should be aware -## that it has lost its zookeeper connection, so it will stop reacting as -## master. Suggests setting this to 2-3 times the zookeeper session timeout. -## (Set in number of seconds) -master_zookeeper_cooldown_period double default=60.0 - -## Sets how many fleetcontrollers will gather state. A fleetcontroller -## gathering state can take over quicker should ## the master fail. -## If set to 1, only master will gather state. If set higher, others will -## also do so, prioritizing those fleetcontrollers likely to be the ones to -## take over if the master fails. -state_gather_count int default=2 - -## Location of ZooKeeper servers -zookeeper_server string restart - -## RPC Port used by fleetcontroller -rpc_port int default=6500 restart - -## Port where fleetcontroller listens for HTTP status request -http_port int default=0 restart - -## Maximum number of milliseconds a storage will be automatically reported in -## maintenance due to node recently being availble. (If 0, no time at all) -storage_transition_time int default=30000 - -## Maximum number of milliseconds a distributor will be automatically reported -## in maintenance due to node recently being availble. (If 0, no time at all) -## -## Currently default is 0.. Should probably be more then we know it is working -## correctly -distributor_transition_time int default=0 - -## Maximum number of milliseconds allowed between progress increase during -## initialization. If no progress have been made during this time period, the -## node will be considered down. -## -## Currently disabled as 5.0 nodes gets load while initializing which may be -## higher pri than initializing, so nodes can stay in init for a long time. -init_progress_time int default=0 - -## Minimum time (in ms) between system state updates. To limit updates in a -## system where a lot is happening at the same time, this value will make sure -## we dont change the state too often. -min_time_between_new_systemstates int default=10000 - -## Sets how many milliseconds to wait between each state poll for old nodes -## requiring state polling. (4.1 or older) -state_polling_frequency int default=5000 - -## The maximum amount of premature crashes a node is allowed to have in a row -## before the fleetcontroller disables that node. -max_premature_crashes int default=100000 - -## If a node has been down or up this many milliseconds, clear the premature -## crash count of a node and consider the node as stable -stable_state_time_period int default=7200000 - -## The maximum number of events to keep in the event log -event_log_max_size int default=1024 - -## The maximum number of node events to keep in the node event log per node -event_node_log_max_size int default=1024 - -## The total number of distributor nodes that can exist. If 0, we dont know and -## will use the highest distributor index number we have ever seen + 1. -total_distributor_count int default=0 - -## The total number of storage nodes that can exist. If 0, we dont know and -## will use the highest storage index number we have ever seen + 1. -total_storage_count int default=0 - -## The minimum number of distributor nodes that should be up for the cluster -## state to be up. (Retired nodes counts as up in this case) -min_distributors_up_count int default=1 - -## The minimum number of storage nodes that should be up for the cluster state -## to be up (Retired nodes counts as up in this case) -min_storage_up_count int default=1 - -## The minimum ratio of known distributor nodes that should be up (or retired) -## for the cluster state to stay up. -min_distributor_up_ratio double default=0.01 - -## The minimum ratio of known storage nodes that should be up (or retired) for -## the cluster state to stay up. -min_storage_up_ratio double default=0.01 - -## Seconds to sleep after doing a work cycle where we did no work. Some -## events do not interrupt the sleeping, such as slobrok changes, so shouldn't -## set this too high -cycle_wait_time double default=0.1 - -## Minimum time to pass in seconds before broadcasting our first systemstate as -## a new fleetcontroller. (Will broadcast earlier than this if we have gathered -## state from all before this). To prevent disturbance when taking over as -## fleetcontroller, give nodes a bit of time to answer so we dont temporarily -## report nodes as down. -min_time_before_first_system_state_broadcast double default=5.0 - -## Request timeout of node state requests. Keeping a high timeout allows us to -## always have a pending operation with very low cost. Keeping a low timeout is -## good to detect issues like packet loss. The default tries to balance the two -## by not resending too often, but detecting packet loss within a minute at -## least. If we can guarantee RPC layer to fail on packet loss within -## reasonable time we should increase this default. -get_node_state_request_timeout double default=120.0 - -## If a node is out of slobrok longer than this time period, assume the node -## is down, even if we have a pending node state request to it. Slobrok does -## a bit more keep alive checking than fleetcontroller, so it is possible that -## the node disappears from slobrok while it still looks ok in fleetcontroller. -max_slobrok_disconnect_grace_period double default=60.0 - -## Whether to show system states that have never been sent to storage nodes in -## the event log. -show_local_systemstates_in_event_log bool default=true - -## The ideal number of distribution bits this system should have -ideal_distribution_bits int default=16 - -## Minimum ratio of nodes that have to be available (i.e. not Down) in any -## hierarchic content cluster group. If a higher ratio than this is Down at -## any point, the remaning nodes in the group will be automatically marked -## as down. Group nodes will automatically be taken back up as soon as node -## availability has been restored above the given threshold. -## Default is 0, i.e. functionality is for all intents and purposes disabled. -min_node_ratio_per_group double default=0.0 - -## If a cluster controller task has a dependency on a given cluster state -## version being published and ACKed by the cluster, it will be put on a wait -## queue while holding up the container thread associated with the task. -## This config specifies the maximum time a task can be held in this queue -## before being automatically failed out, if a version has not been ACKed -## within this duration. -max_deferred_task_version_wait_time_sec double default=30.0 - -## Whether or not the content cluster the controller has responsibility for -## contains any document types that are tagged as global. If this is true, -## global document-specific behavior is enabled that marks nodes down in the -## default space if they have merges pending in the global bucket space. -cluster_has_global_document_types bool default=false - -## The minimum merge completion ratio of buckets in a bucket space before it is considered complete. -## -## Bucket merges are considered complete when: -## ((buckets_total - buckets_pending) / buckets_total)) >= min_merge_completion_ratio -min_merge_completion_ratio double default=1.0 - -## If enabled, cluster state transitions are performed as two distinct phases: -## -## 1) state bundle propagation and bucket info gathering phase -## 2) state activation phase, which is not performed until all nodes have completed phase 1 -## -## This is to enable read-only operations to pass through the system during phase 1 -## while nodes await phase 2. If this feature is disabled, nodes will implicitly do -## phase 2 as part of phase 1 at their own leisure, which means that actual state -## activation may happen at wildly different times throughout the cluster. The 2 phase -## transition logic aims to minimize the window of time where active states diverge. -enable_two_phase_cluster_state_transitions bool default=false - -## Deprecated - not used -determine_buckets_from_bucket_space_metric bool default=true diff --git a/configdefinitions/src/vespa/ilscripts.def b/configdefinitions/src/vespa/ilscripts.def deleted file mode 100644 index 901e87dbd04..00000000000 --- a/configdefinitions/src/vespa/ilscripts.def +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.configdefinition - -## The maximum number of occurrences of a given term to index per field -maxtermoccurrences int default=100 -fieldmatchmaxlength int default=1000000 - -ilscript[].doctype string -ilscript[].docfield[] string -ilscript[].content[] string diff --git a/configdefinitions/src/vespa/imported-fields.def b/configdefinitions/src/vespa/imported-fields.def deleted file mode 100644 index 0947ff63e2a..00000000000 --- a/configdefinitions/src/vespa/imported-fields.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -# The name of an imported attribute field in context of this document type. -attribute[].name string - -# The name of the field (in this document type) that refers to a parent document type. -attribute[].referencefield string - -# The name of the target attribute field in the parent document type that is imported into this document type. -attribute[].targetfield string diff --git a/configdefinitions/src/vespa/indexschema.def b/configdefinitions/src/vespa/indexschema.def deleted file mode 100644 index 245570ef7b5..00000000000 --- a/configdefinitions/src/vespa/indexschema.def +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## Config specifying the index fields and field collections that are part of an index schema. -namespace=vespa.config.search - -## The name of the index field. -indexfield[].name string -## The data type of the index field. -indexfield[].datatype enum { STRING, INT64 } default=STRING -## The collection type of the index field. -indexfield[].collectiontype enum { SINGLE, ARRAY, WEIGHTEDSET } default=SINGLE -## Whether the index should support prefix searches. -indexfield[].prefix bool default=false -## Whether the index should support phrase searches. -indexfield[].phrases bool default=false -## Whether the index should have posting lists with word positions. -indexfield[].positions bool default=true -## Average element length -indexfield[].averageelementlen int default=512 -## Whether the index field should use posting lists with interleaved features or not. -indexfield[].interleavedfeatures bool default=false - -## The name of the field collection (aka logical view). -fieldset[].name string -## The name of the index field that are part of this collection. -fieldset[].field[].name string diff --git a/configdefinitions/src/vespa/lb-services.def b/configdefinitions/src/vespa/lb-services.def deleted file mode 100644 index 33c568061fe..00000000000 --- a/configdefinitions/src/vespa/lb-services.def +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config for load balancer that needs to know about all services for -# all tenants and applications in a config server cluster - -namespace=cloud.config - -# Active rotation given as flag 'active' for a prod region in deployment.xml -# Default true for now (since code in config-model to set it is not ready yet), should have no default value -tenants{}.applications{}.activeRotation bool default=true - -tenants{}.applications{}.hosts{}.hostname string default="(unknownhostname)" -tenants{}.applications{}.hosts{}.services{}.type string default="(noservicetype)" -tenants{}.applications{}.hosts{}.services{}.clustertype string default="(unknownclustertype)" -tenants{}.applications{}.hosts{}.services{}.clustername string default="(unknownclustername)" -tenants{}.applications{}.hosts{}.services{}.configId string -tenants{}.applications{}.hosts{}.services{}.index int default=0 -tenants{}.applications{}.hosts{}.services{}.ports[].number int default=-1 -tenants{}.applications{}.hosts{}.services{}.ports[].tags string default="(notags)" -tenants{}.applications{}.hosts{}.services{}.servicealiases[] string -tenants{}.applications{}.hosts{}.services{}.endpointaliases[] string diff --git a/configdefinitions/src/vespa/load-type.def b/configdefinitions/src/vespa/load-type.def deleted file mode 100644 index 2e3f65cfbba..00000000000 --- a/configdefinitions/src/vespa/load-type.def +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## This config is used to define load types in VESPA. Load types are merely -## a way to distinguish types of load, as to present such types differently. -## For instance, some metrics will be presented per load type, such that you -## can see how that specific type is being handled. Load types are especially -## useful for separating loads of different priority. - -namespace=vespa.config.content - -## The identifying index of this type. 0 cannot be used as it is -## reserved for the default type. Other types should be -## non-overlapping from 1 and upwards. No gaps are allowed in the -## index range. (For performance reasons we want to use arrays -## internally where the id is the index) -## -## The identifier is used for efficient transfer of type information. -## The types will be identified by names instead in more textual or -## verbose interfaces. -## restart flag was added automatically and needs to be verified. -type[].id int restart - -## The name of a given load type. Each load type must have a unique -## name. The name "default" is reserved for the default type of id 0. -## restart flag was added automatically and needs to be verified. -type[].name string restart - -## The default priority for the load type. -## restart flag was added automatically and needs to be verified. -type[].priority string restart - diff --git a/configdefinitions/src/vespa/logforwarder.def b/configdefinitions/src/vespa/logforwarder.def deleted file mode 100644 index ab56589298f..00000000000 --- a/configdefinitions/src/vespa/logforwarder.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -# only splunk type config for now - -deploymentServer string default="" -clientName string default="" -splunkHome string default="/opt/splunkforwarder" -phoneHomeInterval int default=60 diff --git a/configdefinitions/src/vespa/messagetyperouteselectorpolicy.def b/configdefinitions/src/vespa/messagetyperouteselectorpolicy.def deleted file mode 100644 index 7fbd6e45bd7..00000000000 --- a/configdefinitions/src/vespa/messagetyperouteselectorpolicy.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -# Default route if no override is set for a type. -defaultroute string - -# The name of the route. -route[].name string - -# The document protocol messagetype triggering this route. -route[].messagetype int diff --git a/configdefinitions/src/vespa/model.def b/configdefinitions/src/vespa/model.def deleted file mode 100644 index 59c04cee143..00000000000 --- a/configdefinitions/src/vespa/model.def +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -vespaVersion string default="unknown" -hosts[].name string default="(unknownhostname)" -hosts[].services[].name string default="(noservicename)" -hosts[].services[].type string default="(noservicetype)" -hosts[].services[].configid string default="(noconfigid)" -hosts[].services[].clustertype string default="(unknownclustertype)" -hosts[].services[].clustername string default="(unknownclustername)" -hosts[].services[].index int default=0 -hosts[].services[].ports[].number int default=-1 -hosts[].services[].ports[].tags string default="(notags)" diff --git a/configdefinitions/src/vespa/orchestrator.def b/configdefinitions/src/vespa/orchestrator.def deleted file mode 100644 index ab52c777398..00000000000 --- a/configdefinitions/src/vespa/orchestrator.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.orchestrator.config - -# TODO: Change the default to actual latency in real setup. -serviceMonitorConvergenceLatencySeconds int default=0 diff --git a/configdefinitions/src/vespa/persistence.def b/configdefinitions/src/vespa/persistence.def deleted file mode 100644 index b2709dedc57..00000000000 --- a/configdefinitions/src/vespa/persistence.def +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## If set, causes the service layer to trigger an abort of any queued -## operations for buckets whose ownership changes during a cluster state -## change. This helps ensure consistency between the distributors and -## the storage nodes by discarding operations that were not sent by the -## new owning distributor. The service layer will also block any new -## operations from happening until all operations currently executing for -## buckets with changed ownership have completed. -## Enabling this option has a potential of causing a minor performance -## impact when a node goes up or down due to its blocking semantics, but -## this should be on the order of tens to a few hundred milliseconds. -abort_operations_with_changed_bucket_ownership bool default=true - -## If set, aborts any mutating ideal state operations that arrive to a node -## that were scheduled and sent by distributors that no longer own the buckets -## the operations are bound for. This option complements the above config, -## as this is checked for every arriving message and not when the state changes. -abort_outdated_mutating_ideal_state_ops bool default=true - -## If set, aborts any external (client) operations that arrive to a node from -## a distributor that is no longer the owner of the bucket those operations -## belong to. As with the abort_outdated_mutating_ideal_state_ops option, -## this is a check that happens whenever a message arrives, not when the state -## changes. -abort_outdated_mutating_external_load_ops bool default=true - -## Whether or not to disable partitions when they report I/O errors -fail_partition_on_error bool default=true - -## Time period to keep all updates (given in seconds). One can revert any -## operation done within this time. -revert_time_period int default=300 - -## Minimum number of seconds that document remove (tombstone) entries are -## retained in a bucket before being automatically compacted away. In the case -## where a node has been down for a longer period of time than this value -## and then comes back up, there exists a possibility for documents to be -## resurrected. This happens when documents existing on both the downed node -## and the online nodes are marked as removed on the online nodes and then -## subsequently compacted away along with their remove entries. When the old -## node comes back online, it will appear to the system as if the node has -## documents that do not exist on other nodes (as no remove-entries can be -## found for them) and they will subsequently re-appear. -keep_remove_time_period int default=604800 - -## For providers supporting multiple document versions, this option specifies -## a soft limit on the maximum number of versions that can be stored for a -## single document at any given time. This is considered a soft limit as it -## is possible for more versions to exist concurrently than what this config -## value specifies in a case where the pressure on the containing bucket is not -## yet high enough to warrant a compaction. -## After a compaction has taken place, only the n _newest_ document versions -## will be present in the compacted representation of the bucket. -## This limitation takes precedence over what versions may be stored according -## to revert_time_period. -## Configured value must be at least 1. -maximum_versions_of_single_document_stored int default=5 - diff --git a/configdefinitions/src/vespa/rank-profiles.def b/configdefinitions/src/vespa/rank-profiles.def deleted file mode 100644 index 525930c990b..00000000000 --- a/configdefinitions/src/vespa/rank-profiles.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -## name of this rank profile. maps to table index for internal use. -rankprofile[].name string - -## the name of a generic property available to the feature execution framework and feature plugins -rankprofile[].fef.property[].name string - -## the value of a generic property available to feature plugins -rankprofile[].fef.property[].value string - diff --git a/configdefinitions/src/vespa/routing-provider.def b/configdefinitions/src/vespa/routing-provider.def deleted file mode 100755 index eedf4f3c86f..00000000000 --- a/configdefinitions/src/vespa/routing-provider.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Configuration for the routing config provider - -# TODO Remove once YCA filter is removed - -namespace=cloud.config - -# disabled by default, automatically enabled for hosted vespa -enabled bool default=false diff --git a/configdefinitions/src/vespa/sentinel.def b/configdefinitions/src/vespa/sentinel.def deleted file mode 100644 index d318a55cccf..00000000000 --- a/configdefinitions/src/vespa/sentinel.def +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -## The port where sentinel should run its telnet interface -port.telnet int default=19098 - -## The port where sentinel should run its RPC interface -port.rpc int default=19097 - -## Meta info about the application running on this node. All values are -## exported to child processes as $VESPA_APPLICATION_TENANT, -## $VESPA_APPLICATION_NAME, $VESPA_APPLICATION_ENVIRONMENT, $VESPA_APPLICATION_REGION -## and $VESPA_APPLICATION_INSTANCE -application.tenant string default="default" -application.name string default="default" -application.environment string default="default" -application.instance string default="default" -application.region string default="default" - -## The command to run. This will be run by sh -c, and the following -## environment variables are defined: $ROOT, $VESPA_SERVICE_NAME, -## $VESPA_CONFIG_ID -## -## stdin points to /dev/null -## stdout and stderr connected to sentinel via pipe on startup. -service[].command string - -## The command to run before stopping service. The same properties as for -## startup command holds. -service[].preShutdownCommand string default="" - -## The service name for this service. Exported in VESPA_SERVICE_NAME -## environment variable. All services must have unique names. -## The service name is used by to start/stop services, and to list -## them. It is also logged in the service field in every log message. -service[].name string - -## Should the service be auto-started by configd as soon as it starts up, -## or must it be started manually? Almost always true. -service[].autostart bool default=false - -## Should the service automatically be restarted if it exits? -service[].autorestart bool default=true - -## Config reference to the service being started. -## Exported in the VESPA_CONFIG_ID environment variable. -service[].id reference - -## Affinity of this service towards a CPU socket -service[].affinity.cpuSocket int default=-1 diff --git a/configdefinitions/src/vespa/slobroks.def b/configdefinitions/src/vespa/slobroks.def deleted file mode 100644 index b4e5536d2df..00000000000 --- a/configdefinitions/src/vespa/slobroks.def +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -### All params must be flagged as 'restart' because this config is manually -### retrieved by ConfiguredApplication.start to init the rpc server - -## The connectionspec for a slobrok is used for connecting to it using -## the FNET Remote Tools framework. It is normally on the form -## tcp/hostname:portnumber where hostname is the same name returned by -## gethostname() on the machine. This string is also used by the -## actual slobrok to figure out which port it should listen to. - -slobrok[].connectionspec string restart diff --git a/configdefinitions/src/vespa/specialtokens.def b/configdefinitions/src/vespa/specialtokens.def deleted file mode 100644 index 1e6addcf358..00000000000 --- a/configdefinitions/src/vespa/specialtokens.def +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## Named lists of special tokens - string which should be -## treated as words no matter what characters they consist of. -## A special token can also optionally be replaced by another -## token. -## -## Special tokens are case sensitive, since queries and tokens -## are lowercased they should normally be written in lower case. -## -## The list named default is the only list which is used currently -## -## Order matters in token lists. If one special token is a -## prefix of another token, Vespa will prefer to return the first -## matching token in the list when encountering the longest -## special token. -namespace=vespa.configdefinition - -## Path to makefsa binary, needed to create specialtokens-dictionary -## If the path is relative, vespa home is prepended -makefsaPath string default="bin/vespa-makefsa" - -## Use 'default' as the name of the list to use in regular -## indexing and queries -tokenlist[].name string - -## Special tokens, any string is permitted -tokenlist[].tokens[].token string - -## The token which should replace the special token -## If no replace is set for a token, the word token -## will be the special token string itself -tokenlist[].tokens[].replace string default="" diff --git a/configdefinitions/src/vespa/stateserver.def b/configdefinitions/src/vespa/stateserver.def deleted file mode 100644 index a25844fa148..00000000000 --- a/configdefinitions/src/vespa/stateserver.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.core - -# Port used for serving the state/vN api -httpport int default = 0 diff --git a/configdefinitions/src/vespa/stor-distribution.def b/configdefinitions/src/vespa/stor-distribution.def deleted file mode 100644 index 518626228c1..00000000000 --- a/configdefinitions/src/vespa/stor-distribution.def +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## Redundancy decides how many copies of documents will be stored. Documents -## will store copies on enough nodes, such that the sum of the node reliability -## factors is equal or above the redundancy. -redundancy int default=3 - -## Initial redundancy allows put-operations to return as completed after -## a subset of all copies have been persisted (known as initial persistence -## in BCP terms). -## Set to 0 to disable and use normal redundancy behavior instead. -initial_redundancy int default=0 - -## If set, requires that the primary nodes copy should always be persisted -## before an n-of-m initial persistence operation can complete. -ensure_primary_persisted bool default=true - -## The number of copies that should be "ready" to be active. -## Maximum is redundancy. -ready_copies int default=0 - -## If this option is set true, the distributor will try to enforce one active copy -## of buckets per leaf hierarchical group. This is a simple implementation for -## search to be able to setup top level dispatcher to only send search to all -## nodes in one group as they have a static cost per node used. It used, -## hierarchical grouping can not be used for other purposes. Using this option -## implies that: -## - ready_copies == redundancy -## - Only one level of hierarchical grouping defined. -## - That level distributes copies to all defined groups. -active_per_leaf_group bool default=false - -## Search have some unfortunate properties with some queries, adding a static -## query cost, independent of the number of documents searched on a node. For -## these cases they use many small groups to be able to scale. In such cases, -## where groups are small, having distributors able to take over when none are -## available in a group is useful. -distributor_auto_ownership_transfer_on_whole_group_down bool default=true - -## Hierarchical grouping divides the nodes into a tree of groups. Due to config -## liking flat structures. The tree of groups is represented by a single array -## of groups defined here, where index is a string that can have a form like -## "1.2.1" in order to tell where in the tree structure the group is. -group[].index string -## Each group needs to have a name. Makes it easier to operations that they can -## name their groups according to what they want to call them. -group[].name string -## Capacity of the given group -group[].capacity double default=1 -## Partitions define how copies are divided among child groups/nodes. -group[].partitions string default="" -## Leaf groups will have a set of nodes within them. Branch groups will have -## none. -group[].nodes[].index int -# Whether this node is retired. -# The system will migrate all data away from retired nodes such that they can -# eventually be removed without partial data loss -group[].nodes[].retired bool default=false - -## Which disk distribution to use. From the current choices, we very much -## recommend using MODULO_BID. The only reason to use any of the earlier one is -## during an upgrade where you dont want to mess up the distribution in case you -## want to revert the upgrade. -## -## MODULO old one (4.0) -## MODULO_INDEX with node index in seed -## MODULO_KNUTH with random(node index) in seed -## MODULO_BID using all used bits, except count bits, and random(node index) -disk_distribution enum { MODULO, MODULO_INDEX, MODULO_KNUTH, MODULO_BID } default=MODULO_BID diff --git a/configdefinitions/src/vespa/stor-filestor.def b/configdefinitions/src/vespa/stor-filestor.def deleted file mode 100644 index 8ac372c0575..00000000000 --- a/configdefinitions/src/vespa/stor-filestor.def +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## DETECT FAILURE PARAMETERS - -## After seeing given number of errors on a disk, storage will disable the -## disk and restart. If set to 0, storage will never disable disks. Note -## that if you get disk errors, which arent automatically fixed, this will -## make storage keep failing all operations towards this disk, and all -## retries will use the same disk and same file, so you might end up with a -## lot of operations that can never succeed. Thus, it is not recommended to -## turn this off. -fail_disk_after_error_count int default=1 restart - -## If a disk operation takes more time in seconds than the disk operation -## timeout, storage will consider that a disk failure, and mark the disk -## bad, restart and not use the disk anymore. Note that currently, this -## includes CPU time too, so if used, this parameter should be set fairly -## high as we still sometimes have some operations that might take a few -## seconds. Disabled by default as we currently have these long operations -## during normal load. -disk_operation_timeout int default=0 restart - -## PERFORMANCE PARAMETERS - -## Number of threads to use for each mountpoint. -num_threads int default=8 restart - -## Number of threads for response processing and delivery -## 0 will give legacy sync behavior. -## Negative number will choose a good number based on # cores. -num_response_threads int default=2 restart - -## Type of sequenced thread executor use for persistence replies. -response_sequencer_type enum {LATENCY, THROUGHPUT, ADAPTIVE} default=ADAPTIVE restart - -## When merging, if we find more than this number of documents that exist on all -## of the same copies, send a separate apply bucket diff with these entries -## to an optimized merge chain that guarantuees minimum data transfer. -common_merge_chain_optimalization_minimum_size int default=64 restart - -## Chunksize to use while merging buckets between nodes. -## -## Default is set to 4 MB - 4k. This is to allow for malloc to waste some bytes -## with tracking info or to align to 512b without passing allocation limit, -## while still reading 4k blocks from disk. -bucket_merge_chunk_size int default=4190208 restart - -## When merging, it is possible to send more metadata than needed in order to -## let local nodes in merge decide which entries fits best to add this time -## based on disk location. Toggle this option on to use it. Note that memory -## consumption might increase in a 4.1 to 4.2 upgrade due to this, as 4.1 -## dont support to only fill in part of the metadata provided and will always -## fill all. -enable_merge_local_node_choose_docs_optimalization bool default=true restart - -## Whether or not to enable the multibit split optimalization. This is useful -## if splitting is expensive, but listing document identifiers is fairly cheap. -## This is true for memfile persistence layer, but not for vespa search. -enable_multibit_split_optimalization bool default=true restart diff --git a/configdefinitions/src/vespa/summary.def b/configdefinitions/src/vespa/summary.def deleted file mode 100644 index 20ca6b10450..00000000000 --- a/configdefinitions/src/vespa/summary.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -defaultsummaryid int default=-1 -classes[].id int -classes[].name string -classes[].fields[].name string -classes[].fields[].type string diff --git a/configdefinitions/src/vespa/summarymap.def b/configdefinitions/src/vespa/summarymap.def deleted file mode 100644 index a994309e207..00000000000 --- a/configdefinitions/src/vespa/summarymap.def +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search - -## The default output summary class id, -1 to use the stored summary class id -defaultoutputclass int default=-1 - -## The name of the summary field which is overridden with a dynamic value -override[].field string - -## The overriding command, one of: -## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy -override[].command string - -## Space-seaparated arguments, dedendent on the given command -override[].arguments string default="" diff --git a/configdefinitions/src/vespa/upgrading.def b/configdefinitions/src/vespa/upgrading.def deleted file mode 100644 index 3f610c9352d..00000000000 --- a/configdefinitions/src/vespa/upgrading.def +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content - -## Config specifying cluster global parameters for a storage cluster. - -## Set to true when there exist nodes of previous major version in cluster. -## This will enable major version backward compability mode in the cluster. -upgrading_major_to bool default=false - -## Set to true when there exist nodes of the next major version in the -## cluster. This will usually not be needed, unless specified in the upgrade -## docs. Sometimes though, it may be easier to let old version be forward -## compatable than having new version backwards compatable. -upgrading_major_from bool default=false - -## Set to true when there exist nodes of previous minor version in cluster. -## This should not be needed, but settings exist in case we end up having -## no other choice than to have a compatability mode between minor versions. -upgrading_minor_to bool default=false - -## Set to true when there exist nodes of next minor version in cluster. -## This should not be needed, but settings exist in case we end up having -## no other choice than to have a compatability mode between minor versions. -upgrading_minor_from bool default=false diff --git a/configdefinitions/src/vespa/vespa.config.content.all-clusters-bucket-spaces.def b/configdefinitions/src/vespa/vespa.config.content.all-clusters-bucket-spaces.def new file mode 100644 index 00000000000..7676bc2a03f --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.all-clusters-bucket-spaces.def @@ -0,0 +1,9 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## This config contains the document types handled by all content clusters +## and the bucket spaces they belong to. + +## The bucket space a document type in a particular cluster belongs to. +cluster{}.documentType{}.bucketSpace string + diff --git a/configdefinitions/src/vespa/vespa.config.content.core.bucketspaces.def b/configdefinitions/src/vespa/vespa.config.content.core.bucketspaces.def new file mode 100644 index 00000000000..c9468850018 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.core.bucketspaces.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## This config contains the document types handled by a given content cluster +## and the bucket space they belong to. + +## The name of a document type. +documenttype[].name string + +## The bucket space this document type belongs to. +documenttype[].bucketspace string + diff --git a/configdefinitions/src/vespa/vespa.config.content.fleetcontroller.def b/configdefinitions/src/vespa/vespa.config.content.fleetcontroller.def new file mode 100644 index 00000000000..96b43a15c5e --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.fleetcontroller.def @@ -0,0 +1,183 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## Name of VDS cluster +cluster_name string restart + +## The fleetcontroller index. Each fleetcontroller should have a unique index +## which can be used to identify them. +index int restart + +## Number of fleet controllers. If more than one, the fleetcontroller needs to +## do master election in order to know which one is active. It then needs to +## know how many exist. +fleet_controller_count int default=1 + +## The number of seconds we can attempt to talk to zookeeper before our session +## time out and we lose our connection. +zookeeper_session_timeout double default=30.0 + +## When a master candidate see the master disappearing from ZooKeeper, it wants +## to take over as master. But, before taking over, the master should be aware +## that it has lost its zookeeper connection, so it will stop reacting as +## master. Suggests setting this to 2-3 times the zookeeper session timeout. +## (Set in number of seconds) +master_zookeeper_cooldown_period double default=60.0 + +## Sets how many fleetcontrollers will gather state. A fleetcontroller +## gathering state can take over quicker should ## the master fail. +## If set to 1, only master will gather state. If set higher, others will +## also do so, prioritizing those fleetcontrollers likely to be the ones to +## take over if the master fails. +state_gather_count int default=2 + +## Location of ZooKeeper servers +zookeeper_server string restart + +## RPC Port used by fleetcontroller +rpc_port int default=6500 restart + +## Port where fleetcontroller listens for HTTP status request +http_port int default=0 restart + +## Maximum number of milliseconds a storage will be automatically reported in +## maintenance due to node recently being availble. (If 0, no time at all) +storage_transition_time int default=30000 + +## Maximum number of milliseconds a distributor will be automatically reported +## in maintenance due to node recently being availble. (If 0, no time at all) +## +## Currently default is 0.. Should probably be more then we know it is working +## correctly +distributor_transition_time int default=0 + +## Maximum number of milliseconds allowed between progress increase during +## initialization. If no progress have been made during this time period, the +## node will be considered down. +## +## Currently disabled as 5.0 nodes gets load while initializing which may be +## higher pri than initializing, so nodes can stay in init for a long time. +init_progress_time int default=0 + +## Minimum time (in ms) between system state updates. To limit updates in a +## system where a lot is happening at the same time, this value will make sure +## we dont change the state too often. +min_time_between_new_systemstates int default=10000 + +## Sets how many milliseconds to wait between each state poll for old nodes +## requiring state polling. (4.1 or older) +state_polling_frequency int default=5000 + +## The maximum amount of premature crashes a node is allowed to have in a row +## before the fleetcontroller disables that node. +max_premature_crashes int default=100000 + +## If a node has been down or up this many milliseconds, clear the premature +## crash count of a node and consider the node as stable +stable_state_time_period int default=7200000 + +## The maximum number of events to keep in the event log +event_log_max_size int default=1024 + +## The maximum number of node events to keep in the node event log per node +event_node_log_max_size int default=1024 + +## The total number of distributor nodes that can exist. If 0, we dont know and +## will use the highest distributor index number we have ever seen + 1. +total_distributor_count int default=0 + +## The total number of storage nodes that can exist. If 0, we dont know and +## will use the highest storage index number we have ever seen + 1. +total_storage_count int default=0 + +## The minimum number of distributor nodes that should be up for the cluster +## state to be up. (Retired nodes counts as up in this case) +min_distributors_up_count int default=1 + +## The minimum number of storage nodes that should be up for the cluster state +## to be up (Retired nodes counts as up in this case) +min_storage_up_count int default=1 + +## The minimum ratio of known distributor nodes that should be up (or retired) +## for the cluster state to stay up. +min_distributor_up_ratio double default=0.01 + +## The minimum ratio of known storage nodes that should be up (or retired) for +## the cluster state to stay up. +min_storage_up_ratio double default=0.01 + +## Seconds to sleep after doing a work cycle where we did no work. Some +## events do not interrupt the sleeping, such as slobrok changes, so shouldn't +## set this too high +cycle_wait_time double default=0.1 + +## Minimum time to pass in seconds before broadcasting our first systemstate as +## a new fleetcontroller. (Will broadcast earlier than this if we have gathered +## state from all before this). To prevent disturbance when taking over as +## fleetcontroller, give nodes a bit of time to answer so we dont temporarily +## report nodes as down. +min_time_before_first_system_state_broadcast double default=5.0 + +## Request timeout of node state requests. Keeping a high timeout allows us to +## always have a pending operation with very low cost. Keeping a low timeout is +## good to detect issues like packet loss. The default tries to balance the two +## by not resending too often, but detecting packet loss within a minute at +## least. If we can guarantee RPC layer to fail on packet loss within +## reasonable time we should increase this default. +get_node_state_request_timeout double default=120.0 + +## If a node is out of slobrok longer than this time period, assume the node +## is down, even if we have a pending node state request to it. Slobrok does +## a bit more keep alive checking than fleetcontroller, so it is possible that +## the node disappears from slobrok while it still looks ok in fleetcontroller. +max_slobrok_disconnect_grace_period double default=60.0 + +## Whether to show system states that have never been sent to storage nodes in +## the event log. +show_local_systemstates_in_event_log bool default=true + +## The ideal number of distribution bits this system should have +ideal_distribution_bits int default=16 + +## Minimum ratio of nodes that have to be available (i.e. not Down) in any +## hierarchic content cluster group. If a higher ratio than this is Down at +## any point, the remaning nodes in the group will be automatically marked +## as down. Group nodes will automatically be taken back up as soon as node +## availability has been restored above the given threshold. +## Default is 0, i.e. functionality is for all intents and purposes disabled. +min_node_ratio_per_group double default=0.0 + +## If a cluster controller task has a dependency on a given cluster state +## version being published and ACKed by the cluster, it will be put on a wait +## queue while holding up the container thread associated with the task. +## This config specifies the maximum time a task can be held in this queue +## before being automatically failed out, if a version has not been ACKed +## within this duration. +max_deferred_task_version_wait_time_sec double default=30.0 + +## Whether or not the content cluster the controller has responsibility for +## contains any document types that are tagged as global. If this is true, +## global document-specific behavior is enabled that marks nodes down in the +## default space if they have merges pending in the global bucket space. +cluster_has_global_document_types bool default=false + +## The minimum merge completion ratio of buckets in a bucket space before it is considered complete. +## +## Bucket merges are considered complete when: +## ((buckets_total - buckets_pending) / buckets_total)) >= min_merge_completion_ratio +min_merge_completion_ratio double default=1.0 + +## If enabled, cluster state transitions are performed as two distinct phases: +## +## 1) state bundle propagation and bucket info gathering phase +## 2) state activation phase, which is not performed until all nodes have completed phase 1 +## +## This is to enable read-only operations to pass through the system during phase 1 +## while nodes await phase 2. If this feature is disabled, nodes will implicitly do +## phase 2 as part of phase 1 at their own leisure, which means that actual state +## activation may happen at wildly different times throughout the cluster. The 2 phase +## transition logic aims to minimize the window of time where active states diverge. +enable_two_phase_cluster_state_transitions bool default=false + +## Deprecated - not used +determine_buckets_from_bucket_space_metric bool default=true diff --git a/configdefinitions/src/vespa/vespa.config.content.load-type.def b/configdefinitions/src/vespa/vespa.config.content.load-type.def new file mode 100644 index 00000000000..2e3f65cfbba --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.load-type.def @@ -0,0 +1,30 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## This config is used to define load types in VESPA. Load types are merely +## a way to distinguish types of load, as to present such types differently. +## For instance, some metrics will be presented per load type, such that you +## can see how that specific type is being handled. Load types are especially +## useful for separating loads of different priority. + +namespace=vespa.config.content + +## The identifying index of this type. 0 cannot be used as it is +## reserved for the default type. Other types should be +## non-overlapping from 1 and upwards. No gaps are allowed in the +## index range. (For performance reasons we want to use arrays +## internally where the id is the index) +## +## The identifier is used for efficient transfer of type information. +## The types will be identified by names instead in more textual or +## verbose interfaces. +## restart flag was added automatically and needs to be verified. +type[].id int restart + +## The name of a given load type. Each load type must have a unique +## name. The name "default" is reserved for the default type of id 0. +## restart flag was added automatically and needs to be verified. +type[].name string restart + +## The default priority for the load type. +## restart flag was added automatically and needs to be verified. +type[].priority string restart + diff --git a/configdefinitions/src/vespa/vespa.config.content.messagetyperouteselectorpolicy.def b/configdefinitions/src/vespa/vespa.config.content.messagetyperouteselectorpolicy.def new file mode 100644 index 00000000000..7fbd6e45bd7 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.messagetyperouteselectorpolicy.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +# Default route if no override is set for a type. +defaultroute string + +# The name of the route. +route[].name string + +# The document protocol messagetype triggering this route. +route[].messagetype int diff --git a/configdefinitions/src/vespa/vespa.config.content.persistence.def b/configdefinitions/src/vespa/vespa.config.content.persistence.def new file mode 100644 index 00000000000..b2709dedc57 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.persistence.def @@ -0,0 +1,60 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## If set, causes the service layer to trigger an abort of any queued +## operations for buckets whose ownership changes during a cluster state +## change. This helps ensure consistency between the distributors and +## the storage nodes by discarding operations that were not sent by the +## new owning distributor. The service layer will also block any new +## operations from happening until all operations currently executing for +## buckets with changed ownership have completed. +## Enabling this option has a potential of causing a minor performance +## impact when a node goes up or down due to its blocking semantics, but +## this should be on the order of tens to a few hundred milliseconds. +abort_operations_with_changed_bucket_ownership bool default=true + +## If set, aborts any mutating ideal state operations that arrive to a node +## that were scheduled and sent by distributors that no longer own the buckets +## the operations are bound for. This option complements the above config, +## as this is checked for every arriving message and not when the state changes. +abort_outdated_mutating_ideal_state_ops bool default=true + +## If set, aborts any external (client) operations that arrive to a node from +## a distributor that is no longer the owner of the bucket those operations +## belong to. As with the abort_outdated_mutating_ideal_state_ops option, +## this is a check that happens whenever a message arrives, not when the state +## changes. +abort_outdated_mutating_external_load_ops bool default=true + +## Whether or not to disable partitions when they report I/O errors +fail_partition_on_error bool default=true + +## Time period to keep all updates (given in seconds). One can revert any +## operation done within this time. +revert_time_period int default=300 + +## Minimum number of seconds that document remove (tombstone) entries are +## retained in a bucket before being automatically compacted away. In the case +## where a node has been down for a longer period of time than this value +## and then comes back up, there exists a possibility for documents to be +## resurrected. This happens when documents existing on both the downed node +## and the online nodes are marked as removed on the online nodes and then +## subsequently compacted away along with their remove entries. When the old +## node comes back online, it will appear to the system as if the node has +## documents that do not exist on other nodes (as no remove-entries can be +## found for them) and they will subsequently re-appear. +keep_remove_time_period int default=604800 + +## For providers supporting multiple document versions, this option specifies +## a soft limit on the maximum number of versions that can be stored for a +## single document at any given time. This is considered a soft limit as it +## is possible for more versions to exist concurrently than what this config +## value specifies in a case where the pressure on the containing bucket is not +## yet high enough to warrant a compaction. +## After a compaction has taken place, only the n _newest_ document versions +## will be present in the compacted representation of the bucket. +## This limitation takes precedence over what versions may be stored according +## to revert_time_period. +## Configured value must be at least 1. +maximum_versions_of_single_document_stored int default=5 + diff --git a/configdefinitions/src/vespa/vespa.config.content.stor-distribution.def b/configdefinitions/src/vespa/vespa.config.content.stor-distribution.def new file mode 100644 index 00000000000..518626228c1 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.stor-distribution.def @@ -0,0 +1,70 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## Redundancy decides how many copies of documents will be stored. Documents +## will store copies on enough nodes, such that the sum of the node reliability +## factors is equal or above the redundancy. +redundancy int default=3 + +## Initial redundancy allows put-operations to return as completed after +## a subset of all copies have been persisted (known as initial persistence +## in BCP terms). +## Set to 0 to disable and use normal redundancy behavior instead. +initial_redundancy int default=0 + +## If set, requires that the primary nodes copy should always be persisted +## before an n-of-m initial persistence operation can complete. +ensure_primary_persisted bool default=true + +## The number of copies that should be "ready" to be active. +## Maximum is redundancy. +ready_copies int default=0 + +## If this option is set true, the distributor will try to enforce one active copy +## of buckets per leaf hierarchical group. This is a simple implementation for +## search to be able to setup top level dispatcher to only send search to all +## nodes in one group as they have a static cost per node used. It used, +## hierarchical grouping can not be used for other purposes. Using this option +## implies that: +## - ready_copies == redundancy +## - Only one level of hierarchical grouping defined. +## - That level distributes copies to all defined groups. +active_per_leaf_group bool default=false + +## Search have some unfortunate properties with some queries, adding a static +## query cost, independent of the number of documents searched on a node. For +## these cases they use many small groups to be able to scale. In such cases, +## where groups are small, having distributors able to take over when none are +## available in a group is useful. +distributor_auto_ownership_transfer_on_whole_group_down bool default=true + +## Hierarchical grouping divides the nodes into a tree of groups. Due to config +## liking flat structures. The tree of groups is represented by a single array +## of groups defined here, where index is a string that can have a form like +## "1.2.1" in order to tell where in the tree structure the group is. +group[].index string +## Each group needs to have a name. Makes it easier to operations that they can +## name their groups according to what they want to call them. +group[].name string +## Capacity of the given group +group[].capacity double default=1 +## Partitions define how copies are divided among child groups/nodes. +group[].partitions string default="" +## Leaf groups will have a set of nodes within them. Branch groups will have +## none. +group[].nodes[].index int +# Whether this node is retired. +# The system will migrate all data away from retired nodes such that they can +# eventually be removed without partial data loss +group[].nodes[].retired bool default=false + +## Which disk distribution to use. From the current choices, we very much +## recommend using MODULO_BID. The only reason to use any of the earlier one is +## during an upgrade where you dont want to mess up the distribution in case you +## want to revert the upgrade. +## +## MODULO old one (4.0) +## MODULO_INDEX with node index in seed +## MODULO_KNUTH with random(node index) in seed +## MODULO_BID using all used bits, except count bits, and random(node index) +disk_distribution enum { MODULO, MODULO_INDEX, MODULO_KNUTH, MODULO_BID } default=MODULO_BID diff --git a/configdefinitions/src/vespa/vespa.config.content.stor-filestor.def b/configdefinitions/src/vespa/vespa.config.content.stor-filestor.def new file mode 100644 index 00000000000..8ac372c0575 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.stor-filestor.def @@ -0,0 +1,60 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## DETECT FAILURE PARAMETERS + +## After seeing given number of errors on a disk, storage will disable the +## disk and restart. If set to 0, storage will never disable disks. Note +## that if you get disk errors, which arent automatically fixed, this will +## make storage keep failing all operations towards this disk, and all +## retries will use the same disk and same file, so you might end up with a +## lot of operations that can never succeed. Thus, it is not recommended to +## turn this off. +fail_disk_after_error_count int default=1 restart + +## If a disk operation takes more time in seconds than the disk operation +## timeout, storage will consider that a disk failure, and mark the disk +## bad, restart and not use the disk anymore. Note that currently, this +## includes CPU time too, so if used, this parameter should be set fairly +## high as we still sometimes have some operations that might take a few +## seconds. Disabled by default as we currently have these long operations +## during normal load. +disk_operation_timeout int default=0 restart + +## PERFORMANCE PARAMETERS + +## Number of threads to use for each mountpoint. +num_threads int default=8 restart + +## Number of threads for response processing and delivery +## 0 will give legacy sync behavior. +## Negative number will choose a good number based on # cores. +num_response_threads int default=2 restart + +## Type of sequenced thread executor use for persistence replies. +response_sequencer_type enum {LATENCY, THROUGHPUT, ADAPTIVE} default=ADAPTIVE restart + +## When merging, if we find more than this number of documents that exist on all +## of the same copies, send a separate apply bucket diff with these entries +## to an optimized merge chain that guarantuees minimum data transfer. +common_merge_chain_optimalization_minimum_size int default=64 restart + +## Chunksize to use while merging buckets between nodes. +## +## Default is set to 4 MB - 4k. This is to allow for malloc to waste some bytes +## with tracking info or to align to 512b without passing allocation limit, +## while still reading 4k blocks from disk. +bucket_merge_chunk_size int default=4190208 restart + +## When merging, it is possible to send more metadata than needed in order to +## let local nodes in merge decide which entries fits best to add this time +## based on disk location. Toggle this option on to use it. Note that memory +## consumption might increase in a 4.1 to 4.2 upgrade due to this, as 4.1 +## dont support to only fill in part of the metadata provided and will always +## fill all. +enable_merge_local_node_choose_docs_optimalization bool default=true restart + +## Whether or not to enable the multibit split optimalization. This is useful +## if splitting is expensive, but listing document identifiers is fairly cheap. +## This is true for memfile persistence layer, but not for vespa search. +enable_multibit_split_optimalization bool default=true restart diff --git a/configdefinitions/src/vespa/vespa.config.content.upgrading.def b/configdefinitions/src/vespa/vespa.config.content.upgrading.def new file mode 100644 index 00000000000..3f610c9352d --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.content.upgrading.def @@ -0,0 +1,24 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content + +## Config specifying cluster global parameters for a storage cluster. + +## Set to true when there exist nodes of previous major version in cluster. +## This will enable major version backward compability mode in the cluster. +upgrading_major_to bool default=false + +## Set to true when there exist nodes of the next major version in the +## cluster. This will usually not be needed, unless specified in the upgrade +## docs. Sometimes though, it may be easier to let old version be forward +## compatable than having new version backwards compatable. +upgrading_major_from bool default=false + +## Set to true when there exist nodes of previous minor version in cluster. +## This should not be needed, but settings exist in case we end up having +## no other choice than to have a compatability mode between minor versions. +upgrading_minor_to bool default=false + +## Set to true when there exist nodes of next minor version in cluster. +## This should not be needed, but settings exist in case we end up having +## no other choice than to have a compatability mode between minor versions. +upgrading_minor_from bool default=false diff --git a/configdefinitions/src/vespa/vespa.config.core.stateserver.def b/configdefinitions/src/vespa/vespa.config.core.stateserver.def new file mode 100644 index 00000000000..a25844fa148 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.core.stateserver.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.core + +# Port used for serving the state/vN api +httpport int default = 0 diff --git a/configdefinitions/src/vespa/vespa.config.search.attributes.def b/configdefinitions/src/vespa/vespa.config.search.attributes.def new file mode 100644 index 00000000000..6c69d71fdf6 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.attributes.def @@ -0,0 +1,45 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +attribute[].name string +attribute[].datatype enum { STRING, BOOL, UINT2, UINT4, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE, PREDICATE, TENSOR, REFERENCE, NONE } default=NONE +attribute[].collectiontype enum { SINGLE, ARRAY, WEIGHTEDSET } default=SINGLE +attribute[].removeifzero bool default=false +attribute[].createifnonexistent bool default=false +attribute[].fastsearch bool default=false +attribute[].huge bool default=false +# An attribute marked mutable can be updated by a query. +attribute[].ismutable bool default=false +attribute[].sortascending bool default=true +attribute[].sortfunction enum { RAW, LOWERCASE, UCA } default=UCA +attribute[].sortstrength enum { PRIMARY, SECONDARY, TERTIARY, QUATERNARY, IDENTICAL } default=PRIMARY +attribute[].sortlocale string default="" +# Allow bitvector postings in addition to btree postings ? +attribute[].enablebitvectors bool default=false +# Allow only bitvector postings, i.e. drop btree postings to save memory.? +attribute[].enableonlybitvector bool default=false +# Allow fast access to this attribute at all times. +# If so, attribute is kept in memory also for non-searchable documents. +attribute[].fastaccess bool default=false +attribute[].arity int default=8 +attribute[].lowerbound long default=-9223372036854775808 +attribute[].upperbound long default=9223372036854775807 +# The threshold is given as a ratio of the corpus size +attribute[].densepostinglistthreshold double default=0.40 +# Specification of tensor type if this attribute is of type TENSOR. +attribute[].tensortype string default="" +# Whether this is an imported attribute (from parent document db) or not. +attribute[].imported bool default=false + +# The distance metric to use for nearest neighbor search. +# Is only used when the attribute is a 1-dimensional indexed tensor. +attribute[].distancemetric enum { EUCLIDEAN, ANGULAR, GEODEGREES, INNERPRODUCT, HAMMING } default=EUCLIDEAN + +# Configuration parameters for a hnsw index used together with a 1-dimensional indexed tensor for approximate nearest neighbor search. +attribute[].index.hnsw.enabled bool default=false +attribute[].index.hnsw.maxlinkspernode int default=16 +attribute[].index.hnsw.neighborstoexploreatinsert int default=200 +# Deprecated: Remove on Vespa 8 or before when possible. +attribute[].index.hnsw.distancemetric enum { EUCLIDEAN, ANGULAR, GEODEGREES, HAMMING } default=EUCLIDEAN +# Whether multi-threaded indexing is enabled for this hnsw index. +attribute[].index.hnsw.multithreadedindexing bool default=true diff --git a/configdefinitions/src/vespa/vespa.config.search.dispatch.def b/configdefinitions/src/vespa/vespa.config.search.dispatch.def new file mode 100644 index 00000000000..aa40c317d75 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.dispatch.def @@ -0,0 +1,73 @@ +# Copyright 2019 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Configuration of dispatch from container nodes to search clusters + +namespace=vespa.config.search + +# The active docs a group must have as a % of the average active docs of all other groups, +# for that group to be included in queries +minActivedocsPercentage double default=97.0 + +# Minimum coverage for allowing a group to be considered for serving +minGroupCoverage double default=100 + +# Maximum number of nodes allowed to be down for group to be considered for serving +maxNodesDownPerGroup int default=0 + +# Distribution policy for group selection +distributionPolicy enum { ROUNDROBIN, ADAPTIVE } default=ADAPTIVE + +## Maximum number of hits that will be requested from a single node +## in this dataset. If not set, there is no limit. Using this option +## may help reduce network traffic when searching in datasets with big +## fan-out, but it will also result in incorrect and incomplete results; +## don't use it if you don't (really) mean it. +maxHitsPerNode int default=2147483647 + +## Probability for getting the K best hits (topK). +## A value of 1.0 will ask all N partitions for K hits. +## Any value between <0, 1> will use a Student T with 30 degrees freedom and compute a value Q that +## will give you the globally K best hits according to this formula with the desired probability. +## q = k/n + qT (p',30) x √(k × (1/n) × (1 − 1/n)) +## With a probability of 0.999 and K=200 and N=10 will give a Q of 38, meaning that you only need to fetch 19% compared to +## a setting of 1.0. This is a significant optimisation with with very little loss in presicion. +topKProbability double default=0.9999 + +# Is multi-level dispatch configured for this cluster +# Deprecated, will go away soon, NOOP +useMultilevelDispatch bool default=false + +# Dispatch only to local nodes. DEPRECATED: The container will automatically do this when it is appropriate. +useLocalNode bool default=false + +# Number of document copies +searchableCopies long default=1 + +# Minimum search coverage required before returning the results of a query +minSearchCoverage double default=100 + +# Minimum wait time for full coverage after minimum coverage is achieved, factored based on time left at minimum coverage +minWaitAfterCoverageFactor double default=0 + +# Maximum wait time for full coverage after minimum coverage is achieved, factored based on time left at minimum coverage +maxWaitAfterCoverageFactor double default=1 + +# Number of JRT transport threads +numJrtTransportThreads int default=8 + +# Number of JRT connections per backend node +numJrtConnectionsPerNode int default=8 + +# Number of seconds to spend warming up code to prevent JIT cold start issues. +warmuptime double default=0.1 + +# The unique key of a search node +node[].key int + +# The index of the group this search node belongs to +node[].group int default=0 + +# The host name of this search node +node[].host string + +# The rpc port of this search node +node[].port int diff --git a/configdefinitions/src/vespa/vespa.config.search.imported-fields.def b/configdefinitions/src/vespa/vespa.config.search.imported-fields.def new file mode 100644 index 00000000000..0947ff63e2a --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.imported-fields.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +# The name of an imported attribute field in context of this document type. +attribute[].name string + +# The name of the field (in this document type) that refers to a parent document type. +attribute[].referencefield string + +# The name of the target attribute field in the parent document type that is imported into this document type. +attribute[].targetfield string diff --git a/configdefinitions/src/vespa/vespa.config.search.indexschema.def b/configdefinitions/src/vespa/vespa.config.search.indexschema.def new file mode 100644 index 00000000000..245570ef7b5 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.indexschema.def @@ -0,0 +1,25 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## Config specifying the index fields and field collections that are part of an index schema. +namespace=vespa.config.search + +## The name of the index field. +indexfield[].name string +## The data type of the index field. +indexfield[].datatype enum { STRING, INT64 } default=STRING +## The collection type of the index field. +indexfield[].collectiontype enum { SINGLE, ARRAY, WEIGHTEDSET } default=SINGLE +## Whether the index should support prefix searches. +indexfield[].prefix bool default=false +## Whether the index should support phrase searches. +indexfield[].phrases bool default=false +## Whether the index should have posting lists with word positions. +indexfield[].positions bool default=true +## Average element length +indexfield[].averageelementlen int default=512 +## Whether the index field should use posting lists with interleaved features or not. +indexfield[].interleavedfeatures bool default=false + +## The name of the field collection (aka logical view). +fieldset[].name string +## The name of the index field that are part of this collection. +fieldset[].field[].name string diff --git a/configdefinitions/src/vespa/vespa.config.search.rank-profiles.def b/configdefinitions/src/vespa/vespa.config.search.rank-profiles.def new file mode 100644 index 00000000000..525930c990b --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.rank-profiles.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +## name of this rank profile. maps to table index for internal use. +rankprofile[].name string + +## the name of a generic property available to the feature execution framework and feature plugins +rankprofile[].fef.property[].name string + +## the value of a generic property available to feature plugins +rankprofile[].fef.property[].value string + diff --git a/configdefinitions/src/vespa/vespa.config.search.summary.def b/configdefinitions/src/vespa/vespa.config.search.summary.def new file mode 100644 index 00000000000..20ca6b10450 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.summary.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +defaultsummaryid int default=-1 +classes[].id int +classes[].name string +classes[].fields[].name string +classes[].fields[].type string diff --git a/configdefinitions/src/vespa/vespa.config.search.summarymap.def b/configdefinitions/src/vespa/vespa.config.search.summarymap.def new file mode 100644 index 00000000000..a994309e207 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.config.search.summarymap.def @@ -0,0 +1,15 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search + +## The default output summary class id, -1 to use the stored summary class id +defaultoutputclass int default=-1 + +## The name of the summary field which is overridden with a dynamic value +override[].field string + +## The overriding command, one of: +## staticrank, dynamicteaser, dynamicteasermetric, label, ranklog, empty, copy +override[].command string + +## Space-seaparated arguments, dedendent on the given command +override[].arguments string default="" diff --git a/configdefinitions/src/vespa/vespa.configdefinition.ilscripts.def b/configdefinitions/src/vespa/vespa.configdefinition.ilscripts.def new file mode 100644 index 00000000000..901e87dbd04 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.configdefinition.ilscripts.def @@ -0,0 +1,10 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.configdefinition + +## The maximum number of occurrences of a given term to index per field +maxtermoccurrences int default=100 +fieldmatchmaxlength int default=1000000 + +ilscript[].doctype string +ilscript[].docfield[] string +ilscript[].content[] string diff --git a/configdefinitions/src/vespa/vespa.configdefinition.specialtokens.def b/configdefinitions/src/vespa/vespa.configdefinition.specialtokens.def new file mode 100644 index 00000000000..1e6addcf358 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.configdefinition.specialtokens.def @@ -0,0 +1,32 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## Named lists of special tokens - string which should be +## treated as words no matter what characters they consist of. +## A special token can also optionally be replaced by another +## token. +## +## Special tokens are case sensitive, since queries and tokens +## are lowercased they should normally be written in lower case. +## +## The list named default is the only list which is used currently +## +## Order matters in token lists. If one special token is a +## prefix of another token, Vespa will prefer to return the first +## matching token in the list when encountering the longest +## special token. +namespace=vespa.configdefinition + +## Path to makefsa binary, needed to create specialtokens-dictionary +## If the path is relative, vespa home is prepended +makefsaPath string default="bin/vespa-makefsa" + +## Use 'default' as the name of the list to use in regular +## indexing and queries +tokenlist[].name string + +## Special tokens, any string is permitted +tokenlist[].tokens[].token string + +## The token which should replace the special token +## If no replace is set for a token, the word token +## will be the special token string itself +tokenlist[].tokens[].replace string default="" diff --git a/configdefinitions/src/vespa/vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def b/configdefinitions/src/vespa/vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def new file mode 100644 index 00000000000..bd929cb17d4 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.hosted.athenz.instanceproviderservice.config.athenz-provider-service.def @@ -0,0 +1,29 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.athenz.instanceproviderservice.config + +# Athenz domain +domain string + +# Athenz service name +serviceName string + +# Secret name of private Key +secretName string + +# Secret version +secretVersion int + +# Certificate DNS suffix +certDnsSuffix string + +# Athenz ZTS server url +ztsUrl string + +# Path to Athenz CA JKS trust store +athenzCaTrustStore string + +# Period between certificate updates +updatePeriodDays int default=1 + +# Tenant Service id +tenantService string default=vespa.vespa.tenant \ No newline at end of file diff --git a/configdefinitions/src/vespa/vespa.orchestrator.config.orchestrator.def b/configdefinitions/src/vespa/vespa.orchestrator.config.orchestrator.def new file mode 100644 index 00000000000..ab52c777398 --- /dev/null +++ b/configdefinitions/src/vespa/vespa.orchestrator.config.orchestrator.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.orchestrator.config + +# TODO: Change the default to actual latency in real setup. +serviceMonitorConvergenceLatencySeconds int default=0 diff --git a/configdefinitions/src/vespa/ymon.def b/configdefinitions/src/vespa/ymon.def deleted file mode 100644 index 2296248bf8b..00000000000 --- a/configdefinitions/src/vespa/ymon.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -services[].servicetype string default="(unknownservicetype)" -services[].ymonname string default="(unknownymonname)" -services[].hosts[] string diff --git a/configdefinitions/src/vespa/zookeeper-server.def b/configdefinitions/src/vespa/zookeeper-server.def deleted file mode 100644 index 483e772b818..00000000000 --- a/configdefinitions/src/vespa/zookeeper-server.def +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config - -# Vespa home is prepended if the file is relative -zooKeeperConfigFile string default="conf/zookeeper/zookeeper.cfg" - -# For more info about the values below, see ZooKeeper documentation - -# tick time in milliseconds -tickTime int default=2000 -initLimit int default=20 -syncLimit int default=15 -maxClientConnections int default=0 - -# Vespa home is prepended if the file is relative -dataDir string default="var/zookeeper" - -clientPort int default=2181 -secureClientPort int default=2184 - -snapshotCount int default=50000 -# Purge interval in hours -autopurge.purgeInterval int default=1 -autopurge.snapRetainCount int default=15 - -# Vespa home is prepended if the file is relative -myidFile string default="var/zookeeper/myid" -# Change from default of 1 Mb in zookeeper to 50 Mb -juteMaxBuffer int default=52428800 - -myid int -server[].id int -server[].hostname string -server[].quorumPort int default=2182 -server[].electionPort int default=2183 - -# Needed when upgrading from ZooKeeper 3.4 to 3.5, see https://issues.apache.org/jira/browse/ZOOKEEPER-3056, -# and in general where there is a zookeeper ensemble running that has had few transactions. -# TODO: Consider setting this to false by default (and override where appropriate) -trustEmptySnapshot bool default=true - -# TLS options -tlsForQuorumCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF -tlsForClientServerCommunication enum { OFF, PORT_UNIFICATION, TLS_WITH_PORT_UNIFICATION, TLS_ONLY } default=OFF -jksKeyStoreFile string default="conf/zookeeper/zookeeper.jks" diff --git a/configdefinitions/src/vespa/zookeepers.def b/configdefinitions/src/vespa/zookeepers.def deleted file mode 100644 index d12bdd334ca..00000000000 --- a/configdefinitions/src/vespa/zookeepers.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config -zookeeperserverlist string diff --git a/configgen/src/test/resources/allfeatures.def b/configgen/src/test/resources/allfeatures.def deleted file mode 100644 index fb627f614d6..00000000000 --- a/configgen/src/test/resources/allfeatures.def +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# This def file should test most aspects of def files that makes a difference -# for the generated config classes. The goal is to trigger all blocks of -# code in the code generators. This includes: -# -# - Use all legal special characters in the def file name, to ensure that those -# that needs to be replaced in type names are actually replaced. -# - Use the same enum type twice to verify that we dont declare or define it -# twice. -# - Use the same struct type twice for the same reason. -# - Include arrays of primitives and structs. -# - Include enum primitives and array of enums. Arrays of enums must be handled -# specially by the C++ code. -# - Include enums both with and without default values. -# - Include primitive string, numbers & doubles both with and without default -# values. -# - Have an array within a struct, to verify that we correctly recurse. -# - Reuse type name further within to ensure that this works. - -namespace=configgen -# Some random bool without a default value. These comments exist to check - # that comment parsing works.e -boolVal bool - ## A bool with a default value set. -bool_with_def bool default=false -intVal int -intWithDef int default=-545 -longVal long -longWithDef long default=1234567890123 -doubleVal double -double_with_def double default=-6.43 -# Another comment -stringVal string -stringwithdef string default="foobar#notacomment" -enumVal enum { FOO, BAR, FOOBAR } -enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 -refVal reference -refwithdef reference default=":parent:" -fileVal file -pathVal path -urlVal url - -boolarr[] bool -intarr[] int -longarr[] long -doublearr[] double -stringarr[] string -enumarr[] enum { ARRAY, VALUES } -refarr[] reference -filearr[] file -pathArr[] path -urlArr[] url - -intMap{} int -pathMap{} file -urlMap{} url - -# A basic struct -basic_struct.foo string default="foo" -basic_struct.bar int default=0 - -# A struct of struct -struct_of_struct.inner0.name string default="inner0" -struct_of_struct.inner0.index int default=0 -struct_of_struct.inner1.name string default="inner1" -struct_of_struct.inner1.index int default=1 - -myArray[].intVal int default=14 -myArray[].stringVal[] string -myArray[].enumVal enum { INNER, ENUM, TYPE } default=TYPE -myArray[].refVal reference # Value in array without default -myArray[].anotherArray[].foo int default=-4 - -myMap{}.intVal int default=15 -myMap{}.stringVal[] string -myMap{}.enumVal enum { INNER, ENUM, TYPE } default=ENUM -myMap{}.refVal reference # Value in map without default -myMap{}.anotherArray[].foo int default=-5 diff --git a/configgen/src/test/resources/bar.foo.def b/configgen/src/test/resources/bar.foo.def deleted file mode 100644 index e0084b792a5..00000000000 --- a/configgen/src/test/resources/bar.foo.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=baz -xyzzy int default=10 diff --git a/configgen/src/test/resources/baz.bar.foo.def b/configgen/src/test/resources/baz.bar.foo.def new file mode 100644 index 00000000000..e0084b792a5 --- /dev/null +++ b/configgen/src/test/resources/baz.bar.foo.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=baz +xyzzy int default=10 diff --git a/configgen/src/test/resources/configgen.allfeatures.def b/configgen/src/test/resources/configgen.allfeatures.def new file mode 100644 index 00000000000..fb627f614d6 --- /dev/null +++ b/configgen/src/test/resources/configgen.allfeatures.def @@ -0,0 +1,79 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# This def file should test most aspects of def files that makes a difference +# for the generated config classes. The goal is to trigger all blocks of +# code in the code generators. This includes: +# +# - Use all legal special characters in the def file name, to ensure that those +# that needs to be replaced in type names are actually replaced. +# - Use the same enum type twice to verify that we dont declare or define it +# twice. +# - Use the same struct type twice for the same reason. +# - Include arrays of primitives and structs. +# - Include enum primitives and array of enums. Arrays of enums must be handled +# specially by the C++ code. +# - Include enums both with and without default values. +# - Include primitive string, numbers & doubles both with and without default +# values. +# - Have an array within a struct, to verify that we correctly recurse. +# - Reuse type name further within to ensure that this works. + +namespace=configgen +# Some random bool without a default value. These comments exist to check + # that comment parsing works.e +boolVal bool + ## A bool with a default value set. +bool_with_def bool default=false +intVal int +intWithDef int default=-545 +longVal long +longWithDef long default=1234567890123 +doubleVal double +double_with_def double default=-6.43 +# Another comment +stringVal string +stringwithdef string default="foobar#notacomment" +enumVal enum { FOO, BAR, FOOBAR } +enumwithdef enum { FOO2, BAR2, FOOBAR2 } default=BAR2 +refVal reference +refwithdef reference default=":parent:" +fileVal file +pathVal path +urlVal url + +boolarr[] bool +intarr[] int +longarr[] long +doublearr[] double +stringarr[] string +enumarr[] enum { ARRAY, VALUES } +refarr[] reference +filearr[] file +pathArr[] path +urlArr[] url + +intMap{} int +pathMap{} file +urlMap{} url + +# A basic struct +basic_struct.foo string default="foo" +basic_struct.bar int default=0 + +# A struct of struct +struct_of_struct.inner0.name string default="inner0" +struct_of_struct.inner0.index int default=0 +struct_of_struct.inner1.name string default="inner1" +struct_of_struct.inner1.index int default=1 + +myArray[].intVal int default=14 +myArray[].stringVal[] string +myArray[].enumVal enum { INNER, ENUM, TYPE } default=TYPE +myArray[].refVal reference # Value in array without default +myArray[].anotherArray[].foo int default=-4 + +myMap{}.intVal int default=15 +myMap{}.stringVal[] string +myMap{}.enumVal enum { INNER, ENUM, TYPE } default=ENUM +myMap{}.refVal reference # Value in map without default +myMap{}.anotherArray[].foo int default=-5 diff --git a/configserver/src/test/apps/serverdb/serverdefs/attributes.def b/configserver/src/test/apps/serverdb/serverdefs/attributes.def deleted file mode 100644 index 89671b57046..00000000000 --- a/configserver/src/test/apps/serverdb/serverdefs/attributes.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config -attribute[].name string -attribute[].datatype string -attribute[].multivalue bool default=false -attribute[].sortsigned bool default=true -attribute[].disableprep bool default=false diff --git a/configserver/src/test/apps/serverdb/serverdefs/config.attributes.def b/configserver/src/test/apps/serverdb/serverdefs/config.attributes.def new file mode 100644 index 00000000000..89671b57046 --- /dev/null +++ b/configserver/src/test/apps/serverdb/serverdefs/config.attributes.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config +attribute[].name string +attribute[].datatype string +attribute[].multivalue bool default=false +attribute[].sortsigned bool default=true +attribute[].disableprep bool default=false diff --git a/configserver/src/test/apps/zkfeed/configdefinitions/a.b.a.b.test2.def b/configserver/src/test/apps/zkfeed/configdefinitions/a.b.a.b.test2.def new file mode 100644 index 00000000000..9e5c787df09 --- /dev/null +++ b/configserver/src/test/apps/zkfeed/configdefinitions/a.b.a.b.test2.def @@ -0,0 +1,3 @@ +namespace=a.b + +test2 string default="" diff --git a/configserver/src/test/apps/zkfeed/configdefinitions/a.b.test2.def b/configserver/src/test/apps/zkfeed/configdefinitions/a.b.test2.def deleted file mode 100644 index 9e5c787df09..00000000000 --- a/configserver/src/test/apps/zkfeed/configdefinitions/a.b.test2.def +++ /dev/null @@ -1,3 +0,0 @@ -namespace=a.b - -test2 string default="" diff --git a/configserver/src/test/resources/configdefinitions/app.def b/configserver/src/test/resources/configdefinitions/app.def deleted file mode 100644 index 7c7bb58b3a6..00000000000 --- a/configserver/src/test/resources/configdefinitions/app.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -message string default="Hello!" - -times int default=1 - -a[].name string diff --git a/configserver/src/test/resources/configdefinitions/config.app.def b/configserver/src/test/resources/configdefinitions/config.app.def new file mode 100644 index 00000000000..7c7bb58b3a6 --- /dev/null +++ b/configserver/src/test/resources/configdefinitions/config.app.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +message string default="Hello!" + +times int default=1 + +a[].name string diff --git a/configserver/src/test/resources/configdefinitions/config.md5test.def b/configserver/src/test/resources/configdefinitions/config.md5test.def new file mode 100644 index 00000000000..1c6eae0e587 --- /dev/null +++ b/configserver/src/test/resources/configdefinitions/config.md5test.def @@ -0,0 +1,25 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +# Added empty line to see if we can confuse +# the server's md5 calculation +namespace=config + +#even adding a variable name starting with 'version' +versiontag int default=3 + +blabla string default="" +tabs string default=" " +test int + +# test multiple spaces/tabs +spaces int +singletab string +multitabs double + +# test enum +normal enum { VAL1, VAL2 } default=VAL1 +spacevalues enum { V1 , V2 , V3 , V4 } default=V3 + +# Comments and empty lines at the end + + diff --git a/configserver/src/test/resources/configdefinitions/config.simpletypes.def b/configserver/src/test/resources/configdefinitions/config.simpletypes.def new file mode 100644 index 00000000000..569df41c97d --- /dev/null +++ b/configserver/src/test/resources/configdefinitions/config.simpletypes.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Config containing only simple leaf types with default values, that can be used +# for testing individual types in detail. +namespace=config + +boolval bool default=false +doubleval double default=0.0 +enumval enum { VAL1, VAL2 } default=VAL1 +intval int default=0 +longval long default=0 +stringval string default="s" diff --git a/configserver/src/test/resources/configdefinitions/md5test.def b/configserver/src/test/resources/configdefinitions/md5test.def deleted file mode 100644 index 1c6eae0e587..00000000000 --- a/configserver/src/test/resources/configdefinitions/md5test.def +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -# Added empty line to see if we can confuse -# the server's md5 calculation -namespace=config - -#even adding a variable name starting with 'version' -versiontag int default=3 - -blabla string default="" -tabs string default=" " -test int - -# test multiple spaces/tabs -spaces int -singletab string -multitabs double - -# test enum -normal enum { VAL1, VAL2 } default=VAL1 -spacevalues enum { V1 , V2 , V3 , V4 } default=V3 - -# Comments and empty lines at the end - - diff --git a/configserver/src/test/resources/configdefinitions/simpletypes.def b/configserver/src/test/resources/configdefinitions/simpletypes.def deleted file mode 100644 index 569df41c97d..00000000000 --- a/configserver/src/test/resources/configdefinitions/simpletypes.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Config containing only simple leaf types with default values, that can be used -# for testing individual types in detail. -namespace=config - -boolval bool default=false -doubleval double default=0.0 -enumval enum { VAL1, VAL2 } default=VAL1 -intval int default=0 -longval long default=0 -stringval string default="s" diff --git a/container-accesslogging/CMakeLists.txt b/container-accesslogging/CMakeLists.txt index fb2ba9ac031..14909bc4ca1 100644 --- a/container-accesslogging/CMakeLists.txt +++ b/container-accesslogging/CMakeLists.txt @@ -1,2 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/access-log.def container.core.access-log.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-accesslogging/src/main/resources/configdefinitions/access-log.def b/container-accesslogging/src/main/resources/configdefinitions/access-log.def deleted file mode 100644 index 788fadcdf90..00000000000 --- a/container-accesslogging/src/main/resources/configdefinitions/access-log.def +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core - -# File name patterns supporting the expected time variables, e.g. ".%Y%m%d%H%M%S" -fileHandler.pattern string - -# When should rotation happen, in minutes after midnight -# Does this really need to be configurable? -# Could just configure "every N minutes" instead -fileHandler.rotation string default="0 60 ..." - -# Use this as the name of the symlink created pointing to the newest file in the "date" naming scheme. -# This is ignored if the sequence naming scheme is used. -fileHandler.symlink string default="" - -# compress the previous access log after rotation -fileHandler.compressOnRotation bool default=true diff --git a/container-accesslogging/src/main/resources/configdefinitions/container.core.access-log.def b/container-accesslogging/src/main/resources/configdefinitions/container.core.access-log.def new file mode 100644 index 00000000000..788fadcdf90 --- /dev/null +++ b/container-accesslogging/src/main/resources/configdefinitions/container.core.access-log.def @@ -0,0 +1,17 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core + +# File name patterns supporting the expected time variables, e.g. ".%Y%m%d%H%M%S" +fileHandler.pattern string + +# When should rotation happen, in minutes after midnight +# Does this really need to be configurable? +# Could just configure "every N minutes" instead +fileHandler.rotation string default="0 60 ..." + +# Use this as the name of the symlink created pointing to the newest file in the "date" naming scheme. +# This is ignored if the sequence naming scheme is used. +fileHandler.symlink string default="" + +# compress the previous access log after rotation +fileHandler.compressOnRotation bool default=true diff --git a/container-core/CMakeLists.txt b/container-core/CMakeLists.txt index 1f416ee2516..de3ef9a517e 100644 --- a/container-core/CMakeLists.txt +++ b/container-core/CMakeLists.txt @@ -1,20 +1,4 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/application-metadata.def container.core.application-metadata.def) -install_config_definition(src/main/resources/configdefinitions/container-document.def container.core.document.container-document.def) -install_config_definition(src/main/resources/configdefinitions/container-http.def container.core.container-http.def) -install_config_definition(src/main/resources/configdefinitions/container-threadpool.def container.core.container-threadpool.def) -install_config_definition(src/main/resources/configdefinitions/health-monitor.def container.jdisc.config.health-monitor.def) -install_config_definition(src/main/resources/configdefinitions/http-filter.def container.core.http.http-filter.def) -install_config_definition(src/main/resources/configdefinitions/identity.def container.core.identity.identity.def) -install_config_definition(src/main/resources/configdefinitions/log-handler.def container.core.log-handler.def) -install_config_definition(src/main/resources/configdefinitions/metrics-packets-handler.def container.jdisc.state.metrics-packets-handler.def) -install_config_definition(src/main/resources/configdefinitions/metrics-presentation.def metrics.metrics-presentation.def) -install_config_definition(src/main/resources/configdefinitions/metrics-proxy-api.def container.handler.metrics.metrics-proxy-api.def) -install_config_definition(src/main/resources/configdefinitions/mockservice.def container.handler.test.mockservice.def) -install_config_definition(src/main/resources/configdefinitions/qr-searchers.def container.qr-searchers.def) -install_config_definition(src/main/resources/configdefinitions/qr.def container.qr.def) -install_config_definition(src/main/resources/configdefinitions/servlet-config.def container.servlet.servlet-config.def) -install_config_definition(src/main/resources/configdefinitions/threadpool.def container.handler.threadpool.def) -install_config_definition(src/main/resources/configdefinitions/vip-status.def container.core.vip-status.def) +install_config_definitions(src/main/resources/configdefinitions) vespa_install_script(src/main/sh/vespa-load-balancer-status libexec/vespa) diff --git a/container-core/src/main/resources/configdefinitions/application-metadata.def b/container-core/src/main/resources/configdefinitions/application-metadata.def deleted file mode 100644 index a3ccf1b55cf..00000000000 --- a/container-core/src/main/resources/configdefinitions/application-metadata.def +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Contains meta info about one deployed application - -namespace=container.core - -# The name of the directory that contained the application package -name string default="" - -# The user name that deployed the application -user string default="" - -# The directory the application was deployed from -path string default="" - -# The application timestamp in ms -timestamp long default=0 - -# The md5 hash of the application package contents -checksum string default="" - -# The application generation number -generation long default=0 diff --git a/container-core/src/main/resources/configdefinitions/container-document.def b/container-core/src/main/resources/configdefinitions/container-document.def deleted file mode 100644 index e8db64b011a..00000000000 --- a/container-core/src/main/resources/configdefinitions/container-document.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# -# Container settings for document type management -# -namespace=container.core.document - -# A document type name to use a concrete document type for -doctype[].type string - -# The component id of the AbstractConcreteDocumentFactory to use to instantiate the concrete document type -doctype[].factorycomponent string diff --git a/container-core/src/main/resources/configdefinitions/container-http.def b/container-core/src/main/resources/configdefinitions/container-http.def deleted file mode 100644 index 23edd402893..00000000000 --- a/container-core/src/main/resources/configdefinitions/container-http.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core - -## If non-empty, handlers should emit a header containing this string as key and the local host name as value -hostResponseHeaderKey string default="" - -## For debugging, number of requests to add trace and timing information too if debugging is enabled. -numQueriesToTraceOnDebugAfterConstruction int default=1000 diff --git a/container-core/src/main/resources/configdefinitions/container-threadpool.def b/container-core/src/main/resources/configdefinitions/container-threadpool.def deleted file mode 100644 index 9248bf2e2bf..00000000000 --- a/container-core/src/main/resources/configdefinitions/container-threadpool.def +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.handler.threadpool - -## Maximum number of thread in the thread pool -## 0 is translated to vcpu*4 -maxThreads int default=0 - -## Minimum number of thread in the thread pool -## 0 is translated to vcpu*2 -minThreads int default=0 - -## The number of seconds that excess idle threads will wait for new tasks before terminating -keepAliveTime double default=5.0 - -## Max queue size -queueSize int default=0 - -## The max time the container tolerates having no threads available before it shuts down to -## get out of a bad state. This should be set a bit higher than the expected max execution -## time of each request when in a state of overload, i.e about "worst case execution time*2" -maxThreadExecutionTimeSeconds int default=190 - -# Prefix for the name of the threads -name string default="default-pool" diff --git a/container-core/src/main/resources/configdefinitions/container.core.application-metadata.def b/container-core/src/main/resources/configdefinitions/container.core.application-metadata.def new file mode 100644 index 00000000000..a3ccf1b55cf --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.application-metadata.def @@ -0,0 +1,22 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Contains meta info about one deployed application + +namespace=container.core + +# The name of the directory that contained the application package +name string default="" + +# The user name that deployed the application +user string default="" + +# The directory the application was deployed from +path string default="" + +# The application timestamp in ms +timestamp long default=0 + +# The md5 hash of the application package contents +checksum string default="" + +# The application generation number +generation long default=0 diff --git a/container-core/src/main/resources/configdefinitions/container.core.container-http.def b/container-core/src/main/resources/configdefinitions/container.core.container-http.def new file mode 100644 index 00000000000..23edd402893 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.container-http.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core + +## If non-empty, handlers should emit a header containing this string as key and the local host name as value +hostResponseHeaderKey string default="" + +## For debugging, number of requests to add trace and timing information too if debugging is enabled. +numQueriesToTraceOnDebugAfterConstruction int default=1000 diff --git a/container-core/src/main/resources/configdefinitions/container.core.document.container-document.def b/container-core/src/main/resources/configdefinitions/container.core.document.container-document.def new file mode 100644 index 00000000000..e8db64b011a --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.document.container-document.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# +# Container settings for document type management +# +namespace=container.core.document + +# A document type name to use a concrete document type for +doctype[].type string + +# The component id of the AbstractConcreteDocumentFactory to use to instantiate the concrete document type +doctype[].factorycomponent string diff --git a/container-core/src/main/resources/configdefinitions/container.core.http.http-filter.def b/container-core/src/main/resources/configdefinitions/container.core.http.http-filter.def new file mode 100644 index 00000000000..829147479d6 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.http.http-filter.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core.http + +param[].name string +param[].value string + +filterName string default="" +filterClass string default="" diff --git a/container-core/src/main/resources/configdefinitions/container.core.identity.identity.def b/container-core/src/main/resources/configdefinitions/container.core.identity.identity.def new file mode 100644 index 00000000000..539bf07fa7d --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.identity.identity.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core.identity + +# Tenant identity domain name +domain string +# Tenant identity service name +service string +nodeIdentityName string +configserverIdentityName string +loadBalancerAddress string +athenzDnsSuffix string +ztsUrl string diff --git a/container-core/src/main/resources/configdefinitions/container.core.log-handler.def b/container-core/src/main/resources/configdefinitions/container.core.log-handler.def new file mode 100644 index 00000000000..b30d6eebcf3 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.log-handler.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core + +## Path to log directory, can be relative or absolute. +## Relative paths will be resolved relative to $VESPA_HOME +logDirectory string default="logs/vespa/logarchive/" + +## File name regex of logs to include +logPattern string default=".*" diff --git a/container-core/src/main/resources/configdefinitions/container.core.vip-status.def b/container-core/src/main/resources/configdefinitions/container.core.vip-status.def new file mode 100644 index 00000000000..a042f5915c2 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.core.vip-status.def @@ -0,0 +1,12 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.core + +## Whether to return hard-coded reply or serve "status.html" from disk +accessdisk bool default=false + +## The file to serve as the status file. +## If the path is relative vespa home is prepended +statusfile string default="share/qrsdocs/status.html" + +## Not used TODO: Remove on Vespa 8 +initiallyInRotation bool default=true diff --git a/container-core/src/main/resources/configdefinitions/container.handler.metrics.metrics-proxy-api.def b/container-core/src/main/resources/configdefinitions/container.handler.metrics.metrics-proxy-api.def new file mode 100644 index 00000000000..d2b85cc1df7 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.handler.metrics.metrics-proxy-api.def @@ -0,0 +1,8 @@ +# Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.handler.metrics + +metricsPort int +metricsApiPath string + +prometheusApiPath string diff --git a/container-core/src/main/resources/configdefinitions/container.handler.test.mockservice.def b/container-core/src/main/resources/configdefinitions/container.handler.test.mockservice.def new file mode 100644 index 00000000000..9ee162bc6b8 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.handler.test.mockservice.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.handler.test + +file file +fileAcquirerTimeout long default=60 diff --git a/container-core/src/main/resources/configdefinitions/container.handler.threadpool.container-threadpool.def b/container-core/src/main/resources/configdefinitions/container.handler.threadpool.container-threadpool.def new file mode 100644 index 00000000000..9248bf2e2bf --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.handler.threadpool.container-threadpool.def @@ -0,0 +1,25 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.handler.threadpool + +## Maximum number of thread in the thread pool +## 0 is translated to vcpu*4 +maxThreads int default=0 + +## Minimum number of thread in the thread pool +## 0 is translated to vcpu*2 +minThreads int default=0 + +## The number of seconds that excess idle threads will wait for new tasks before terminating +keepAliveTime double default=5.0 + +## Max queue size +queueSize int default=0 + +## The max time the container tolerates having no threads available before it shuts down to +## get out of a bad state. This should be set a bit higher than the expected max execution +## time of each request when in a state of overload, i.e about "worst case execution time*2" +maxThreadExecutionTimeSeconds int default=190 + +# Prefix for the name of the threads +name string default="default-pool" diff --git a/container-core/src/main/resources/configdefinitions/container.handler.threadpool.def b/container-core/src/main/resources/configdefinitions/container.handler.threadpool.def new file mode 100644 index 00000000000..d966738ea9f --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.handler.threadpool.def @@ -0,0 +1,27 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.handler + +## Maximum number of thread in the thread pool +## Setting it to 0 or negative number will cause it to be set to #cores * 4 +maxthreads int default=500 + +# The number of threads to keep in the pool, even if they are idle +corePoolSize int default=500 + +# The number of seconds that excess idle threads will wait for new tasks before terminating +keepAliveTime double default=5.0 + +## max queue size +## There can be queueSize + maxthreads requests inflight concurrently +## The container will start replying 503 +## Negative value will cause it to set to maxthreads*4 +queueSize int default=0 + +# The max time the container tolerates having no threads available before it shuts down to +# get out of a bad state. This should be set a bit higher than the expected max execution +# time of each request when in a state of overload, i.e about "worst case execution time*2" +maxThreadExecutionTimeSeconds int default=190 + +# Prefix for the name of the threads +name string default="default-pool" diff --git a/container-core/src/main/resources/configdefinitions/container.jdisc.config.health-monitor.def b/container-core/src/main/resources/configdefinitions/container.jdisc.config.health-monitor.def new file mode 100644 index 00000000000..4e91d85b2b8 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.jdisc.config.health-monitor.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.jdisc.config + +# How far between snapshots. 5 minutes by default +snapshot_interval double default=300 + +# Initial status used in /state/v1/health API (value for 'code' in 'status'). See StateMonitor for valid values +initialStatus string default="initializing" diff --git a/container-core/src/main/resources/configdefinitions/container.jdisc.state.metrics-packets-handler.def b/container-core/src/main/resources/configdefinitions/container.jdisc.state.metrics-packets-handler.def new file mode 100644 index 00000000000..c295954fc5d --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.jdisc.state.metrics-packets-handler.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.jdisc.state + +# The name of the application that is reporting metrics. +application string diff --git a/container-core/src/main/resources/configdefinitions/container.qr-searchers.def b/container-core/src/main/resources/configdefinitions/container.qr-searchers.def new file mode 100644 index 00000000000..1e8bd54acc3 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.qr-searchers.def @@ -0,0 +1,73 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container + +# this file needs more comments + +tag.bold.open string default="" +tag.bold.close string default="" +tag.separator string default="" + +# some searcher specific configuration parameters: + +com.yahoo.prelude.searcher.FieldCollapsingSearcher.collapsesize int default=1 +com.yahoo.prelude.searcher.FieldCollapsingSearcher.extrafactor double default=2.0 +com.yahoo.prelude.searcher.FieldCollapsingSearcher.collapsefield string default="mid" + +com.yahoo.prelude.searcher.BlendingSearcher.numthreads int default=200 + +# The field we'll unique on, use [id] to unique on the document id +com.yahoo.prelude.searcher.BlendingSearcher.docid string default="" + +com.yahoo.prelude.searcher.JuniperSearcher.source string default="" +com.yahoo.prelude.searcher.JuniperSearcher.defaultdoctype string default="" + +com.yahoo.prelude.searcher.XMLStringSearcher.source string default="" + +## Default docsum class the QR server should ask the backend to +## use for representing hints as default. +com.yahoo.prelude.fastsearch.FastSearcher.docsum.defaultclass string default="" + +com.yahoo.prelude.querytransform.PhrasingSearcher.automatonfile string default="" +com.yahoo.prelude.querytransform.NonPhrasingSearcher.automatonfile string default="" +com.yahoo.prelude.querytransform.TermReplacingSearcher.termlist[] string +com.yahoo.prelude.querytransform.CompleteBoostSearcher.source string default="" + +com.yahoo.prelude.querytransform.ExactStringSearcher.source string default="" +com.yahoo.prelude.querytransform.LiteralBoostSearcher.source string default="" +com.yahoo.prelude.querytransform.TermBoostSearcher.source string default="" +com.yahoo.prelude.querytransform.NormalizingSearcher.source string default="" +com.yahoo.prelude.querytransform.StemmingSearcher.source string default="" + +com.yahoo.prelude.statistics.StatisticsSearcher.latencybucketsize int default=30 + + +# here users may add their custom searchers +# (all strings should be class names) +customizedsearchers.rawquery[] string +customizedsearchers.transformedquery[] string +customizedsearchers.blendedresult[] string +customizedsearchers.unblendedresult[] string +customizedsearchers.backend[] string +customizedsearchers.argument[].key string +customizedsearchers.argument[].value string + +## This is for adding searchers which should be below BlendingSearcher, +## but not be linked to any Vespa cluster (directly). +external[].name string +external[].searcher[] string + +# Search cluster specific information. +## Name of search cluster. +searchcluster[].name string + +## Names of search definitions served by search cluster. +searchcluster[].searchdef[] string + +## configid that may be used to get rank-profiles config for the cluster. +searchcluster[].rankprofiles.configid reference default="" + +## Indexing mode of search cluster. +searchcluster[].indexingmode enum { REALTIME, STREAMING } default=REALTIME + +## Storage cluster route to use for search cluster if indexingmode is streaming. +searchcluster[].storagecluster.routespec string default="" diff --git a/container-core/src/main/resources/configdefinitions/container.qr.def b/container-core/src/main/resources/configdefinitions/container.qr.def new file mode 100644 index 00000000000..fe44b04e9d5 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.qr.def @@ -0,0 +1,27 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container + +### All params must be flagged as 'restart' because this config is manually +### retrieved by ConfiguredApplication.start to init the rpc server + +## filedistributor rpc configuration +filedistributor.configid reference default="" restart + +## Is RPC server enabled? +rpc.enabled bool default=false restart + +## RPC server listen port +rpc.port int default=8086 restart + +## Which interface to bind to. +rpc.host string default="" restart + +## The id this service should register itself with in slobrok +rpc.slobrokId string default="" restart + +## A unique identifier string for this QRS. The only guarantee given is +## this string will be unique for every QRS in a Vespa application. +discriminator string default="qrserver.0" restart + +## Force restart of container on deploy, and defer any changes until restart +restartOnDeploy bool default=false restart diff --git a/container-core/src/main/resources/configdefinitions/container.servlet.servlet-config.def b/container-core/src/main/resources/configdefinitions/container.servlet.servlet-config.def new file mode 100644 index 00000000000..2b3ef402792 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/container.servlet.servlet-config.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.servlet +map{} string + diff --git a/container-core/src/main/resources/configdefinitions/health-monitor.def b/container-core/src/main/resources/configdefinitions/health-monitor.def deleted file mode 100644 index 4e91d85b2b8..00000000000 --- a/container-core/src/main/resources/configdefinitions/health-monitor.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.jdisc.config - -# How far between snapshots. 5 minutes by default -snapshot_interval double default=300 - -# Initial status used in /state/v1/health API (value for 'code' in 'status'). See StateMonitor for valid values -initialStatus string default="initializing" diff --git a/container-core/src/main/resources/configdefinitions/http-filter.def b/container-core/src/main/resources/configdefinitions/http-filter.def deleted file mode 100644 index 829147479d6..00000000000 --- a/container-core/src/main/resources/configdefinitions/http-filter.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core.http - -param[].name string -param[].value string - -filterName string default="" -filterClass string default="" diff --git a/container-core/src/main/resources/configdefinitions/identity.def b/container-core/src/main/resources/configdefinitions/identity.def deleted file mode 100644 index 539bf07fa7d..00000000000 --- a/container-core/src/main/resources/configdefinitions/identity.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core.identity - -# Tenant identity domain name -domain string -# Tenant identity service name -service string -nodeIdentityName string -configserverIdentityName string -loadBalancerAddress string -athenzDnsSuffix string -ztsUrl string diff --git a/container-core/src/main/resources/configdefinitions/log-handler.def b/container-core/src/main/resources/configdefinitions/log-handler.def deleted file mode 100644 index b30d6eebcf3..00000000000 --- a/container-core/src/main/resources/configdefinitions/log-handler.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core - -## Path to log directory, can be relative or absolute. -## Relative paths will be resolved relative to $VESPA_HOME -logDirectory string default="logs/vespa/logarchive/" - -## File name regex of logs to include -logPattern string default=".*" diff --git a/container-core/src/main/resources/configdefinitions/metrics-packets-handler.def b/container-core/src/main/resources/configdefinitions/metrics-packets-handler.def deleted file mode 100644 index c295954fc5d..00000000000 --- a/container-core/src/main/resources/configdefinitions/metrics-packets-handler.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.jdisc.state - -# The name of the application that is reporting metrics. -application string diff --git a/container-core/src/main/resources/configdefinitions/metrics-presentation.def b/container-core/src/main/resources/configdefinitions/metrics-presentation.def deleted file mode 100644 index b6c40993ef5..00000000000 --- a/container-core/src/main/resources/configdefinitions/metrics-presentation.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=metrics - -## Sliding window means present the last n minutes of data, as opposed to -## presenting the newest completed n minute interval. -slidingwindow bool default=true diff --git a/container-core/src/main/resources/configdefinitions/metrics-proxy-api.def b/container-core/src/main/resources/configdefinitions/metrics-proxy-api.def deleted file mode 100644 index d2b85cc1df7..00000000000 --- a/container-core/src/main/resources/configdefinitions/metrics-proxy-api.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.handler.metrics - -metricsPort int -metricsApiPath string - -prometheusApiPath string diff --git a/container-core/src/main/resources/configdefinitions/metrics.metrics-presentation.def b/container-core/src/main/resources/configdefinitions/metrics.metrics-presentation.def new file mode 100644 index 00000000000..b6c40993ef5 --- /dev/null +++ b/container-core/src/main/resources/configdefinitions/metrics.metrics-presentation.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=metrics + +## Sliding window means present the last n minutes of data, as opposed to +## presenting the newest completed n minute interval. +slidingwindow bool default=true diff --git a/container-core/src/main/resources/configdefinitions/mockservice.def b/container-core/src/main/resources/configdefinitions/mockservice.def deleted file mode 100644 index 9ee162bc6b8..00000000000 --- a/container-core/src/main/resources/configdefinitions/mockservice.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.handler.test - -file file -fileAcquirerTimeout long default=60 diff --git a/container-core/src/main/resources/configdefinitions/qr-searchers.def b/container-core/src/main/resources/configdefinitions/qr-searchers.def deleted file mode 100644 index 1e8bd54acc3..00000000000 --- a/container-core/src/main/resources/configdefinitions/qr-searchers.def +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container - -# this file needs more comments - -tag.bold.open string default="" -tag.bold.close string default="" -tag.separator string default="" - -# some searcher specific configuration parameters: - -com.yahoo.prelude.searcher.FieldCollapsingSearcher.collapsesize int default=1 -com.yahoo.prelude.searcher.FieldCollapsingSearcher.extrafactor double default=2.0 -com.yahoo.prelude.searcher.FieldCollapsingSearcher.collapsefield string default="mid" - -com.yahoo.prelude.searcher.BlendingSearcher.numthreads int default=200 - -# The field we'll unique on, use [id] to unique on the document id -com.yahoo.prelude.searcher.BlendingSearcher.docid string default="" - -com.yahoo.prelude.searcher.JuniperSearcher.source string default="" -com.yahoo.prelude.searcher.JuniperSearcher.defaultdoctype string default="" - -com.yahoo.prelude.searcher.XMLStringSearcher.source string default="" - -## Default docsum class the QR server should ask the backend to -## use for representing hints as default. -com.yahoo.prelude.fastsearch.FastSearcher.docsum.defaultclass string default="" - -com.yahoo.prelude.querytransform.PhrasingSearcher.automatonfile string default="" -com.yahoo.prelude.querytransform.NonPhrasingSearcher.automatonfile string default="" -com.yahoo.prelude.querytransform.TermReplacingSearcher.termlist[] string -com.yahoo.prelude.querytransform.CompleteBoostSearcher.source string default="" - -com.yahoo.prelude.querytransform.ExactStringSearcher.source string default="" -com.yahoo.prelude.querytransform.LiteralBoostSearcher.source string default="" -com.yahoo.prelude.querytransform.TermBoostSearcher.source string default="" -com.yahoo.prelude.querytransform.NormalizingSearcher.source string default="" -com.yahoo.prelude.querytransform.StemmingSearcher.source string default="" - -com.yahoo.prelude.statistics.StatisticsSearcher.latencybucketsize int default=30 - - -# here users may add their custom searchers -# (all strings should be class names) -customizedsearchers.rawquery[] string -customizedsearchers.transformedquery[] string -customizedsearchers.blendedresult[] string -customizedsearchers.unblendedresult[] string -customizedsearchers.backend[] string -customizedsearchers.argument[].key string -customizedsearchers.argument[].value string - -## This is for adding searchers which should be below BlendingSearcher, -## but not be linked to any Vespa cluster (directly). -external[].name string -external[].searcher[] string - -# Search cluster specific information. -## Name of search cluster. -searchcluster[].name string - -## Names of search definitions served by search cluster. -searchcluster[].searchdef[] string - -## configid that may be used to get rank-profiles config for the cluster. -searchcluster[].rankprofiles.configid reference default="" - -## Indexing mode of search cluster. -searchcluster[].indexingmode enum { REALTIME, STREAMING } default=REALTIME - -## Storage cluster route to use for search cluster if indexingmode is streaming. -searchcluster[].storagecluster.routespec string default="" diff --git a/container-core/src/main/resources/configdefinitions/qr.def b/container-core/src/main/resources/configdefinitions/qr.def deleted file mode 100644 index fe44b04e9d5..00000000000 --- a/container-core/src/main/resources/configdefinitions/qr.def +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container - -### All params must be flagged as 'restart' because this config is manually -### retrieved by ConfiguredApplication.start to init the rpc server - -## filedistributor rpc configuration -filedistributor.configid reference default="" restart - -## Is RPC server enabled? -rpc.enabled bool default=false restart - -## RPC server listen port -rpc.port int default=8086 restart - -## Which interface to bind to. -rpc.host string default="" restart - -## The id this service should register itself with in slobrok -rpc.slobrokId string default="" restart - -## A unique identifier string for this QRS. The only guarantee given is -## this string will be unique for every QRS in a Vespa application. -discriminator string default="qrserver.0" restart - -## Force restart of container on deploy, and defer any changes until restart -restartOnDeploy bool default=false restart diff --git a/container-core/src/main/resources/configdefinitions/servlet-config.def b/container-core/src/main/resources/configdefinitions/servlet-config.def deleted file mode 100644 index 2b3ef402792..00000000000 --- a/container-core/src/main/resources/configdefinitions/servlet-config.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.servlet -map{} string - diff --git a/container-core/src/main/resources/configdefinitions/threadpool.def b/container-core/src/main/resources/configdefinitions/threadpool.def deleted file mode 100644 index d966738ea9f..00000000000 --- a/container-core/src/main/resources/configdefinitions/threadpool.def +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.handler - -## Maximum number of thread in the thread pool -## Setting it to 0 or negative number will cause it to be set to #cores * 4 -maxthreads int default=500 - -# The number of threads to keep in the pool, even if they are idle -corePoolSize int default=500 - -# The number of seconds that excess idle threads will wait for new tasks before terminating -keepAliveTime double default=5.0 - -## max queue size -## There can be queueSize + maxthreads requests inflight concurrently -## The container will start replying 503 -## Negative value will cause it to set to maxthreads*4 -queueSize int default=0 - -# The max time the container tolerates having no threads available before it shuts down to -# get out of a bad state. This should be set a bit higher than the expected max execution -# time of each request when in a state of overload, i.e about "worst case execution time*2" -maxThreadExecutionTimeSeconds int default=190 - -# Prefix for the name of the threads -name string default="default-pool" diff --git a/container-core/src/main/resources/configdefinitions/vip-status.def b/container-core/src/main/resources/configdefinitions/vip-status.def deleted file mode 100644 index a042f5915c2..00000000000 --- a/container-core/src/main/resources/configdefinitions/vip-status.def +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.core - -## Whether to return hard-coded reply or serve "status.html" from disk -accessdisk bool default=false - -## The file to serve as the status file. -## If the path is relative vespa home is prepended -statusfile string default="share/qrsdocs/status.html" - -## Not used TODO: Remove on Vespa 8 -initiallyInRotation bool default=true diff --git a/container-core/src/test/vespa-configdef/config.core.int.def b/container-core/src/test/vespa-configdef/config.core.int.def new file mode 100644 index 00000000000..48a94e6bfcd --- /dev/null +++ b/container-core/src/test/vespa-configdef/config.core.int.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.core + +intVal int default=1 diff --git a/container-core/src/test/vespa-configdef/config.core.string.def b/container-core/src/test/vespa-configdef/config.core.string.def new file mode 100644 index 00000000000..250dec3955e --- /dev/null +++ b/container-core/src/test/vespa-configdef/config.core.string.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.core + +stringVal string default="_default_" diff --git a/container-core/src/test/vespa-configdef/int.def b/container-core/src/test/vespa-configdef/int.def deleted file mode 100644 index 48a94e6bfcd..00000000000 --- a/container-core/src/test/vespa-configdef/int.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.core - -intVal int default=1 diff --git a/container-core/src/test/vespa-configdef/string.def b/container-core/src/test/vespa-configdef/string.def deleted file mode 100644 index 250dec3955e..00000000000 --- a/container-core/src/test/vespa-configdef/string.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.core - -stringVal string default="_default_" diff --git a/container-di/CMakeLists.txt b/container-di/CMakeLists.txt index 02b2b0d34d9..14909bc4ca1 100644 --- a/container-di/CMakeLists.txt +++ b/container-di/CMakeLists.txt @@ -1,7 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/bundles.def container.bundles.def) -install_config_definition(src/main/resources/configdefinitions/application-bundles.def com.yahoo.container.di.config.application-bundles.def) -install_config_definition(src/main/resources/configdefinitions/platform-bundles.def com.yahoo.container.di.config.platform-bundles.def) -install_config_definition(src/main/resources/configdefinitions/components.def container.components.def) -install_config_definition(src/main/resources/configdefinitions/jersey-bundles.def container.di.config.jersey-bundles.def) -install_config_definition(src/main/resources/configdefinitions/jersey-injection.def container.di.config.jersey-injection.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-di/src/main/resources/configdefinitions/bundles.def b/container-di/src/main/resources/configdefinitions/bundles.def deleted file mode 100644 index 79e24742398..00000000000 --- a/container-di/src/main/resources/configdefinitions/bundles.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container - -# References to both application and platform bundles to install. -bundle[] file diff --git a/container-di/src/main/resources/configdefinitions/components.def b/container-di/src/main/resources/configdefinitions/components.def deleted file mode 100644 index f27abc2fa5a..00000000000 --- a/container-di/src/main/resources/configdefinitions/components.def +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container - -## A list of components. Components depending on other components may use this to -## get its list of components injected. - -## A component -components[].id string -## The component id used by this component to subscribe to its configs (if any) -components[].configId reference default=":parent:" - -## The id of the class to instantiate for this component. -components[].classId string default="" - -## The symbolic name of the Osgi bundle this component is located in. -## Assumed to be the same as the classid if not set. -components[].bundle string default="" - -## The component id of the component to inject to this component -components[].inject[].id string - -## The name to use for the injected component when injected to this component -components[].inject[].name string default="" diff --git a/container-di/src/main/resources/configdefinitions/container.bundles.def b/container-di/src/main/resources/configdefinitions/container.bundles.def new file mode 100644 index 00000000000..79e24742398 --- /dev/null +++ b/container-di/src/main/resources/configdefinitions/container.bundles.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container + +# References to both application and platform bundles to install. +bundle[] file diff --git a/container-di/src/main/resources/configdefinitions/container.components.def b/container-di/src/main/resources/configdefinitions/container.components.def new file mode 100644 index 00000000000..f27abc2fa5a --- /dev/null +++ b/container-di/src/main/resources/configdefinitions/container.components.def @@ -0,0 +1,23 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container + +## A list of components. Components depending on other components may use this to +## get its list of components injected. + +## A component +components[].id string +## The component id used by this component to subscribe to its configs (if any) +components[].configId reference default=":parent:" + +## The id of the class to instantiate for this component. +components[].classId string default="" + +## The symbolic name of the Osgi bundle this component is located in. +## Assumed to be the same as the classid if not set. +components[].bundle string default="" + +## The component id of the component to inject to this component +components[].inject[].id string + +## The name to use for the injected component when injected to this component +components[].inject[].name string default="" diff --git a/container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def new file mode 100644 index 00000000000..a226420274d --- /dev/null +++ b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-bundles.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.di.config + +# The SymbolicName[:Version] of the Jersey bundles +bundles[].spec string + +# The packages to scan for Jersey resources +bundles[].packages[] string diff --git a/container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def new file mode 100644 index 00000000000..9f5be59abbd --- /dev/null +++ b/container-di/src/main/resources/configdefinitions/container.di.config.jersey-injection.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.di.config + +inject[].instance string +inject[].forClass string diff --git a/container-di/src/main/resources/configdefinitions/jersey-bundles.def b/container-di/src/main/resources/configdefinitions/jersey-bundles.def deleted file mode 100644 index a226420274d..00000000000 --- a/container-di/src/main/resources/configdefinitions/jersey-bundles.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.di.config - -# The SymbolicName[:Version] of the Jersey bundles -bundles[].spec string - -# The packages to scan for Jersey resources -bundles[].packages[] string diff --git a/container-di/src/main/resources/configdefinitions/jersey-injection.def b/container-di/src/main/resources/configdefinitions/jersey-injection.def deleted file mode 100644 index 9f5be59abbd..00000000000 --- a/container-di/src/main/resources/configdefinitions/jersey-injection.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.di.config - -inject[].instance string -inject[].forClass string diff --git a/container-di/src/test/vespa-configdef/bootstrap1.def b/container-di/src/test/vespa-configdef/bootstrap1.def deleted file mode 100644 index bdee16d99ea..00000000000 --- a/container-di/src/test/vespa-configdef/bootstrap1.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.test - -dummy string default="" diff --git a/container-di/src/test/vespa-configdef/bootstrap2.def b/container-di/src/test/vespa-configdef/bootstrap2.def deleted file mode 100644 index b4fbffd8ae6..00000000000 --- a/container-di/src/test/vespa-configdef/bootstrap2.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.test - -dummy string default="" - diff --git a/container-di/src/test/vespa-configdef/components1.def b/container-di/src/test/vespa-configdef/components1.def deleted file mode 100644 index bdee16d99ea..00000000000 --- a/container-di/src/test/vespa-configdef/components1.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.test - -dummy string default="" diff --git a/container-di/src/test/vespa-configdef/config.di.int.def b/container-di/src/test/vespa-configdef/config.di.int.def new file mode 100644 index 00000000000..a34539c4a0f --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.di.int.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.di + +intVal int default=1 diff --git a/container-di/src/test/vespa-configdef/config.di.string.def b/container-di/src/test/vespa-configdef/config.di.string.def new file mode 100644 index 00000000000..396afe54f3f --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.di.string.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.di + +stringVal string default="_default_" diff --git a/container-di/src/test/vespa-configdef/config.test.bootstrap1.def b/container-di/src/test/vespa-configdef/config.test.bootstrap1.def new file mode 100644 index 00000000000..bdee16d99ea --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.bootstrap1.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.test + +dummy string default="" diff --git a/container-di/src/test/vespa-configdef/config.test.bootstrap2.def b/container-di/src/test/vespa-configdef/config.test.bootstrap2.def new file mode 100644 index 00000000000..b4fbffd8ae6 --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.bootstrap2.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.test + +dummy string default="" + diff --git a/container-di/src/test/vespa-configdef/config.test.components1.def b/container-di/src/test/vespa-configdef/config.test.components1.def new file mode 100644 index 00000000000..bdee16d99ea --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.components1.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.test + +dummy string default="" diff --git a/container-di/src/test/vespa-configdef/config.test.test.def b/container-di/src/test/vespa-configdef/config.test.test.def new file mode 100644 index 00000000000..d3e0ed17748 --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.test.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.test + +stringVal string default="default" diff --git a/container-di/src/test/vespa-configdef/config.test.test2.def b/container-di/src/test/vespa-configdef/config.test.test2.def new file mode 100644 index 00000000000..d3e0ed17748 --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.test2.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.test + +stringVal string default="default" diff --git a/container-di/src/test/vespa-configdef/config.test.thread-pool.def b/container-di/src/test/vespa-configdef/config.test.thread-pool.def new file mode 100644 index 00000000000..9e6b6694e84 --- /dev/null +++ b/container-di/src/test/vespa-configdef/config.test.thread-pool.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.test + +numThreads int diff --git a/container-di/src/test/vespa-configdef/int.def b/container-di/src/test/vespa-configdef/int.def deleted file mode 100644 index a34539c4a0f..00000000000 --- a/container-di/src/test/vespa-configdef/int.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.di - -intVal int default=1 diff --git a/container-di/src/test/vespa-configdef/string.def b/container-di/src/test/vespa-configdef/string.def deleted file mode 100644 index 396afe54f3f..00000000000 --- a/container-di/src/test/vespa-configdef/string.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.di - -stringVal string default="_default_" diff --git a/container-di/src/test/vespa-configdef/test.def b/container-di/src/test/vespa-configdef/test.def deleted file mode 100644 index d3e0ed17748..00000000000 --- a/container-di/src/test/vespa-configdef/test.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.test - -stringVal string default="default" diff --git a/container-di/src/test/vespa-configdef/test2.def b/container-di/src/test/vespa-configdef/test2.def deleted file mode 100644 index d3e0ed17748..00000000000 --- a/container-di/src/test/vespa-configdef/test2.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.test - -stringVal string default="default" diff --git a/container-di/src/test/vespa-configdef/thread-pool.def b/container-di/src/test/vespa-configdef/thread-pool.def deleted file mode 100644 index 9e6b6694e84..00000000000 --- a/container-di/src/test/vespa-configdef/thread-pool.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.test - -numThreads int diff --git a/container-disc/CMakeLists.txt b/container-disc/CMakeLists.txt index 7eaf845a883..3d781a95075 100644 --- a/container-disc/CMakeLists.txt +++ b/container-disc/CMakeLists.txt @@ -3,6 +3,4 @@ install_fat_java_artifact(container-disc) vespa_install_script(src/main/sh/vespa-start-container-daemon.sh vespa-start-container-daemon bin) -install_config_definition(src/main/resources/configdefinitions/jdisc-bindings.def container.jdisc.jdisc-bindings.def) -install_config_definition(src/main/resources/configdefinitions/jersey-connection.def container.config.jersey.jersey-connection.def) -install_config_definition(src/main/resources/configdefinitions/jersey-web-app-pool.def container.config.jersey.jersey-web-app-pool.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-connection.def b/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-connection.def new file mode 100644 index 00000000000..b8662e07bf9 --- /dev/null +++ b/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-connection.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## Do NOT move this file to the container-jersey module. If system bundles +## like config-model import packages from container-jersey, new class +## loaders for these bundles will be created after reconfig. +namespace=container.config.jersey + +requestTimeout long default=-1 diff --git a/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-web-app-pool.def b/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-web-app-pool.def new file mode 100644 index 00000000000..52cb9f2229a --- /dev/null +++ b/container-disc/src/main/resources/configdefinitions/container.config.jersey.jersey-web-app-pool.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## Do NOT move this file to the container-jersey module. If system bundles +## like config-model import packages from container-jersey, new class +## loaders for these bundles will be created after reconfig. +namespace=container.config.jersey + +maxActiveWebApp int default=4 +maxIdleWebApp int default=4 diff --git a/container-disc/src/main/resources/configdefinitions/container.jdisc.jdisc-bindings.def b/container-disc/src/main/resources/configdefinitions/container.jdisc.jdisc-bindings.def new file mode 100644 index 00000000000..c1b65d39d7a --- /dev/null +++ b/container-disc/src/main/resources/configdefinitions/container.jdisc.jdisc-bindings.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.jdisc + +handlers{}.serverBindings[] string +handlers{}.clientBindings[] string diff --git a/container-disc/src/main/resources/configdefinitions/jdisc-bindings.def b/container-disc/src/main/resources/configdefinitions/jdisc-bindings.def deleted file mode 100644 index c1b65d39d7a..00000000000 --- a/container-disc/src/main/resources/configdefinitions/jdisc-bindings.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.jdisc - -handlers{}.serverBindings[] string -handlers{}.clientBindings[] string diff --git a/container-disc/src/main/resources/configdefinitions/jersey-connection.def b/container-disc/src/main/resources/configdefinitions/jersey-connection.def deleted file mode 100644 index b8662e07bf9..00000000000 --- a/container-disc/src/main/resources/configdefinitions/jersey-connection.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## Do NOT move this file to the container-jersey module. If system bundles -## like config-model import packages from container-jersey, new class -## loaders for these bundles will be created after reconfig. -namespace=container.config.jersey - -requestTimeout long default=-1 diff --git a/container-disc/src/main/resources/configdefinitions/jersey-web-app-pool.def b/container-disc/src/main/resources/configdefinitions/jersey-web-app-pool.def deleted file mode 100644 index 52cb9f2229a..00000000000 --- a/container-disc/src/main/resources/configdefinitions/jersey-web-app-pool.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## Do NOT move this file to the container-jersey module. If system bundles -## like config-model import packages from container-jersey, new class -## loaders for these bundles will be created after reconfig. -namespace=container.config.jersey - -maxActiveWebApp int default=4 -maxIdleWebApp int default=4 diff --git a/container-messagebus/CMakeLists.txt b/container-messagebus/CMakeLists.txt index 3cd62d83b73..14909bc4ca1 100644 --- a/container-messagebus/CMakeLists.txt +++ b/container-messagebus/CMakeLists.txt @@ -1,3 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/container-mbus.def container.jdisc.container-mbus.def) -install_config_definition(src/main/resources/configdefinitions/session.def container.jdisc.config.session.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-messagebus/src/main/resources/configdefinitions/container-mbus.def b/container-messagebus/src/main/resources/configdefinitions/container-mbus.def deleted file mode 100644 index 9aef2b32a66..00000000000 --- a/container-messagebus/src/main/resources/configdefinitions/container-mbus.def +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.jdisc - -#settings for message bus in container - -# Which network port is used -port int default=0 - -# Number of connections per target -numconnectionspertarget int default=1 - -# Number network threads -numthreads int default=2 - -# Optimize for latency, or throughput. -optimize_for enum {LATENCY, THROUGHPUT} default=LATENCY - -# Everying below is deprecated and will go away very soon. -# Dynamic throttling is used, and works better than anything else. -maxpendingcount int default=2048 - -enabled bool default=false -#maxpendingsize is set in megabytes! -maxpendingsize int default=100 - -#The amount of input data that the service can process concurrently -maxConcurrentFactor double default=0.2 range=[0.0-1.0] - -#The factor that an operation grows by in terms of temporary memory usage during deserialization and processing -documentExpansionFactor double default=80.0 - -#The headroom left for the container and other stuff, i.e. heap that cannot be used for processing (megabytes) -containerCoreMemory int default=150 - diff --git a/container-messagebus/src/main/resources/configdefinitions/container.jdisc.config.session.def b/container-messagebus/src/main/resources/configdefinitions/container.jdisc.config.session.def new file mode 100644 index 00000000000..93e71449e98 --- /dev/null +++ b/container-messagebus/src/main/resources/configdefinitions/container.jdisc.config.session.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=container.jdisc.config + +name string default="" +type enum {INTERMEDIATE, SOURCE, INTERNAL} default=INTERMEDIATE diff --git a/container-messagebus/src/main/resources/configdefinitions/container.jdisc.container-mbus.def b/container-messagebus/src/main/resources/configdefinitions/container.jdisc.container-mbus.def new file mode 100644 index 00000000000..9aef2b32a66 --- /dev/null +++ b/container-messagebus/src/main/resources/configdefinitions/container.jdisc.container-mbus.def @@ -0,0 +1,34 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.jdisc + +#settings for message bus in container + +# Which network port is used +port int default=0 + +# Number of connections per target +numconnectionspertarget int default=1 + +# Number network threads +numthreads int default=2 + +# Optimize for latency, or throughput. +optimize_for enum {LATENCY, THROUGHPUT} default=LATENCY + +# Everying below is deprecated and will go away very soon. +# Dynamic throttling is used, and works better than anything else. +maxpendingcount int default=2048 + +enabled bool default=false +#maxpendingsize is set in megabytes! +maxpendingsize int default=100 + +#The amount of input data that the service can process concurrently +maxConcurrentFactor double default=0.2 range=[0.0-1.0] + +#The factor that an operation grows by in terms of temporary memory usage during deserialization and processing +documentExpansionFactor double default=80.0 + +#The headroom left for the container and other stuff, i.e. heap that cannot be used for processing (megabytes) +containerCoreMemory int default=150 + diff --git a/container-messagebus/src/main/resources/configdefinitions/session.def b/container-messagebus/src/main/resources/configdefinitions/session.def deleted file mode 100644 index 93e71449e98..00000000000 --- a/container-messagebus/src/main/resources/configdefinitions/session.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=container.jdisc.config - -name string default="" -type enum {INTERMEDIATE, SOURCE, INTERNAL} default=INTERMEDIATE diff --git a/container-search-and-docproc/CMakeLists.txt b/container-search-and-docproc/CMakeLists.txt index 29bbe5bdb0f..aef014583f5 100644 --- a/container-search-and-docproc/CMakeLists.txt +++ b/container-search-and-docproc/CMakeLists.txt @@ -1,4 +1,4 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_fat_java_artifact(container-search-and-docproc) -install_config_definition(src/main/resources/configdefinitions/application-userdata.def container.handler.observability.application-userdata.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-search-and-docproc/src/main/resources/configdefinitions/application-userdata.def b/container-search-and-docproc/src/main/resources/configdefinitions/application-userdata.def deleted file mode 100644 index 0285d3d2103..00000000000 --- a/container-search-and-docproc/src/main/resources/configdefinitions/application-userdata.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Contains user generated info about one deployed application -# The values in this config are set by config overrides in vespa-services - -namespace=container.handler.observability - -# The user-defined version of this application. -version string default="" diff --git a/container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def b/container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def new file mode 100644 index 00000000000..0285d3d2103 --- /dev/null +++ b/container-search-and-docproc/src/main/resources/configdefinitions/container.handler.observability.application-userdata.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Contains user generated info about one deployed application +# The values in this config are set by config overrides in vespa-services + +namespace=container.handler.observability + +# The user-defined version of this application. +version string default="" diff --git a/container-search/CMakeLists.txt b/container-search/CMakeLists.txt index 87d192a50f4..14909bc4ca1 100644 --- a/container-search/CMakeLists.txt +++ b/container-search/CMakeLists.txt @@ -1,24 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/cluster.def search.config.cluster.def) -install_config_definition(src/main/resources/configdefinitions/documentdb-info.def prelude.fastsearch.documentdb-info.def) -install_config_definition(src/main/resources/configdefinitions/emulation.def prelude.emulation.def) -install_config_definition(src/main/resources/configdefinitions/federation.def search.federation.federation.def) -install_config_definition(src/main/resources/configdefinitions/fs4.def container.search.fs4.def) -install_config_definition(src/main/resources/configdefinitions/index-info.def search.config.index-info.def) -install_config_definition(src/main/resources/configdefinitions/keyvalue.def prelude.searcher.keyvalue.def) -install_config_definition(src/main/resources/configdefinitions/lowercasing.def search.querytransform.lowercasing.def) -install_config_definition(src/main/resources/configdefinitions/measure-qps.def search.statistics.measure-qps.def) -install_config_definition(src/main/resources/configdefinitions/page-templates.def search.pagetemplates.page-templates.def) -install_config_definition(src/main/resources/configdefinitions/provider.def search.federation.provider.def) -install_config_definition(src/main/resources/configdefinitions/qr-monitor.def prelude.cluster.qr-monitor.def) -install_config_definition(src/main/resources/configdefinitions/qr-quotetable.def prelude.searcher.qr-quotetable.def) -install_config_definition(src/main/resources/configdefinitions/qr-start.def search.config.qr-start.def) -install_config_definition(src/main/resources/configdefinitions/query-profiles.def search.query.profile.config.query-profiles.def) -install_config_definition(src/main/resources/configdefinitions/rate-limiting.def search.config.rate-limiting.def) -install_config_definition(src/main/resources/configdefinitions/resolvers.def search.pagetemplates.resolvers.def) -install_config_definition(src/main/resources/configdefinitions/rewrites.def search.query.rewrite.rewrites.def) -install_config_definition(src/main/resources/configdefinitions/search-with-renderer-handler.def search.handler.search-with-renderer-handler.def) -install_config_definition(src/main/resources/configdefinitions/searchchain-forward.def search.federation.searchchain-forward.def) -install_config_definition(src/main/resources/configdefinitions/semantic-rules.def prelude.semantics.semantic-rules.def) -install_config_definition(src/main/resources/configdefinitions/strict-contracts.def search.federation.strict-contracts.def) -install_config_definition(src/main/resources/configdefinitions/timing-searcher.def search.statistics.timing-searcher.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/container-search/src/main/resources/configdefinitions/cluster.def b/container-search/src/main/resources/configdefinitions/cluster.def deleted file mode 100644 index 52eca7ef753..00000000000 --- a/container-search/src/main/resources/configdefinitions/cluster.def +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.config - -#The id of the cluster (as specified in qr-searchers) -#Note: Use clusterName where possible instead -clusterId int default=0 - -#Internal searcher cache. Size is measured in megabytes of raw packet -#size. Hits larger than 1% of total cache size will not be cached. -cacheSize int default=1 - -#Timeout for internal searcher cache. Entries older than this number -#of seconds will be removed from cache. 0 or less means the cache is -#disabled. -cacheTimeout double default=0 - -#Whether or not to try another TLD if the current request fails. -failoverToRemote bool default=false - -#The name of the cluster (as specified in qr-searchers) -clusterName string - -#The maximum query timeout for this cluster in seconds (default 10 minutes) -maxQueryTimeout double default=600 - -#The maximum query timeout allowed before disabling the backend query cache for the given query (default 10 seconds). -#Note that the query timeout is used as the query cache timeout in the backend if enabled. -maxQueryCacheTimeout double default=10 diff --git a/container-search/src/main/resources/configdefinitions/container.search.fs4.def b/container-search/src/main/resources/configdefinitions/container.search.fs4.def new file mode 100644 index 00000000000..9562cfa75bd --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/container.search.fs4.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container.search + +##Number of listener threads +numlistenerthreads int default=8 diff --git a/container-search/src/main/resources/configdefinitions/documentdb-info.def b/container-search/src/main/resources/configdefinitions/documentdb-info.def deleted file mode 100644 index 76096b4a6f7..00000000000 --- a/container-search/src/main/resources/configdefinitions/documentdb-info.def +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=prelude.fastsearch - -## The name of the search definition that this document database info applies to -documentdb[].name string - -## The id of the summary class -documentdb[].summaryclass[].id int -## The name of the summary class -documentdb[].summaryclass[].name string -## The name of a field in the summary class -documentdb[].summaryclass[].fields[].name string -## The type of a field in the summary class -documentdb[].summaryclass[].fields[].type string -## Whether this field is a dynamic snippet -documentdb[].summaryclass[].fields[].dynamic bool default=false - -## Information about rank profiles -documentdb[].rankprofile[].name string -documentdb[].rankprofile[].hasSummaryFeatures bool default=true -documentdb[].rankprofile[].hasRankFeatures bool default=true diff --git a/container-search/src/main/resources/configdefinitions/emulation.def b/container-search/src/main/resources/configdefinitions/emulation.def deleted file mode 100644 index 70d2d4954a4..00000000000 --- a/container-search/src/main/resources/configdefinitions/emulation.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=prelude - -## Keep emulating old (4.2, 5.0, early 5.1) string type fields for structured data -stringbackedstructs bool default=true - -## Keep emulating old (4.2, 5.0, early 5.1) string type fields for summaryfeatures / rankfeatures fields -stringbackedfeatures bool default=true diff --git a/container-search/src/main/resources/configdefinitions/federation.def b/container-search/src/main/resources/configdefinitions/federation.def deleted file mode 100644 index 36eb5d4b4c8..00000000000 --- a/container-search/src/main/resources/configdefinitions/federation.def +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.federation - -target[].id string -target[].useByDefault bool default=false - -#the component id of the chain used for federation. -target[].searchChain[].searchChainId string -target[].searchChain[].timeoutMillis int default=-1 -target[].searchChain[].requestTimeoutMillis int default=-1 -target[].searchChain[].optional bool default=false -target[].searchChain[].useByDefault bool default=false -#if non-empty, this is a provider for the source target[].name -target[].searchChain[].providerId string default="" -target[].searchChain[].documentTypes[] string - -targetSelector string default="" diff --git a/container-search/src/main/resources/configdefinitions/fs4.def b/container-search/src/main/resources/configdefinitions/fs4.def deleted file mode 100644 index 9562cfa75bd..00000000000 --- a/container-search/src/main/resources/configdefinitions/fs4.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container.search - -##Number of listener threads -numlistenerthreads int default=8 diff --git a/container-search/src/main/resources/configdefinitions/index-info.def b/container-search/src/main/resources/configdefinitions/index-info.def deleted file mode 100644 index f3b905d4d0a..00000000000 --- a/container-search/src/main/resources/configdefinitions/index-info.def +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -## Commands per search definition to be applied to query terms per index before searching -namespace=search.config - -## The name of the search definition this index info applies to -indexinfo[].name string - -## The name of a index for which we have a command -indexinfo[].command[].indexname string -## The command, e.g. "lowercase", "word" or "rise" -indexinfo[].command[].command string - -## The name of an alias for an index or attribute -indexinfo[].alias[].alias string -## The index name that the alias should map to -indexinfo[].alias[].indexname string diff --git a/container-search/src/main/resources/configdefinitions/keyvalue.def b/container-search/src/main/resources/configdefinitions/keyvalue.def deleted file mode 100644 index 95153708aa2..00000000000 --- a/container-search/src/main/resources/configdefinitions/keyvalue.def +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=prelude.searcher - -# The doc id scheme to use. -docIdScheme enum { DOC_SCHEME, ID_SCHEME } default=ID_SCHEME - -# Number of partitions in search cluster -numparts int - -# Number of rows in search cluster -numrows int default=1 - -# Which summary to request for each key -summaryName string - -# Document ID namespace -docIdNameSpace string - -# Document id type (only necessary if -docIdType string default="" diff --git a/container-search/src/main/resources/configdefinitions/lowercasing.def b/container-search/src/main/resources/configdefinitions/lowercasing.def deleted file mode 100644 index b656c451e11..00000000000 --- a/container-search/src/main/resources/configdefinitions/lowercasing.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.querytransform - -transform_weighted_sets bool default=true diff --git a/container-search/src/main/resources/configdefinitions/measure-qps.def b/container-search/src/main/resources/configdefinitions/measure-qps.def deleted file mode 100644 index c8b38b9db6e..00000000000 --- a/container-search/src/main/resources/configdefinitions/measure-qps.def +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.statistics - -## Configure measurements of peak QPS rates. - -## Control whether com.yahoo.search.statistics.PeakQpsSearcher -## should emit data through statistics framework or as a meta hit. -outputmethod enum { STATISTICS, METAHIT } default=STATISTICS - -## If using meta hits, which query property should trigger sampling -queryproperty string default="fetchpeakqps" - -## The base name for the statistics event. Default is the component name -## of the searcher, as defined in vespa-services, with dots replaced by -## underscore. -eventname string default="" diff --git a/container-search/src/main/resources/configdefinitions/page-templates.def b/container-search/src/main/resources/configdefinitions/page-templates.def deleted file mode 100644 index 31ec7644d18..00000000000 --- a/container-search/src/main/resources/configdefinitions/page-templates.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.pagetemplates - -# The xml content of a page template -page[] string diff --git a/container-search/src/main/resources/configdefinitions/prelude.cluster.qr-monitor.def b/container-search/src/main/resources/configdefinitions/prelude.cluster.qr-monitor.def new file mode 100644 index 00000000000..2c4ff3c6167 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.cluster.qr-monitor.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=prelude.cluster + +## The number of milliseconds to attempt to complete a request before +## giving up, including nodetimeout. +requesttimeout int default=5000 diff --git a/container-search/src/main/resources/configdefinitions/prelude.emulation.def b/container-search/src/main/resources/configdefinitions/prelude.emulation.def new file mode 100644 index 00000000000..70d2d4954a4 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.emulation.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=prelude + +## Keep emulating old (4.2, 5.0, early 5.1) string type fields for structured data +stringbackedstructs bool default=true + +## Keep emulating old (4.2, 5.0, early 5.1) string type fields for summaryfeatures / rankfeatures fields +stringbackedfeatures bool default=true diff --git a/container-search/src/main/resources/configdefinitions/prelude.fastsearch.documentdb-info.def b/container-search/src/main/resources/configdefinitions/prelude.fastsearch.documentdb-info.def new file mode 100644 index 00000000000..76096b4a6f7 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.fastsearch.documentdb-info.def @@ -0,0 +1,21 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=prelude.fastsearch + +## The name of the search definition that this document database info applies to +documentdb[].name string + +## The id of the summary class +documentdb[].summaryclass[].id int +## The name of the summary class +documentdb[].summaryclass[].name string +## The name of a field in the summary class +documentdb[].summaryclass[].fields[].name string +## The type of a field in the summary class +documentdb[].summaryclass[].fields[].type string +## Whether this field is a dynamic snippet +documentdb[].summaryclass[].fields[].dynamic bool default=false + +## Information about rank profiles +documentdb[].rankprofile[].name string +documentdb[].rankprofile[].hasSummaryFeatures bool default=true +documentdb[].rankprofile[].hasRankFeatures bool default=true diff --git a/container-search/src/main/resources/configdefinitions/prelude.searcher.keyvalue.def b/container-search/src/main/resources/configdefinitions/prelude.searcher.keyvalue.def new file mode 100644 index 00000000000..95153708aa2 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.searcher.keyvalue.def @@ -0,0 +1,20 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=prelude.searcher + +# The doc id scheme to use. +docIdScheme enum { DOC_SCHEME, ID_SCHEME } default=ID_SCHEME + +# Number of partitions in search cluster +numparts int + +# Number of rows in search cluster +numrows int default=1 + +# Which summary to request for each key +summaryName string + +# Document ID namespace +docIdNameSpace string + +# Document id type (only necessary if +docIdType string default="" diff --git a/container-search/src/main/resources/configdefinitions/prelude.searcher.qr-quotetable.def b/container-search/src/main/resources/configdefinitions/prelude.searcher.qr-quotetable.def new file mode 100644 index 00000000000..40979ad2a35 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.searcher.qr-quotetable.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=prelude.searcher + +## The ordinal number of the character to quote in UNICODE. +character[].ordinal int +## The string to translate a character to. +character[].quoting string diff --git a/container-search/src/main/resources/configdefinitions/prelude.semantics.semantic-rules.def b/container-search/src/main/resources/configdefinitions/prelude.semantics.semantic-rules.def new file mode 100644 index 00000000000..5ac0cca7ff6 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/prelude.semantics.semantic-rules.def @@ -0,0 +1,22 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Semantic production rules +namespace=prelude.semantics + +# Whether we should use these rule bases in pre-Vespa 2.2 compatibility mode +compatibility bool default=false + +# The name of a rule base +rulebase[].name string + +# Whether this rule base is the default, to be used on all queries +# not specifying rules +rulebase[].isdefault bool default=false + +# The automata file to use to look up condition references +# not defined in the rule base. The automata file must be present +# on all nodes getting this configuration +rulebase[].automata string default="" + +# The rules +rulebase[].rules string + diff --git a/container-search/src/main/resources/configdefinitions/provider.def b/container-search/src/main/resources/configdefinitions/provider.def deleted file mode 100644 index f9ab305b114..00000000000 --- a/container-search/src/main/resources/configdefinitions/provider.def +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.federation - -node[].host string -node[].port int -path string default="" -maxConnections int default=10000 -maxConnectionPerRoute int default=10000 -socketBufferBytes int default=8192 -retries int default=1 -## Timeout for blocking IO calls in HTTP client. -## Unit is seconds, default value is -## in com.yahoo.search.federation.http.HTTPParameters. -readTimeout double default=-1.0 -## The timeout until a connection is etablished. -## Unit is seconds, default value is -## in com.yahoo.search.federation.http.HTTPParameters. -connectionTimeout double default=-1.0 -## Timeout when retrieving a connection from the connection manager. -## Unit is seconds, default value is -## in com.yahoo.search.federation.http.HTTPParameters. -connectionPoolTimeout double default=-1.0 -## Certificate store proxy host -yca.host string default="yca.host must be set explicitly" -## Certificate store proxy port -yca.port int default=3128 -## Whether a proxy is needed (i.e. should the proxy settings be used) -yca.useProxy bool default=false -yca.applicationId string default="" -## TTL to use in the certificate cache. 0 means use default cache behavior. -## Unit is seconds. -yca.ttl int default=0 -## How often to retry direct cert DB access if no certificate is found, -## i.e. the cache TTL for null entries. Unit is seconds. -yca.retry int default=0 - -# The form of the serialized query. -queryType enum { LEGACY, PROGRAMMATIC, YQL, SELECT } default=LEGACY - -# How to do pinging against a backend. -pingOption enum { DISABLE, NORMAL, YCA } default=NORMAL - -followRedirects bool default=true diff --git a/container-search/src/main/resources/configdefinitions/qr-monitor.def b/container-search/src/main/resources/configdefinitions/qr-monitor.def deleted file mode 100644 index 2c4ff3c6167..00000000000 --- a/container-search/src/main/resources/configdefinitions/qr-monitor.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=prelude.cluster - -## The number of milliseconds to attempt to complete a request before -## giving up, including nodetimeout. -requesttimeout int default=5000 diff --git a/container-search/src/main/resources/configdefinitions/qr-quotetable.def b/container-search/src/main/resources/configdefinitions/qr-quotetable.def deleted file mode 100644 index 40979ad2a35..00000000000 --- a/container-search/src/main/resources/configdefinitions/qr-quotetable.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=prelude.searcher - -## The ordinal number of the character to quote in UNICODE. -character[].ordinal int -## The string to translate a character to. -character[].quoting string diff --git a/container-search/src/main/resources/configdefinitions/qr-start.def b/container-search/src/main/resources/configdefinitions/qr-start.def deleted file mode 100644 index 95e9d4575dd..00000000000 --- a/container-search/src/main/resources/configdefinitions/qr-start.def +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Do update the start script with the new name if you change it: -namespace=search.config - -## Server or client VM -jvm.server bool default=true restart - -## Debug logging of Garbage Collection -jvm.verbosegc bool default=true restart - -## Garbage Collection tuning parameters -jvm.gcopts string default="-XX:+UseG1GC -XX:MaxTenuringThreshold=15 -XX:NewRatio=1" restart - -## Heap size (in megabytes) for the Java VM -jvm.heapsize int default=1536 restart - -## Min heapsize (in megabytes) for the Java VM -jvm.minHeapsize int default=1536 restart - -## Stack size (in kilobytes) -jvm.stacksize int default=512 restart - -## CompressedOOps size in megabytes -jvm.compressedClassSpaceSize int default=32 restart - -## Base value of maximum direct memory size (in megabytes) -jvm.baseMaxDirectMemorySize int default=75 restart - -## Amount of direct memory used for caching. (in megabytes) -jvm.directMemorySizeCache int default=0 restart - -## Set heap size as this percentage of available RAM, instead of absolute -## value above. Setting outside [1, 99] disables this setting. -jvm.heapSizeAsPercentageOfPhysicalMemory int default=0 restart - -## Number of processors available, can be used to set -XX:ActiveProcessorCount if set to non-zero. -## In that case will be the number returned by the JVM when calling Runtime.getRuntime().availableProcessors() -jvm.availableProcessors int default=0 restart - -## Extra environment variables -qrs.env string default="" restart - -## Set ulimit -v in start script? this is mainly a safeguard against JNI stuff leaking memory. -ulimitv string default="" restart - -## Extra class path entries, forwarded to vespa-start-container_daemon. Overrides the corresponding env setting. -jdisc.classpath_extra string default="" restart - -## Extra export packages entries, forwarded to vespa-start-container_daemon. Overrides the corresponding env setting. -jdisc.export_packages string default="" restart diff --git a/container-search/src/main/resources/configdefinitions/query-profiles.def b/container-search/src/main/resources/configdefinitions/query-profiles.def deleted file mode 100644 index 3c6d11e2944..00000000000 --- a/container-search/src/main/resources/configdefinitions/query-profiles.def +++ /dev/null @@ -1,93 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Query profiles and their types - a query profile is a nested composite of query parameters with an id -# A set of query parameters can be fetched from a query profile rather than being -# submitted explicitly. -namespace=search.query.profile.config - -# The id of this query profile. The id has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# The default query profile (if any) must be called "default". -queryprofile[].id string - -# The (optional) type of this query profile, an id string -# If no type is given, all values are legal -queryprofile[].type string default="" - -# The optional list of query profiles this inherits, by id. -# The id's has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# If the version is not specified the newest version found is used. -queryprofile[].inherit[] string - -# The dimensions over which this profile may vary, if any -queryprofile[].dimensions[] string - -# A property name. Note that names containing dots will create implicit query profile -# sub-instances. These instances will completely override instances in super-profiles -# even if they don't set all the values of the super-instance -queryprofile[].property[].name string -# The property value -queryprofile[].property[].value string -# Whether the value is overridable in the request or by a programmatic setting: "true", "false" or "" -# which means take the value from any inherited profile or the type -queryprofile[].property[].overridable string default="" - -# A reference name to another query profile -queryprofile[].reference[].name string -# The id of the referenced profile, the version part may be missing -# or underspecified as usual -queryprofile[].reference[].value string -# Whether the value is overridable in the request or by a programmatic setting: "true", "false" or "" -# which means take the value from any inherited profile or the type -queryprofile[].reference[].overridable string default="" - -# A variant of this (top level) profile for some value of its dimensions -queryprofile[].queryprofilevariant[].fordimensionvalues[] string -# The optional list of query profiles this variant inherits, by id. -# The id's has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# If the version is not specified the newest version found is used. -queryprofile[].queryprofilevariant[].inherit[] string -# Content of profile variant -queryprofile[].queryprofilevariant[].property[].name string -# Content of profile variant -queryprofile[].queryprofilevariant[].property[].value string -# Content of profile variant -queryprofile[].queryprofilevariant[].reference[].name string -# Content of profile variant -queryprofile[].queryprofilevariant[].reference[].value string - -# A query profile type defines the values of instance query profiles. -# The id follows the same rules as for query profiles -queryprofiletype[].id string - -# If this is strict, non-declared values can not be set in a query profile of this type nor -# in the request or by a programmatic call -queryprofiletype[].strict bool default=false - -# With this set to true, requests for query profile instances of this type will be matched as path names -queryprofiletype[].matchaspath bool default=false - -# The optional list of query profile types this inherits, by id. -# The id's has the form name(:version)? -# where the version has the form 1(.2(.3(.identifier)?)?)?. -# If the version is not specified the newest version found is used. -queryprofiletype[].inherit[] string - -# Declaration of a field -queryprofiletype[].field[].name string -# The type of the field, a primitive, query-profile or query-profile:id to declare a reference -# which is untyped or typed, respectively -queryprofiletype[].field[].type string -# Whether values of this is overridable in the request or by a programmatic setting -queryprofiletype[].field[].overridable bool default=true -# Whether this must be present in the query profile or the request for this to be valid -queryprofiletype[].field[].mandatory bool default=false -# A space-separated list of aliases of this field name. Aliases are case insensitive -queryprofiletype[].field[].alias string default="" - -# TODO Remove once no longer used by old config models -enableGroupingSessionCache bool default=true - - - diff --git a/container-search/src/main/resources/configdefinitions/rate-limiting.def b/container-search/src/main/resources/configdefinitions/rate-limiting.def deleted file mode 100644 index 23235617f8c..00000000000 --- a/container-search/src/main/resources/configdefinitions/rate-limiting.def +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Configuration of the rate limiting algorithm -namespace=search.config - -# How much additional capacity to assign to a thread each time it has run out. -# A higher number means less thread contention and less accuracy -capacityIncrement double default=1000 - -# The max capacity which will ever (and initially) be available to requesting threads on one node -# A higher number means we'll be less sensitive to intermittent overlap -# A good number may be capacityIncrement * 10 -maxAvailableCapacity double default=10000 - -# The probability per request that we check for more quota when we have run out. -# A higher number means less probability of rejecting a request unnecessarily -# but also more thread contention. -# A good number may be 1 / (maxAvailableCapacity * average-cost) -recheckForCapacityProbability double default=0.001 - diff --git a/container-search/src/main/resources/configdefinitions/resolvers.def b/container-search/src/main/resources/configdefinitions/resolvers.def deleted file mode 100644 index 6003fdf81f1..00000000000 --- a/container-search/src/main/resources/configdefinitions/resolvers.def +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.pagetemplates - -## A list of resolver components used by com.yahoo.search.PageTemplateSearcher - -## A component -component[].id string -## The component id used by this component to subscribe to its configs (if any) -component[].configId reference default=":parent:" - -## The id of the class to instantiate for this component. -component[].classId string default="" - -## The symbolic name of the Osgi bundle this component is located in. -## Assumed to be the same as the classid if not set. -component[].bundle string default="" diff --git a/container-search/src/main/resources/configdefinitions/rewrites.def b/container-search/src/main/resources/configdefinitions/rewrites.def deleted file mode 100644 index ecca422342a..00000000000 --- a/container-search/src/main/resources/configdefinitions/rewrites.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.query.rewrite - -fsaDict[].name string -fsaDict[].path file diff --git a/container-search/src/main/resources/configdefinitions/search-with-renderer-handler.def b/container-search/src/main/resources/configdefinitions/search-with-renderer-handler.def deleted file mode 100644 index a34e08a1c82..00000000000 --- a/container-search/src/main/resources/configdefinitions/search-with-renderer-handler.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.handler - -rendererId string diff --git a/container-search/src/main/resources/configdefinitions/search.config.cluster.def b/container-search/src/main/resources/configdefinitions/search.config.cluster.def new file mode 100644 index 00000000000..52eca7ef753 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.config.cluster.def @@ -0,0 +1,28 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.config + +#The id of the cluster (as specified in qr-searchers) +#Note: Use clusterName where possible instead +clusterId int default=0 + +#Internal searcher cache. Size is measured in megabytes of raw packet +#size. Hits larger than 1% of total cache size will not be cached. +cacheSize int default=1 + +#Timeout for internal searcher cache. Entries older than this number +#of seconds will be removed from cache. 0 or less means the cache is +#disabled. +cacheTimeout double default=0 + +#Whether or not to try another TLD if the current request fails. +failoverToRemote bool default=false + +#The name of the cluster (as specified in qr-searchers) +clusterName string + +#The maximum query timeout for this cluster in seconds (default 10 minutes) +maxQueryTimeout double default=600 + +#The maximum query timeout allowed before disabling the backend query cache for the given query (default 10 seconds). +#Note that the query timeout is used as the query cache timeout in the backend if enabled. +maxQueryCacheTimeout double default=10 diff --git a/container-search/src/main/resources/configdefinitions/search.config.index-info.def b/container-search/src/main/resources/configdefinitions/search.config.index-info.def new file mode 100644 index 00000000000..f3b905d4d0a --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.config.index-info.def @@ -0,0 +1,16 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +## Commands per search definition to be applied to query terms per index before searching +namespace=search.config + +## The name of the search definition this index info applies to +indexinfo[].name string + +## The name of a index for which we have a command +indexinfo[].command[].indexname string +## The command, e.g. "lowercase", "word" or "rise" +indexinfo[].command[].command string + +## The name of an alias for an index or attribute +indexinfo[].alias[].alias string +## The index name that the alias should map to +indexinfo[].alias[].indexname string diff --git a/container-search/src/main/resources/configdefinitions/search.config.qr-start.def b/container-search/src/main/resources/configdefinitions/search.config.qr-start.def new file mode 100644 index 00000000000..95e9d4575dd --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.config.qr-start.def @@ -0,0 +1,50 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Do update the start script with the new name if you change it: +namespace=search.config + +## Server or client VM +jvm.server bool default=true restart + +## Debug logging of Garbage Collection +jvm.verbosegc bool default=true restart + +## Garbage Collection tuning parameters +jvm.gcopts string default="-XX:+UseG1GC -XX:MaxTenuringThreshold=15 -XX:NewRatio=1" restart + +## Heap size (in megabytes) for the Java VM +jvm.heapsize int default=1536 restart + +## Min heapsize (in megabytes) for the Java VM +jvm.minHeapsize int default=1536 restart + +## Stack size (in kilobytes) +jvm.stacksize int default=512 restart + +## CompressedOOps size in megabytes +jvm.compressedClassSpaceSize int default=32 restart + +## Base value of maximum direct memory size (in megabytes) +jvm.baseMaxDirectMemorySize int default=75 restart + +## Amount of direct memory used for caching. (in megabytes) +jvm.directMemorySizeCache int default=0 restart + +## Set heap size as this percentage of available RAM, instead of absolute +## value above. Setting outside [1, 99] disables this setting. +jvm.heapSizeAsPercentageOfPhysicalMemory int default=0 restart + +## Number of processors available, can be used to set -XX:ActiveProcessorCount if set to non-zero. +## In that case will be the number returned by the JVM when calling Runtime.getRuntime().availableProcessors() +jvm.availableProcessors int default=0 restart + +## Extra environment variables +qrs.env string default="" restart + +## Set ulimit -v in start script? this is mainly a safeguard against JNI stuff leaking memory. +ulimitv string default="" restart + +## Extra class path entries, forwarded to vespa-start-container_daemon. Overrides the corresponding env setting. +jdisc.classpath_extra string default="" restart + +## Extra export packages entries, forwarded to vespa-start-container_daemon. Overrides the corresponding env setting. +jdisc.export_packages string default="" restart diff --git a/container-search/src/main/resources/configdefinitions/search.config.rate-limiting.def b/container-search/src/main/resources/configdefinitions/search.config.rate-limiting.def new file mode 100644 index 00000000000..23235617f8c --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.config.rate-limiting.def @@ -0,0 +1,19 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Configuration of the rate limiting algorithm +namespace=search.config + +# How much additional capacity to assign to a thread each time it has run out. +# A higher number means less thread contention and less accuracy +capacityIncrement double default=1000 + +# The max capacity which will ever (and initially) be available to requesting threads on one node +# A higher number means we'll be less sensitive to intermittent overlap +# A good number may be capacityIncrement * 10 +maxAvailableCapacity double default=10000 + +# The probability per request that we check for more quota when we have run out. +# A higher number means less probability of rejecting a request unnecessarily +# but also more thread contention. +# A good number may be 1 / (maxAvailableCapacity * average-cost) +recheckForCapacityProbability double default=0.001 + diff --git a/container-search/src/main/resources/configdefinitions/search.federation.federation.def b/container-search/src/main/resources/configdefinitions/search.federation.federation.def new file mode 100644 index 00000000000..36eb5d4b4c8 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.federation.federation.def @@ -0,0 +1,17 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.federation + +target[].id string +target[].useByDefault bool default=false + +#the component id of the chain used for federation. +target[].searchChain[].searchChainId string +target[].searchChain[].timeoutMillis int default=-1 +target[].searchChain[].requestTimeoutMillis int default=-1 +target[].searchChain[].optional bool default=false +target[].searchChain[].useByDefault bool default=false +#if non-empty, this is a provider for the source target[].name +target[].searchChain[].providerId string default="" +target[].searchChain[].documentTypes[] string + +targetSelector string default="" diff --git a/container-search/src/main/resources/configdefinitions/search.federation.provider.def b/container-search/src/main/resources/configdefinitions/search.federation.provider.def new file mode 100644 index 00000000000..f9ab305b114 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.federation.provider.def @@ -0,0 +1,43 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.federation + +node[].host string +node[].port int +path string default="" +maxConnections int default=10000 +maxConnectionPerRoute int default=10000 +socketBufferBytes int default=8192 +retries int default=1 +## Timeout for blocking IO calls in HTTP client. +## Unit is seconds, default value is +## in com.yahoo.search.federation.http.HTTPParameters. +readTimeout double default=-1.0 +## The timeout until a connection is etablished. +## Unit is seconds, default value is +## in com.yahoo.search.federation.http.HTTPParameters. +connectionTimeout double default=-1.0 +## Timeout when retrieving a connection from the connection manager. +## Unit is seconds, default value is +## in com.yahoo.search.federation.http.HTTPParameters. +connectionPoolTimeout double default=-1.0 +## Certificate store proxy host +yca.host string default="yca.host must be set explicitly" +## Certificate store proxy port +yca.port int default=3128 +## Whether a proxy is needed (i.e. should the proxy settings be used) +yca.useProxy bool default=false +yca.applicationId string default="" +## TTL to use in the certificate cache. 0 means use default cache behavior. +## Unit is seconds. +yca.ttl int default=0 +## How often to retry direct cert DB access if no certificate is found, +## i.e. the cache TTL for null entries. Unit is seconds. +yca.retry int default=0 + +# The form of the serialized query. +queryType enum { LEGACY, PROGRAMMATIC, YQL, SELECT } default=LEGACY + +# How to do pinging against a backend. +pingOption enum { DISABLE, NORMAL, YCA } default=NORMAL + +followRedirects bool default=true diff --git a/container-search/src/main/resources/configdefinitions/search.federation.searchchain-forward.def b/container-search/src/main/resources/configdefinitions/search.federation.searchchain-forward.def new file mode 100644 index 00000000000..0e86490e120 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.federation.searchchain-forward.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.federation + +## A searcher forwarding the incoming query to a single search chain and +## returning the result. + +## The component specification of the search chain to forward requests to. +target string diff --git a/container-search/src/main/resources/configdefinitions/search.federation.strict-contracts.def b/container-search/src/main/resources/configdefinitions/search.federation.strict-contracts.def new file mode 100644 index 00000000000..5ceb37db8d1 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.federation.strict-contracts.def @@ -0,0 +1,20 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.federation + +## DEPRECATED: This config will be removed on Vespa 8 +## A config to control whether to activate strict adherence to public contracts +## in the container. Usually, the container tries to do a best effort of hiding +## some undesirable effects of the the public contracts. Modifying this config +## signals the basic contract is sufficient, and allows the container to +## activate optimizations based on this knowledge. + +## Strict contracts for search chains, do not clone the query if it at all +## can be construed to be unnecessary. +searchchains bool default=false + +# EVERY, // Propagate any property starting by source.[sourceName] and provider.[providerName] +# NATIVE, // Propagate native properties only +# ALL, // Deprecated synonym of NATIVE +# OFFSET_HITS, // Propagate offset ands hits only +# NONE // propagate no properties +propagateSourceProperties enum {EVERY, NATIVE, ALL, OFFSET_HITS, NONE} default=EVERY diff --git a/container-search/src/main/resources/configdefinitions/search.handler.search-with-renderer-handler.def b/container-search/src/main/resources/configdefinitions/search.handler.search-with-renderer-handler.def new file mode 100644 index 00000000000..a34e08a1c82 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.handler.search-with-renderer-handler.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.handler + +rendererId string diff --git a/container-search/src/main/resources/configdefinitions/search.pagetemplates.page-templates.def b/container-search/src/main/resources/configdefinitions/search.pagetemplates.page-templates.def new file mode 100644 index 00000000000..31ec7644d18 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.pagetemplates.page-templates.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.pagetemplates + +# The xml content of a page template +page[] string diff --git a/container-search/src/main/resources/configdefinitions/search.pagetemplates.resolvers.def b/container-search/src/main/resources/configdefinitions/search.pagetemplates.resolvers.def new file mode 100644 index 00000000000..6003fdf81f1 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.pagetemplates.resolvers.def @@ -0,0 +1,16 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.pagetemplates + +## A list of resolver components used by com.yahoo.search.PageTemplateSearcher + +## A component +component[].id string +## The component id used by this component to subscribe to its configs (if any) +component[].configId reference default=":parent:" + +## The id of the class to instantiate for this component. +component[].classId string default="" + +## The symbolic name of the Osgi bundle this component is located in. +## Assumed to be the same as the classid if not set. +component[].bundle string default="" diff --git a/container-search/src/main/resources/configdefinitions/search.query.profile.config.query-profiles.def b/container-search/src/main/resources/configdefinitions/search.query.profile.config.query-profiles.def new file mode 100644 index 00000000000..3c6d11e2944 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.query.profile.config.query-profiles.def @@ -0,0 +1,93 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Query profiles and their types - a query profile is a nested composite of query parameters with an id +# A set of query parameters can be fetched from a query profile rather than being +# submitted explicitly. +namespace=search.query.profile.config + +# The id of this query profile. The id has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# The default query profile (if any) must be called "default". +queryprofile[].id string + +# The (optional) type of this query profile, an id string +# If no type is given, all values are legal +queryprofile[].type string default="" + +# The optional list of query profiles this inherits, by id. +# The id's has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# If the version is not specified the newest version found is used. +queryprofile[].inherit[] string + +# The dimensions over which this profile may vary, if any +queryprofile[].dimensions[] string + +# A property name. Note that names containing dots will create implicit query profile +# sub-instances. These instances will completely override instances in super-profiles +# even if they don't set all the values of the super-instance +queryprofile[].property[].name string +# The property value +queryprofile[].property[].value string +# Whether the value is overridable in the request or by a programmatic setting: "true", "false" or "" +# which means take the value from any inherited profile or the type +queryprofile[].property[].overridable string default="" + +# A reference name to another query profile +queryprofile[].reference[].name string +# The id of the referenced profile, the version part may be missing +# or underspecified as usual +queryprofile[].reference[].value string +# Whether the value is overridable in the request or by a programmatic setting: "true", "false" or "" +# which means take the value from any inherited profile or the type +queryprofile[].reference[].overridable string default="" + +# A variant of this (top level) profile for some value of its dimensions +queryprofile[].queryprofilevariant[].fordimensionvalues[] string +# The optional list of query profiles this variant inherits, by id. +# The id's has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# If the version is not specified the newest version found is used. +queryprofile[].queryprofilevariant[].inherit[] string +# Content of profile variant +queryprofile[].queryprofilevariant[].property[].name string +# Content of profile variant +queryprofile[].queryprofilevariant[].property[].value string +# Content of profile variant +queryprofile[].queryprofilevariant[].reference[].name string +# Content of profile variant +queryprofile[].queryprofilevariant[].reference[].value string + +# A query profile type defines the values of instance query profiles. +# The id follows the same rules as for query profiles +queryprofiletype[].id string + +# If this is strict, non-declared values can not be set in a query profile of this type nor +# in the request or by a programmatic call +queryprofiletype[].strict bool default=false + +# With this set to true, requests for query profile instances of this type will be matched as path names +queryprofiletype[].matchaspath bool default=false + +# The optional list of query profile types this inherits, by id. +# The id's has the form name(:version)? +# where the version has the form 1(.2(.3(.identifier)?)?)?. +# If the version is not specified the newest version found is used. +queryprofiletype[].inherit[] string + +# Declaration of a field +queryprofiletype[].field[].name string +# The type of the field, a primitive, query-profile or query-profile:id to declare a reference +# which is untyped or typed, respectively +queryprofiletype[].field[].type string +# Whether values of this is overridable in the request or by a programmatic setting +queryprofiletype[].field[].overridable bool default=true +# Whether this must be present in the query profile or the request for this to be valid +queryprofiletype[].field[].mandatory bool default=false +# A space-separated list of aliases of this field name. Aliases are case insensitive +queryprofiletype[].field[].alias string default="" + +# TODO Remove once no longer used by old config models +enableGroupingSessionCache bool default=true + + + diff --git a/container-search/src/main/resources/configdefinitions/search.query.rewrite.rewrites.def b/container-search/src/main/resources/configdefinitions/search.query.rewrite.rewrites.def new file mode 100644 index 00000000000..ecca422342a --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.query.rewrite.rewrites.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.query.rewrite + +fsaDict[].name string +fsaDict[].path file diff --git a/container-search/src/main/resources/configdefinitions/search.querytransform.lowercasing.def b/container-search/src/main/resources/configdefinitions/search.querytransform.lowercasing.def new file mode 100644 index 00000000000..b656c451e11 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.querytransform.lowercasing.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.querytransform + +transform_weighted_sets bool default=true diff --git a/container-search/src/main/resources/configdefinitions/search.statistics.measure-qps.def b/container-search/src/main/resources/configdefinitions/search.statistics.measure-qps.def new file mode 100644 index 00000000000..c8b38b9db6e --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.statistics.measure-qps.def @@ -0,0 +1,16 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.statistics + +## Configure measurements of peak QPS rates. + +## Control whether com.yahoo.search.statistics.PeakQpsSearcher +## should emit data through statistics framework or as a meta hit. +outputmethod enum { STATISTICS, METAHIT } default=STATISTICS + +## If using meta hits, which query property should trigger sampling +queryproperty string default="fetchpeakqps" + +## The base name for the statistics event. Default is the component name +## of the searcher, as defined in vespa-services, with dots replaced by +## underscore. +eventname string default="" diff --git a/container-search/src/main/resources/configdefinitions/search.statistics.timing-searcher.def b/container-search/src/main/resources/configdefinitions/search.statistics.timing-searcher.def new file mode 100644 index 00000000000..7c2b698bdb0 --- /dev/null +++ b/container-search/src/main/resources/configdefinitions/search.statistics.timing-searcher.def @@ -0,0 +1,7 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=search.statistics + +timer[].name string +timer[].eventname string +timer[].measure enum { FILL, PING, SEARCH } default=SEARCH + diff --git a/container-search/src/main/resources/configdefinitions/searchchain-forward.def b/container-search/src/main/resources/configdefinitions/searchchain-forward.def deleted file mode 100644 index 0e86490e120..00000000000 --- a/container-search/src/main/resources/configdefinitions/searchchain-forward.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.federation - -## A searcher forwarding the incoming query to a single search chain and -## returning the result. - -## The component specification of the search chain to forward requests to. -target string diff --git a/container-search/src/main/resources/configdefinitions/semantic-rules.def b/container-search/src/main/resources/configdefinitions/semantic-rules.def deleted file mode 100644 index 5ac0cca7ff6..00000000000 --- a/container-search/src/main/resources/configdefinitions/semantic-rules.def +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Semantic production rules -namespace=prelude.semantics - -# Whether we should use these rule bases in pre-Vespa 2.2 compatibility mode -compatibility bool default=false - -# The name of a rule base -rulebase[].name string - -# Whether this rule base is the default, to be used on all queries -# not specifying rules -rulebase[].isdefault bool default=false - -# The automata file to use to look up condition references -# not defined in the rule base. The automata file must be present -# on all nodes getting this configuration -rulebase[].automata string default="" - -# The rules -rulebase[].rules string - diff --git a/container-search/src/main/resources/configdefinitions/strict-contracts.def b/container-search/src/main/resources/configdefinitions/strict-contracts.def deleted file mode 100644 index 5ceb37db8d1..00000000000 --- a/container-search/src/main/resources/configdefinitions/strict-contracts.def +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.federation - -## DEPRECATED: This config will be removed on Vespa 8 -## A config to control whether to activate strict adherence to public contracts -## in the container. Usually, the container tries to do a best effort of hiding -## some undesirable effects of the the public contracts. Modifying this config -## signals the basic contract is sufficient, and allows the container to -## activate optimizations based on this knowledge. - -## Strict contracts for search chains, do not clone the query if it at all -## can be construed to be unnecessary. -searchchains bool default=false - -# EVERY, // Propagate any property starting by source.[sourceName] and provider.[providerName] -# NATIVE, // Propagate native properties only -# ALL, // Deprecated synonym of NATIVE -# OFFSET_HITS, // Propagate offset ands hits only -# NONE // propagate no properties -propagateSourceProperties enum {EVERY, NATIVE, ALL, OFFSET_HITS, NONE} default=EVERY diff --git a/container-search/src/main/resources/configdefinitions/timing-searcher.def b/container-search/src/main/resources/configdefinitions/timing-searcher.def deleted file mode 100644 index 7c2b698bdb0..00000000000 --- a/container-search/src/main/resources/configdefinitions/timing-searcher.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=search.statistics - -timer[].name string -timer[].eventname string -timer[].measure enum { FILL, PING, SEARCH } default=SEARCH - diff --git a/container-search/src/test/vespa-configdef/config.search.int.def b/container-search/src/test/vespa-configdef/config.search.int.def new file mode 100644 index 00000000000..b526a956b5c --- /dev/null +++ b/container-search/src/test/vespa-configdef/config.search.int.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.search + +intVal int default=1 diff --git a/container-search/src/test/vespa-configdef/config.search.string.def b/container-search/src/test/vespa-configdef/config.search.string.def new file mode 100644 index 00000000000..4b39de61e0a --- /dev/null +++ b/container-search/src/test/vespa-configdef/config.search.string.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.search + +stringVal string default="_default_" diff --git a/container-search/src/test/vespa-configdef/int.def b/container-search/src/test/vespa-configdef/int.def deleted file mode 100644 index b526a956b5c..00000000000 --- a/container-search/src/test/vespa-configdef/int.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.search - -intVal int default=1 diff --git a/container-search/src/test/vespa-configdef/string.def b/container-search/src/test/vespa-configdef/string.def deleted file mode 100644 index 4b39de61e0a..00000000000 --- a/container-search/src/test/vespa-configdef/string.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.search - -stringVal string default="_default_" diff --git a/controller-server/src/main/resources/configdefinitions/athenz.def b/controller-server/src/main/resources/configdefinitions/athenz.def deleted file mode 100644 index dc1a2337aaf..00000000000 --- a/controller-server/src/main/resources/configdefinitions/athenz.def +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.controller.athenz.config - -# URL to ZMS API endpoint -zmsUrl string - -# URL to ZTS API endpoint -ztsUrl string - -# Athenz domain for controller identity. The domain is also used for Athenz tenancy integration. -domain string - -# Athenz service name for controller identity -service.name string - diff --git a/controller-server/src/main/resources/configdefinitions/controller.def b/controller-server/src/main/resources/configdefinitions/controller.def deleted file mode 100644 index 069deaf276d..00000000000 --- a/controller-server/src/main/resources/configdefinitions/controller.def +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Generic config for controller -namespace=vespa.hosted.controller.config - -steprunner.testerapp.tenantCdBundle string default="cloud-tenant-cd" - -steprunner.testerapp.runtimeProviderClass string default="ai.vespa.hosted.cd.cloud.impl.VespaTestRuntimeProvider" \ No newline at end of file diff --git a/controller-server/src/main/resources/configdefinitions/maintainer.def b/controller-server/src/main/resources/configdefinitions/maintainer.def deleted file mode 100644 index 7ec8860bef4..00000000000 --- a/controller-server/src/main/resources/configdefinitions/maintainer.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.controller.maintenance.config - -intervalMinutes int default=30 diff --git a/controller-server/src/main/resources/configdefinitions/maven-repository.def b/controller-server/src/main/resources/configdefinitions/maven-repository.def deleted file mode 100644 index 0fd2d410e9b..00000000000 --- a/controller-server/src/main/resources/configdefinitions/maven-repository.def +++ /dev/null @@ -1,15 +0,0 @@ -# Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.controller.maven.repository.config - - -# URL to the Maven repository API that holds artifacts for tenants in the controller's system -# -apiUrl string default=https://repo.maven.apache.org/maven2/ - -# Group ID of the artifact to list versions for -# -groupId string default=com.yahoo.vespa - -# Artifact ID of the artifact to list versions for -# -artifactId string default=tenant-base diff --git a/controller-server/src/main/resources/configdefinitions/rotations.def b/controller-server/src/main/resources/configdefinitions/rotations.def deleted file mode 100644 index d4f3636d0d8..00000000000 --- a/controller-server/src/main/resources/configdefinitions/rotations.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.rotation.config - -rotations{} string diff --git a/controller-server/src/main/resources/configdefinitions/tls.def b/controller-server/src/main/resources/configdefinitions/tls.def deleted file mode 100644 index ddaa1e635db..00000000000 --- a/controller-server/src/main/resources/configdefinitions/tls.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.hosted.controller.tls.config - -# Path to the CA trust store -caTrustStore string - -# Secret store key names for certificate and private key -certificateSecret string default=vespa_hosted.tls.cert -privateKeySecret string default=vespa_hosted.tls.key diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.athenz.config.athenz.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.athenz.config.athenz.def new file mode 100644 index 00000000000..dc1a2337aaf --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.athenz.config.athenz.def @@ -0,0 +1,15 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.controller.athenz.config + +# URL to ZMS API endpoint +zmsUrl string + +# URL to ZTS API endpoint +ztsUrl string + +# Athenz domain for controller identity. The domain is also used for Athenz tenancy integration. +domain string + +# Athenz service name for controller identity +service.name string + diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.config.controller.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.config.controller.def new file mode 100644 index 00000000000..069deaf276d --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.config.controller.def @@ -0,0 +1,7 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Generic config for controller +namespace=vespa.hosted.controller.config + +steprunner.testerapp.tenantCdBundle string default="cloud-tenant-cd" + +steprunner.testerapp.runtimeProviderClass string default="ai.vespa.hosted.cd.cloud.impl.VespaTestRuntimeProvider" \ No newline at end of file diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maintenance.config.maintainer.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maintenance.config.maintainer.def new file mode 100644 index 00000000000..7ec8860bef4 --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maintenance.config.maintainer.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.controller.maintenance.config + +intervalMinutes int default=30 diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maven.repository.config.maven-repository.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maven.repository.config.maven-repository.def new file mode 100644 index 00000000000..0fd2d410e9b --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.maven.repository.config.maven-repository.def @@ -0,0 +1,15 @@ +# Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.controller.maven.repository.config + + +# URL to the Maven repository API that holds artifacts for tenants in the controller's system +# +apiUrl string default=https://repo.maven.apache.org/maven2/ + +# Group ID of the artifact to list versions for +# +groupId string default=com.yahoo.vespa + +# Artifact ID of the artifact to list versions for +# +artifactId string default=tenant-base diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.tls.config.tls.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.tls.config.tls.def new file mode 100644 index 00000000000..ddaa1e635db --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.controller.tls.config.tls.def @@ -0,0 +1,9 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.controller.tls.config + +# Path to the CA trust store +caTrustStore string + +# Secret store key names for certificate and private key +certificateSecret string default=vespa_hosted.tls.cert +privateKeySecret string default=vespa_hosted.tls.key diff --git a/controller-server/src/main/resources/configdefinitions/vespa.hosted.rotation.config.rotations.def b/controller-server/src/main/resources/configdefinitions/vespa.hosted.rotation.config.rotations.def new file mode 100644 index 00000000000..d4f3636d0d8 --- /dev/null +++ b/controller-server/src/main/resources/configdefinitions/vespa.hosted.rotation.config.rotations.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.hosted.rotation.config + +rotations{} string diff --git a/docproc/CMakeLists.txt b/docproc/CMakeLists.txt index bacb45df319..14909bc4ca1 100644 --- a/docproc/CMakeLists.txt +++ b/docproc/CMakeLists.txt @@ -1,4 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/docproc.def config.docproc.docproc.def) -install_config_definition(src/main/resources/configdefinitions/schemamapping.def config.docproc.schemamapping.def) -install_config_definition(src/main/resources/configdefinitions/splitter-joiner-document-processor.def config.docproc.splitter-joiner-document-processor.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/docproc/src/main/resources/configdefinitions/config.docproc.docproc.def b/docproc/src/main/resources/configdefinitions/config.docproc.docproc.def new file mode 100644 index 00000000000..53f5c2de21f --- /dev/null +++ b/docproc/src/main/resources/configdefinitions/config.docproc.docproc.def @@ -0,0 +1,14 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.docproc + +# Queue size (in milliseconds) for this node +# Positive size gives a ThroughPutLimitQueue. ### Experimental. +# 0 Gives a PriorityQueue +# Negative values gives a SynchronousQueue if numthreads <= 0 (which increases thread pool size as required), +# otherwise a LinkedBlockingQueue +# Depreacated and a noop +maxqueuetimems int default=-1 + +# The number of threads in the DocprocHandler worker thread pool +# Default is number of cpu's, but is dynamic up to 2048 +numthreads int default=-1 diff --git a/docproc/src/main/resources/configdefinitions/config.docproc.schemamapping.def b/docproc/src/main/resources/configdefinitions/config.docproc.schemamapping.def new file mode 100644 index 00000000000..d70235fbfc0 --- /dev/null +++ b/docproc/src/main/resources/configdefinitions/config.docproc.schemamapping.def @@ -0,0 +1,19 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +# Use when a docproc works on a generic set of field names and the actual names +# in input doc may be different +namespace=config.docproc + +# The chain this mapping applies to +fieldmapping[].chain string + +# The class name of the docproc this mapping applies to +fieldmapping[].docproc string + +#The doc type name this mapping applies to +fieldmapping[].doctype string default="" + +# Field name in input doc +fieldmapping[].indocument string + +# Field name a docproc uses +fieldmapping[].inprocessor string diff --git a/docproc/src/main/resources/configdefinitions/config.docproc.splitter-joiner-document-processor.def b/docproc/src/main/resources/configdefinitions/config.docproc.splitter-joiner-document-processor.def new file mode 100644 index 00000000000..dea6141e6cc --- /dev/null +++ b/docproc/src/main/resources/configdefinitions/config.docproc.splitter-joiner-document-processor.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config.docproc + +# The name of the enclosing (outer) document type +documentTypeName string + +# The name of the field of type array of document +arrayFieldName string + +# The name of the context variable used by Processing.getVariable() +contextFieldName string default="docproc@splitter@joiner@outer@document" diff --git a/docproc/src/main/resources/configdefinitions/docproc.def b/docproc/src/main/resources/configdefinitions/docproc.def deleted file mode 100644 index 53f5c2de21f..00000000000 --- a/docproc/src/main/resources/configdefinitions/docproc.def +++ /dev/null @@ -1,14 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.docproc - -# Queue size (in milliseconds) for this node -# Positive size gives a ThroughPutLimitQueue. ### Experimental. -# 0 Gives a PriorityQueue -# Negative values gives a SynchronousQueue if numthreads <= 0 (which increases thread pool size as required), -# otherwise a LinkedBlockingQueue -# Depreacated and a noop -maxqueuetimems int default=-1 - -# The number of threads in the DocprocHandler worker thread pool -# Default is number of cpu's, but is dynamic up to 2048 -numthreads int default=-1 diff --git a/docproc/src/main/resources/configdefinitions/schemamapping.def b/docproc/src/main/resources/configdefinitions/schemamapping.def deleted file mode 100644 index d70235fbfc0..00000000000 --- a/docproc/src/main/resources/configdefinitions/schemamapping.def +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# Use when a docproc works on a generic set of field names and the actual names -# in input doc may be different -namespace=config.docproc - -# The chain this mapping applies to -fieldmapping[].chain string - -# The class name of the docproc this mapping applies to -fieldmapping[].docproc string - -#The doc type name this mapping applies to -fieldmapping[].doctype string default="" - -# Field name in input doc -fieldmapping[].indocument string - -# Field name a docproc uses -fieldmapping[].inprocessor string diff --git a/docproc/src/main/resources/configdefinitions/splitter-joiner-document-processor.def b/docproc/src/main/resources/configdefinitions/splitter-joiner-document-processor.def deleted file mode 100644 index dea6141e6cc..00000000000 --- a/docproc/src/main/resources/configdefinitions/splitter-joiner-document-processor.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config.docproc - -# The name of the enclosing (outer) document type -documentTypeName string - -# The name of the field of type array of document -arrayFieldName string - -# The name of the context variable used by Processing.getVariable() -contextFieldName string default="docproc@splitter@joiner@outer@document" diff --git a/docproc/src/test/vespa-configdef/config.docproc.string.def b/docproc/src/test/vespa-configdef/config.docproc.string.def new file mode 100644 index 00000000000..3e76855f1e8 --- /dev/null +++ b/docproc/src/test/vespa-configdef/config.docproc.string.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=config.docproc +stringVal string default="_default_" diff --git a/docproc/src/test/vespa-configdef/string.def b/docproc/src/test/vespa-configdef/string.def deleted file mode 100644 index 3e76855f1e8..00000000000 --- a/docproc/src/test/vespa-configdef/string.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=config.docproc -stringVal string default="_default_" diff --git a/document/src/vespa/document/config/CMakeLists.txt b/document/src/vespa/document/config/CMakeLists.txt index fc711c5e57a..1a610a968f9 100644 --- a/document/src/vespa/document/config/CMakeLists.txt +++ b/document/src/vespa/document/config/CMakeLists.txt @@ -3,6 +3,6 @@ vespa_add_library(document_documentconfig OBJECT SOURCES DEPENDS ) -vespa_generate_config(document_documentconfig documenttypes.def) -install_config_definition(documenttypes.def document.documenttypes.def) -install_config_definition(documentmanager.def document.config.documentmanager.def) +vespa_generate_config(document_documentconfig document.documenttypes.def) +vespa_generate_config(document_documentconfig document.config.documentmanager.def) +install_config_definitions(src/vespa/document/config) diff --git a/document/src/vespa/document/config/document.config.documentmanager.def b/document/src/vespa/document/config/document.config.documentmanager.def new file mode 100644 index 00000000000..d53fec43e5d --- /dev/null +++ b/document/src/vespa/document/config/document.config.documentmanager.def @@ -0,0 +1,106 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=document.config + +## Whether to enable compression in this process. +enablecompression bool default=false + +## The Id of the datatype. Must be unique, including not +## overlapping with the internal datatypes (defined in datatype.h) +datatype[].id int + +## Use if this datatype is an array type, for instance an int +## or double array. Specifies the datatype we have an array of. +## This can be a built-in datatype or a new one created here, meaning +## that for instance arrays of arrays are allowed. +datatype[].arraytype[].datatype int + +## Map type. Keys and values can be built in types or types created here. +datatype[].maptype[].keytype int +datatype[].maptype[].valtype int + +## Use if this datatype is a weighted set type, for instance an int +## or double weighted set. Specifies the datatype we have a weighted set of. +## This can be a built-in datatype or a new one craeted here, meaning +## that for instance weighted sets of weighted sets are allowed. +datatype[].weightedsettype[].datatype int + +## Should an update to a nonexistant element cause it to be created +datatype[].weightedsettype[].createifnonexistant bool default=false + +## Should an element in a weighted set be removed if an update changes the weight to 0 +datatype[].weightedsettype[].removeifzero bool default=false + +## Specify the name of the document type. Must be unique. +datatype[].structtype[].name string + +## Verison is not in use +datatype[].structtype[].version int default=0 + +## Specify which compression to use if compression is enabled above +datatype[].structtype[].compresstype enum { NONE, UNCOMPRESSABLE, LZ4 } default=NONE + +## Specify the compression level to use if compression is enabled +datatype[].structtype[].compresslevel int default=0 + +## Specify the minimum reduction required from compression in order to keep the compressed version (maximum percentage of original size) +datatype[].structtype[].compressthreshold int default=95 + +## Specify the minimum size of the struct data before we even try to compress it +datatype[].structtype[].compressminsize int default=800 + +## Specify a document field name. Must be unique within the document type. +datatype[].structtype[].field[].name string + +## Specify a document field id. If not specified, this is generated by a hash function +datatype[].structtype[].field[].id[].id int + +## Specify the datatype of the field. Can be a built-in datatype or +## one specified in config. +datatype[].structtype[].field[].datatype int + +## Additional, optional type information which can be changed without +## (necessarily) causing field incompatibility +datatype[].structtype[].field[].detailedtype string default="" + +## Specify a document type to inherit +datatype[].structtype[].inherits[].name string + +## Version is not in use +datatype[].structtype[].inherits[].version int default=0 + +## Specity an annotation reference type and the name of the annotation type it is referencing +datatype[].annotationreftype[].annotation string + +## Specify the name of the document type. Must be unique. +datatype[].documenttype[].name string + +## Version is not in use +datatype[].documenttype[].version int default=0 + +## Specify a document type to inherit +datatype[].documenttype[].inherits[].name string + +## Version is not in use +datatype[].documenttype[].inherits[].version int default=0 + +## Name of header struct defining document header. +datatype[].documenttype[].headerstruct int + +## Specify a document field id. Must be unique within the document type. +datatype[].documenttype[].bodystruct int default=0 + +## Field sets +datatype[].documenttype[].fieldsets{}.fields[] string + +## Imported fields (specified outside the document block in the schema) +datatype[].documenttype[].importedfield[].name string + +## Cross-document reference with ID of target document type +datatype[].referencetype[].target_type_id int + +## The Id of the annotation type. Must be unique. +annotationtype[].id int +annotationtype[].name string +annotationtype[].datatype int default=-1 +annotationtype[].inherits[].id int diff --git a/document/src/vespa/document/config/document.documenttypes.def b/document/src/vespa/document/config/document.documenttypes.def new file mode 100644 index 00000000000..d02e9fe49f2 --- /dev/null +++ b/document/src/vespa/document/config/document.documenttypes.def @@ -0,0 +1,109 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +namespace=document + +## Whether to enable compression in this process. +enablecompression bool default=false + +## The Id of the documenttype. Must be unique among all document types. +documenttype[].id int + +## Specify the name of the document type. Must be unique. +documenttype[].name string + +## Version is not used +documenttype[].version int default=0 + +## Name of header struct defining document header. +documenttype[].headerstruct int + +## Specify a document field id. Must be unique within the document type. +documenttype[].bodystruct int default=0 + +## Specify a document type to inherit (id) +documenttype[].inherits[].id int + +## This is the id of a datatype defined in the document. +documenttype[].datatype[].id int + +## This is the type of the datatype. +documenttype[].datatype[].type enum {STRUCT, ARRAY, WSET, MAP, ANNOTATIONREF, PRIMITIVE, TENSOR} + +## This is the id of the datatype of the element in the array. +documenttype[].datatype[].array.element.id int default=0 + +## This is the id of the datatype of the key in the map. +documenttype[].datatype[].map.key.id int default=0 + +## This is the id of the datatype of the value in the map. +documenttype[].datatype[].map.value.id int default=0 + +## This is the id of the datatype of the key in the wset. +documenttype[].datatype[].wset.key.id int default=0 + +## Should an update to a nonexistent element cause it to be created +documenttype[].datatype[].wset.createifnonexistent bool default=false + +## Should an element in a weighted set be removed if an update changes the weight to 0 +documenttype[].datatype[].wset.removeifzero bool default=false + +## This is the id of the referenced annotation. +documenttype[].datatype[].annotationref.annotation.id int default=0 + +## Specify the name of the struct type. Must be unique within documenttype. +documenttype[].datatype[].sstruct.name string default="" + +## Version is not used +documenttype[].datatype[].sstruct.version int default=0 + +## Specify which compression to use if compression is enabled above (0 = NONE, 6 = LZ4) +documenttype[].datatype[].sstruct.compression.type enum {NONE, LZ4} default=NONE + +## Specify the compression level to use if compression is enabled +documenttype[].datatype[].sstruct.compression.level int default=0 + +## Specify the minimum reduction required from compression in order to keep the compressed version (maximum percentage of original size) +documenttype[].datatype[].sstruct.compression.threshold int default=95 + +## Specify the minimum size before trying compression. +documenttype[].datatype[].sstruct.compression.minsize int default=200 + +## Specify a struct field name. Must be unique within the struct type. +documenttype[].datatype[].sstruct.field[].name string + +## Specify a document field id. If not specified, this is generated by a hash function +documenttype[].datatype[].sstruct.field[].id int + +## Specify the datatype of the field. Can only be a type defined in document +## or one of its inherited document types. +documenttype[].datatype[].sstruct.field[].datatype int + +## Additional, optional type information which can be changed without +## (necessarily) causing field incompatibility +documenttype[].datatype[].sstruct.field[].detailedtype string default="" + +## The id of the annotation type. +documenttype[].annotationtype[].id int + +## The name of the annotation type. +documenttype[].annotationtype[].name string + +## The contained datatype of the annotation type. +documenttype[].annotationtype[].datatype int default=-1 + +## The annotation type that this type inherits. (0 or 1 type) +documenttype[].annotationtype[].inherits[].id int + +## Field sets +documenttype[].fieldsets{}.fields[] string + +## ID of reference type. This is a regular data type, but is kept in its own +## array to avoid polluting the existing datatype array with a new default +## field value. +documenttype[].referencetype[].id int + +## Numeric ID of the document type instances of the reference point to. +documenttype[].referencetype[].target_type_id int + +## Imported fields (specified outside the document block in the schema) +documenttype[].importedfield[].name string diff --git a/document/src/vespa/document/config/documentmanager.def b/document/src/vespa/document/config/documentmanager.def deleted file mode 100644 index d53fec43e5d..00000000000 --- a/document/src/vespa/document/config/documentmanager.def +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=document.config - -## Whether to enable compression in this process. -enablecompression bool default=false - -## The Id of the datatype. Must be unique, including not -## overlapping with the internal datatypes (defined in datatype.h) -datatype[].id int - -## Use if this datatype is an array type, for instance an int -## or double array. Specifies the datatype we have an array of. -## This can be a built-in datatype or a new one created here, meaning -## that for instance arrays of arrays are allowed. -datatype[].arraytype[].datatype int - -## Map type. Keys and values can be built in types or types created here. -datatype[].maptype[].keytype int -datatype[].maptype[].valtype int - -## Use if this datatype is a weighted set type, for instance an int -## or double weighted set. Specifies the datatype we have a weighted set of. -## This can be a built-in datatype or a new one craeted here, meaning -## that for instance weighted sets of weighted sets are allowed. -datatype[].weightedsettype[].datatype int - -## Should an update to a nonexistant element cause it to be created -datatype[].weightedsettype[].createifnonexistant bool default=false - -## Should an element in a weighted set be removed if an update changes the weight to 0 -datatype[].weightedsettype[].removeifzero bool default=false - -## Specify the name of the document type. Must be unique. -datatype[].structtype[].name string - -## Verison is not in use -datatype[].structtype[].version int default=0 - -## Specify which compression to use if compression is enabled above -datatype[].structtype[].compresstype enum { NONE, UNCOMPRESSABLE, LZ4 } default=NONE - -## Specify the compression level to use if compression is enabled -datatype[].structtype[].compresslevel int default=0 - -## Specify the minimum reduction required from compression in order to keep the compressed version (maximum percentage of original size) -datatype[].structtype[].compressthreshold int default=95 - -## Specify the minimum size of the struct data before we even try to compress it -datatype[].structtype[].compressminsize int default=800 - -## Specify a document field name. Must be unique within the document type. -datatype[].structtype[].field[].name string - -## Specify a document field id. If not specified, this is generated by a hash function -datatype[].structtype[].field[].id[].id int - -## Specify the datatype of the field. Can be a built-in datatype or -## one specified in config. -datatype[].structtype[].field[].datatype int - -## Additional, optional type information which can be changed without -## (necessarily) causing field incompatibility -datatype[].structtype[].field[].detailedtype string default="" - -## Specify a document type to inherit -datatype[].structtype[].inherits[].name string - -## Version is not in use -datatype[].structtype[].inherits[].version int default=0 - -## Specity an annotation reference type and the name of the annotation type it is referencing -datatype[].annotationreftype[].annotation string - -## Specify the name of the document type. Must be unique. -datatype[].documenttype[].name string - -## Version is not in use -datatype[].documenttype[].version int default=0 - -## Specify a document type to inherit -datatype[].documenttype[].inherits[].name string - -## Version is not in use -datatype[].documenttype[].inherits[].version int default=0 - -## Name of header struct defining document header. -datatype[].documenttype[].headerstruct int - -## Specify a document field id. Must be unique within the document type. -datatype[].documenttype[].bodystruct int default=0 - -## Field sets -datatype[].documenttype[].fieldsets{}.fields[] string - -## Imported fields (specified outside the document block in the schema) -datatype[].documenttype[].importedfield[].name string - -## Cross-document reference with ID of target document type -datatype[].referencetype[].target_type_id int - -## The Id of the annotation type. Must be unique. -annotationtype[].id int -annotationtype[].name string -annotationtype[].datatype int default=-1 -annotationtype[].inherits[].id int diff --git a/document/src/vespa/document/config/documenttypes.def b/document/src/vespa/document/config/documenttypes.def deleted file mode 100644 index d02e9fe49f2..00000000000 --- a/document/src/vespa/document/config/documenttypes.def +++ /dev/null @@ -1,109 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. - -namespace=document - -## Whether to enable compression in this process. -enablecompression bool default=false - -## The Id of the documenttype. Must be unique among all document types. -documenttype[].id int - -## Specify the name of the document type. Must be unique. -documenttype[].name string - -## Version is not used -documenttype[].version int default=0 - -## Name of header struct defining document header. -documenttype[].headerstruct int - -## Specify a document field id. Must be unique within the document type. -documenttype[].bodystruct int default=0 - -## Specify a document type to inherit (id) -documenttype[].inherits[].id int - -## This is the id of a datatype defined in the document. -documenttype[].datatype[].id int - -## This is the type of the datatype. -documenttype[].datatype[].type enum {STRUCT, ARRAY, WSET, MAP, ANNOTATIONREF, PRIMITIVE, TENSOR} - -## This is the id of the datatype of the element in the array. -documenttype[].datatype[].array.element.id int default=0 - -## This is the id of the datatype of the key in the map. -documenttype[].datatype[].map.key.id int default=0 - -## This is the id of the datatype of the value in the map. -documenttype[].datatype[].map.value.id int default=0 - -## This is the id of the datatype of the key in the wset. -documenttype[].datatype[].wset.key.id int default=0 - -## Should an update to a nonexistent element cause it to be created -documenttype[].datatype[].wset.createifnonexistent bool default=false - -## Should an element in a weighted set be removed if an update changes the weight to 0 -documenttype[].datatype[].wset.removeifzero bool default=false - -## This is the id of the referenced annotation. -documenttype[].datatype[].annotationref.annotation.id int default=0 - -## Specify the name of the struct type. Must be unique within documenttype. -documenttype[].datatype[].sstruct.name string default="" - -## Version is not used -documenttype[].datatype[].sstruct.version int default=0 - -## Specify which compression to use if compression is enabled above (0 = NONE, 6 = LZ4) -documenttype[].datatype[].sstruct.compression.type enum {NONE, LZ4} default=NONE - -## Specify the compression level to use if compression is enabled -documenttype[].datatype[].sstruct.compression.level int default=0 - -## Specify the minimum reduction required from compression in order to keep the compressed version (maximum percentage of original size) -documenttype[].datatype[].sstruct.compression.threshold int default=95 - -## Specify the minimum size before trying compression. -documenttype[].datatype[].sstruct.compression.minsize int default=200 - -## Specify a struct field name. Must be unique within the struct type. -documenttype[].datatype[].sstruct.field[].name string - -## Specify a document field id. If not specified, this is generated by a hash function -documenttype[].datatype[].sstruct.field[].id int - -## Specify the datatype of the field. Can only be a type defined in document -## or one of its inherited document types. -documenttype[].datatype[].sstruct.field[].datatype int - -## Additional, optional type information which can be changed without -## (necessarily) causing field incompatibility -documenttype[].datatype[].sstruct.field[].detailedtype string default="" - -## The id of the annotation type. -documenttype[].annotationtype[].id int - -## The name of the annotation type. -documenttype[].annotationtype[].name string - -## The contained datatype of the annotation type. -documenttype[].annotationtype[].datatype int default=-1 - -## The annotation type that this type inherits. (0 or 1 type) -documenttype[].annotationtype[].inherits[].id int - -## Field sets -documenttype[].fieldsets{}.fields[] string - -## ID of reference type. This is a regular data type, but is kept in its own -## array to avoid polluting the existing datatype array with a new default -## field value. -documenttype[].referencetype[].id int - -## Numeric ID of the document type instances of the reference point to. -documenttype[].referencetype[].target_type_id int - -## Imported fields (specified outside the document block in the schema) -documenttype[].importedfield[].name string diff --git a/documentapi/src/main/resources/configdefinitions/documentapi.messagebus.protocol.documentrouteselectorpolicy.def b/documentapi/src/main/resources/configdefinitions/documentapi.messagebus.protocol.documentrouteselectorpolicy.def new file mode 100644 index 00000000000..f6f4461d220 --- /dev/null +++ b/documentapi/src/main/resources/configdefinitions/documentapi.messagebus.protocol.documentrouteselectorpolicy.def @@ -0,0 +1,11 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=documentapi.messagebus.protocol + +# The name of the route. +route[].name string + +# The document selector for this route. +route[].selector string + +# The feeds that this route accepts. +route[].feed string default="" diff --git a/documentapi/src/main/resources/configdefinitions/documentrouteselectorpolicy.def b/documentapi/src/main/resources/configdefinitions/documentrouteselectorpolicy.def deleted file mode 100644 index f6f4461d220..00000000000 --- a/documentapi/src/main/resources/configdefinitions/documentrouteselectorpolicy.def +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=documentapi.messagebus.protocol - -# The name of the route. -route[].name string - -# The document selector for this route. -route[].selector string - -# The feeds that this route accepts. -route[].feed string default="" diff --git a/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt b/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt index 26d51e702e9..980dbcd2201 100644 --- a/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt +++ b/documentapi/src/vespa/documentapi/messagebus/policies/CMakeLists.txt @@ -17,5 +17,5 @@ vespa_add_library(documentapi_documentapipolicies OBJECT asyncinitializationpolicy.cpp DEPENDS ) -vespa_generate_config(documentapi_documentapipolicies ../../../../main/resources/configdefinitions/documentrouteselectorpolicy.def) -install_config_definition(../../../../main/resources/configdefinitions/documentrouteselectorpolicy.def documentapi.messagebus.protocol.documentrouteselectorpolicy.def) +vespa_generate_config(documentapi_documentapipolicies ../../../../main/resources/configdefinitions/documentapi.messagebus.protocol.documentrouteselectorpolicy.def) +install_config_definitions(../../../../main/resources/configdefinitions) diff --git a/fileacquirer/CMakeLists.txt b/fileacquirer/CMakeLists.txt index 7a366aa3882..c05241bf795 100644 --- a/fileacquirer/CMakeLists.txt +++ b/fileacquirer/CMakeLists.txt @@ -10,4 +10,4 @@ vespa_define_module( src/vespa/fileacquirer ) -install_config_definition(src/main/resources/configdefinitions/filedistributorrpc.def cloud.config.filedistribution.filedistributorrpc.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/fileacquirer/src/main/resources/configdefinitions/cloud.config.filedistribution.filedistributorrpc.def b/fileacquirer/src/main/resources/configdefinitions/cloud.config.filedistribution.filedistributorrpc.def new file mode 100644 index 00000000000..3de65e632ee --- /dev/null +++ b/fileacquirer/src/main/resources/configdefinitions/cloud.config.filedistribution.filedistributorrpc.def @@ -0,0 +1,3 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config.filedistribution +connectionspec string diff --git a/fileacquirer/src/main/resources/configdefinitions/filedistributorrpc.def b/fileacquirer/src/main/resources/configdefinitions/filedistributorrpc.def deleted file mode 100644 index 3de65e632ee..00000000000 --- a/fileacquirer/src/main/resources/configdefinitions/filedistributorrpc.def +++ /dev/null @@ -1,3 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config.filedistribution -connectionspec string diff --git a/fileacquirer/src/vespa/fileacquirer/cloud.config.filedistribution.filedistributorrpc.def b/fileacquirer/src/vespa/fileacquirer/cloud.config.filedistribution.filedistributorrpc.def new file mode 120000 index 00000000000..c12c0b8299e --- /dev/null +++ b/fileacquirer/src/vespa/fileacquirer/cloud.config.filedistribution.filedistributorrpc.def @@ -0,0 +1 @@ +../../main/resources/configdefinitions/filedistributorrpc.def \ No newline at end of file diff --git a/fileacquirer/src/vespa/fileacquirer/filedistributorrpc.def b/fileacquirer/src/vespa/fileacquirer/filedistributorrpc.def deleted file mode 120000 index c12c0b8299e..00000000000 --- a/fileacquirer/src/vespa/fileacquirer/filedistributorrpc.def +++ /dev/null @@ -1 +0,0 @@ -../../main/resources/configdefinitions/filedistributorrpc.def \ No newline at end of file diff --git a/functions.cmake b/functions.cmake index e57e1d1c412..5d23a3cb9ad 100644 --- a/functions.cmake +++ b/functions.cmake @@ -644,7 +644,7 @@ function(install_config_definition) endfunction() function(install_config_definitions) - install(DIRECTORY ${ARGV0}/ DESTINATION share/vespa/configdefinitions) + install(DIRECTORY ${ARGV0}/ DESTINATION share/vespa/configdefinitions FILES_MATCHING PATTERN "*.def") endfunction() function(install_java_artifact NAME) diff --git a/jdisc-security-filters/CMakeLists.txt b/jdisc-security-filters/CMakeLists.txt index fd691ae84ca..fc39c20dc29 100644 --- a/jdisc-security-filters/CMakeLists.txt +++ b/jdisc-security-filters/CMakeLists.txt @@ -1,4 +1,4 @@ # Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_fat_java_artifact(jdisc-security-filters) -install_config_definition(src/main/resources/configdefinitions/cors-filter.def jdisc.http.filter.security.cors.cors-filter.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/athenz-authorization-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/athenz-authorization-filter.def deleted file mode 100644 index ab8c4a204df..00000000000 --- a/jdisc-security-filters/src/main/resources/configdefinitions/athenz-authorization-filter.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http.filter.security.athenz - -# Which credentials to verify. Note: ANY will prioritize token over certificate if both are present. -enabledCredentials[] enum { ROLE_CERTIFICATE, ROLE_TOKEN, ACCESS_TOKEN } - -# Name of role token http header -roleTokenHeaderName string default="Athenz-Role-Token" diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/athenz-principal-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/athenz-principal-filter.def deleted file mode 100644 index 8fd95ee1dde..00000000000 --- a/jdisc-security-filters/src/main/resources/configdefinitions/athenz-principal-filter.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http.filter.security.athenz - -# Pass-through mode -passthroughMode bool default=false diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/cors-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/cors-filter.def deleted file mode 100644 index a5c69b2db62..00000000000 --- a/jdisc-security-filters/src/main/resources/configdefinitions/cors-filter.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http.filter.security.cors - -allowedUrls[] string diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-authorization-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-authorization-filter.def new file mode 100644 index 00000000000..ab8c4a204df --- /dev/null +++ b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-authorization-filter.def @@ -0,0 +1,8 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http.filter.security.athenz + +# Which credentials to verify. Note: ANY will prioritize token over certificate if both are present. +enabledCredentials[] enum { ROLE_CERTIFICATE, ROLE_TOKEN, ACCESS_TOKEN } + +# Name of role token http header +roleTokenHeaderName string default="Athenz-Role-Token" diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-principal-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-principal-filter.def new file mode 100644 index 00000000000..8fd95ee1dde --- /dev/null +++ b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.athenz-principal-filter.def @@ -0,0 +1,5 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http.filter.security.athenz + +# Pass-through mode +passthroughMode bool default=false diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.static-request-resource-mapper.def b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.static-request-resource-mapper.def new file mode 100644 index 00000000000..de89c1f9198 --- /dev/null +++ b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.athenz.static-request-resource-mapper.def @@ -0,0 +1,8 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http.filter.security.athenz + +# Athenz resource name on format ':' +resourceName string + +# Action name +action string \ No newline at end of file diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.cors.cors-filter.def b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.cors.cors-filter.def new file mode 100644 index 00000000000..a5c69b2db62 --- /dev/null +++ b/jdisc-security-filters/src/main/resources/configdefinitions/jdisc.http.filter.security.cors.cors-filter.def @@ -0,0 +1,4 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http.filter.security.cors + +allowedUrls[] string diff --git a/jdisc-security-filters/src/main/resources/configdefinitions/static-request-resource-mapper.def b/jdisc-security-filters/src/main/resources/configdefinitions/static-request-resource-mapper.def deleted file mode 100644 index de89c1f9198..00000000000 --- a/jdisc-security-filters/src/main/resources/configdefinitions/static-request-resource-mapper.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http.filter.security.athenz - -# Athenz resource name on format ':' -resourceName string - -# Action name -action string \ No newline at end of file diff --git a/jdisc_http_service/CMakeLists.txt b/jdisc_http_service/CMakeLists.txt index 3b1956e16de..e0f17286b85 100644 --- a/jdisc_http_service/CMakeLists.txt +++ b/jdisc_http_service/CMakeLists.txt @@ -2,8 +2,4 @@ install_fat_java_artifact(jdisc_http_service) install_java_artifact_dependencies(jdisc_http_service) -install_config_definition(src/main/resources/configdefinitions/jdisc.http.client.http-client.def) -install_config_definition(src/main/resources/configdefinitions/jdisc.http.connector.def) -install_config_definition(src/main/resources/configdefinitions/jdisc.http.server.def) -install_config_definition(src/main/resources/configdefinitions/jdisc.http.servlet-paths.def) - +install_config_definitions(src/main/resources/configdefinitions) diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.http-client.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.http-client.def deleted file mode 100644 index 8f99fccec94..00000000000 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.http-client.def +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http.client - -userAgent string default = "JDisc/1.0" -chunkedEncodingEnabled bool default = false -compressionEnabled bool default = false -connectionPoolEnabled bool default = true -followRedirects bool default = false -removeQueryParamsOnRedirect bool default = true -sslConnectionPoolEnabled bool default = true -proxyServer string default = "" -useProxyProperties bool default = false -useRawUri bool default = false -compressionLevel int default = -1 -maxNumConnections int default = -1 -maxNumConnectionsPerHost int default = -1 -maxNumRedirects int default = 5 -maxNumRetries int default = 0 -connectionTimeout double default = 60 -idleConnectionInPoolTimeout double default = 60 -idleConnectionTimeout double default = 60 -idleWebSocketTimeout double default = 15 -requestTimeout double default = 60 - -ssl.enabled bool default = false -ssl.keyStoreType string default = "JKS" - -# Vespa home is prepended is path is relative -ssl.keyStorePath string default = "jdisc_container/keyStore.jks" - -# Vespa home is prepended is path is relative -ssl.trustStorePath string default = "conf/jdisc_container/trustStore.jks" - -ssl.keyDBKey string default = "jdisc_container" -ssl.algorithm string default = "SunX509" -ssl.protocol string default = "TLS" diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def new file mode 100644 index 00000000000..8f99fccec94 --- /dev/null +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.client.jdisc.http.client.http-client.def @@ -0,0 +1,36 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http.client + +userAgent string default = "JDisc/1.0" +chunkedEncodingEnabled bool default = false +compressionEnabled bool default = false +connectionPoolEnabled bool default = true +followRedirects bool default = false +removeQueryParamsOnRedirect bool default = true +sslConnectionPoolEnabled bool default = true +proxyServer string default = "" +useProxyProperties bool default = false +useRawUri bool default = false +compressionLevel int default = -1 +maxNumConnections int default = -1 +maxNumConnectionsPerHost int default = -1 +maxNumRedirects int default = 5 +maxNumRetries int default = 0 +connectionTimeout double default = 60 +idleConnectionInPoolTimeout double default = 60 +idleConnectionTimeout double default = 60 +idleWebSocketTimeout double default = 15 +requestTimeout double default = 60 + +ssl.enabled bool default = false +ssl.keyStoreType string default = "JKS" + +# Vespa home is prepended is path is relative +ssl.keyStorePath string default = "jdisc_container/keyStore.jks" + +# Vespa home is prepended is path is relative +ssl.trustStorePath string default = "conf/jdisc_container/trustStore.jks" + +ssl.keyDBKey string default = "jdisc_container" +ssl.algorithm string default = "SunX509" +ssl.protocol string default = "TLS" diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def deleted file mode 100644 index 4c86c8b9bb6..00000000000 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.connector.def +++ /dev/null @@ -1,123 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http - -# The TCP port to listen to for this connector. -listenPort int default=0 - -# The connector name -name string default="default" - -# The header field cache size. -headerCacheSize int default=512 - -# The size of the buffer into which response content is aggregated before being sent to the client. -outputBufferSize int default=65536 - -# The maximum size of a request header. -requestHeaderSize int default=65536 - -# The maximum size of a response header. -responseHeaderSize int default=65536 - -# The accept queue size (also known as accept backlog). -acceptQueueSize int default=0 - -# Whether the server socket reuses addresses. -reuseAddress bool default=true - -# The maximum idle time for a connection, which roughly translates to the Socket.setSoTimeout(int). -idleTimeout double default=180.0 - -# DEPRECATED - Ignored, no longer in use -stopTimeout double default = 30.0 -# TODO Vespa 8 Remove stop timeout - -# Whether or not to have socket keep alive turned on. -tcpKeepAliveEnabled bool default=false - -# Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -tcpNoDelay bool default=true - -# Whether to enable connection throttling. New connections will be dropped when a threshold is exceeded. -throttling.enabled bool default=false - -# Max number of connections. -throttling.maxConnections int default=-1 - -# Max memory utilization as a value between 0 and 1. -throttling.maxHeapUtilization double default=-1.0 - -# Max connection accept rate per second. -throttling.maxAcceptRate int default=-1 - -# Idle timeout in seconds applied to endpoints when a threshold is exceeded. -throttling.idleTimeout double default=-1.0 - -# Whether to enable SSL for this connector. -ssl.enabled bool default=false - -# File with private key in PEM format. Specify either this or privateKey, but not both -ssl.privateKeyFile string default="" - -# Private key in PEM format. Specify either this or privateKeyFile, but not both -ssl.privateKey string default="" - -# File with certificate in PEM format. Specify either this or certificate, but not both -ssl.certificateFile string default="" - -# Certificate in PEM format. Specify either this or certificateFile, but not both -ssl.certificate string default="" - -# with trusted CA certificates in PEM format. Used to verify clients -# - this is the name of a file on the local container file system -# - only one of caCertificateFile and caCertificate -ssl.caCertificateFile string default="" - -# with trusted CA certificates in PEM format. Used to verify clients -# - this is the actual certificates instead of a pointer to the file -# - only one of caCertificateFile and caCertificate -ssl.caCertificate string default="" - -# Client authentication mode. See SSLEngine.getNeedClientAuth()/getWantClientAuth() for details. -ssl.clientAuth enum { DISABLED, WANT_AUTH, NEED_AUTH } default=DISABLED - -# List of enabled cipher suites. JDisc will use Vespa default if empty. -ssl.enabledCipherSuites[] string - -# List of enabled TLS protocol versions. JDisc will use Vespa default if empty. -ssl.enabledProtocols[] string - -# Enforce TLS client authentication for https requests at the http layer. -# Intended to be used with connectors with optional client authentication enabled. -# 401 status code is returned for requests from non-authenticated clients. -tlsClientAuthEnforcer.enable bool default=false - -# Paths where client authentication should not be enforced. To be used in combination with WANT_AUTH. Typically used for health checks. -tlsClientAuthEnforcer.pathWhitelist[] string - -# Use connector only for proxying '/status.html' health checks. Any ssl configuration will be ignored if this option is enabled. -healthCheckProxy.enable bool default=false - -# Which port to proxy -healthCheckProxy.port int default=8080 - -# Low-level timeout for proxy client (socket connect, socket read, connection pool). Aggregate timeout will be longer. -healthCheckProxy.clientTimeout double default=1.0 - -# Enable PROXY protocol V1/V2 support (only for https connectors). -proxyProtocol.enabled bool default=false - -# Allow https in parallel with proxy protocol -proxyProtocol.mixedMode bool default=false - -# Redirect all requests to https port -secureRedirect.enabled bool default=false - -# Target port for redirect -secureRedirect.port int default=443 - -# Maximum number of request per connection before server marks connections as non-persistent. Set to '0' to disable. -maxRequestsPerConnection int default=0 - -# Maximum number of seconds a connection can live before it's marked as non-persistent. Set to '0' to disable. -maxConnectionLife double default=0.0 diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def new file mode 100644 index 00000000000..4c86c8b9bb6 --- /dev/null +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.connector.def @@ -0,0 +1,123 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http + +# The TCP port to listen to for this connector. +listenPort int default=0 + +# The connector name +name string default="default" + +# The header field cache size. +headerCacheSize int default=512 + +# The size of the buffer into which response content is aggregated before being sent to the client. +outputBufferSize int default=65536 + +# The maximum size of a request header. +requestHeaderSize int default=65536 + +# The maximum size of a response header. +responseHeaderSize int default=65536 + +# The accept queue size (also known as accept backlog). +acceptQueueSize int default=0 + +# Whether the server socket reuses addresses. +reuseAddress bool default=true + +# The maximum idle time for a connection, which roughly translates to the Socket.setSoTimeout(int). +idleTimeout double default=180.0 + +# DEPRECATED - Ignored, no longer in use +stopTimeout double default = 30.0 +# TODO Vespa 8 Remove stop timeout + +# Whether or not to have socket keep alive turned on. +tcpKeepAliveEnabled bool default=false + +# Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). +tcpNoDelay bool default=true + +# Whether to enable connection throttling. New connections will be dropped when a threshold is exceeded. +throttling.enabled bool default=false + +# Max number of connections. +throttling.maxConnections int default=-1 + +# Max memory utilization as a value between 0 and 1. +throttling.maxHeapUtilization double default=-1.0 + +# Max connection accept rate per second. +throttling.maxAcceptRate int default=-1 + +# Idle timeout in seconds applied to endpoints when a threshold is exceeded. +throttling.idleTimeout double default=-1.0 + +# Whether to enable SSL for this connector. +ssl.enabled bool default=false + +# File with private key in PEM format. Specify either this or privateKey, but not both +ssl.privateKeyFile string default="" + +# Private key in PEM format. Specify either this or privateKeyFile, but not both +ssl.privateKey string default="" + +# File with certificate in PEM format. Specify either this or certificate, but not both +ssl.certificateFile string default="" + +# Certificate in PEM format. Specify either this or certificateFile, but not both +ssl.certificate string default="" + +# with trusted CA certificates in PEM format. Used to verify clients +# - this is the name of a file on the local container file system +# - only one of caCertificateFile and caCertificate +ssl.caCertificateFile string default="" + +# with trusted CA certificates in PEM format. Used to verify clients +# - this is the actual certificates instead of a pointer to the file +# - only one of caCertificateFile and caCertificate +ssl.caCertificate string default="" + +# Client authentication mode. See SSLEngine.getNeedClientAuth()/getWantClientAuth() for details. +ssl.clientAuth enum { DISABLED, WANT_AUTH, NEED_AUTH } default=DISABLED + +# List of enabled cipher suites. JDisc will use Vespa default if empty. +ssl.enabledCipherSuites[] string + +# List of enabled TLS protocol versions. JDisc will use Vespa default if empty. +ssl.enabledProtocols[] string + +# Enforce TLS client authentication for https requests at the http layer. +# Intended to be used with connectors with optional client authentication enabled. +# 401 status code is returned for requests from non-authenticated clients. +tlsClientAuthEnforcer.enable bool default=false + +# Paths where client authentication should not be enforced. To be used in combination with WANT_AUTH. Typically used for health checks. +tlsClientAuthEnforcer.pathWhitelist[] string + +# Use connector only for proxying '/status.html' health checks. Any ssl configuration will be ignored if this option is enabled. +healthCheckProxy.enable bool default=false + +# Which port to proxy +healthCheckProxy.port int default=8080 + +# Low-level timeout for proxy client (socket connect, socket read, connection pool). Aggregate timeout will be longer. +healthCheckProxy.clientTimeout double default=1.0 + +# Enable PROXY protocol V1/V2 support (only for https connectors). +proxyProtocol.enabled bool default=false + +# Allow https in parallel with proxy protocol +proxyProtocol.mixedMode bool default=false + +# Redirect all requests to https port +secureRedirect.enabled bool default=false + +# Target port for redirect +secureRedirect.port int default=443 + +# Maximum number of request per connection before server marks connections as non-persistent. Set to '0' to disable. +maxRequestsPerConnection int default=0 + +# Maximum number of seconds a connection can live before it's marked as non-persistent. Set to '0' to disable. +maxConnectionLife double default=0.0 diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def new file mode 100644 index 00000000000..0cb5b89b20c --- /dev/null +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.server.def @@ -0,0 +1,46 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http + +# Whether to enable developer mode, where stack traces etc are visible in response bodies. +developerMode bool default=false + +# The gzip compression level to use, if compression is enabled in a request. +responseCompressionLevel int default=6 + +# DEPRECATED - Ignored, no longer in use. +httpKeepAliveEnabled bool default=true +# TODO Vespa 8 Remove httpKeepAliveEnabled + +# Maximum number of request per http connection before server will hangup. +# Naming taken from apache http server. +# 0 means never hangup. +# DEPRECATED - Ignored, no longer in use. Use similar parameter in connector config instead. +maxKeepAliveRequests int default=0 +# TODO Vespa 8 Remove maxKeepAliveRequests + +# Whether the request body of POSTed forms should be removed (form parameters are available as request parameters). +removeRawPostBodyForWwwUrlEncodedPost bool default=false + +# The component ID of a filter +filter[].id string + +# The binding of a filter +filter[].binding string + +# Max number of threads in pool +maxWorkerThreads int default = 200 + +# Stop timeout in seconds. The maximum allowed time to process in-flight requests during server shutdown. Setting it to 0 disable graceful shutdown. +stopTimeout double default = 30.0 + +# Enable embedded JMX server. Note: only accessible through the loopback interface. +jmx.enabled bool default = false + +# Listen port for the JMX server. +jmx.listenPort int default = 1099 + +# Paths that should be reported with monitoring dimensions where applicable +metric.monitoringHandlerPaths[] string + +# Paths that should be reported with search dimensions where applicable +metric.searchHandlerPaths[] string \ No newline at end of file diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def new file mode 100644 index 00000000000..86707b027be --- /dev/null +++ b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.jdisc.http.servlet-paths.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=jdisc.http + +# path by servlet componentId +servlets{}.path string diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def deleted file mode 100644 index 0cb5b89b20c..00000000000 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.server.def +++ /dev/null @@ -1,46 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http - -# Whether to enable developer mode, where stack traces etc are visible in response bodies. -developerMode bool default=false - -# The gzip compression level to use, if compression is enabled in a request. -responseCompressionLevel int default=6 - -# DEPRECATED - Ignored, no longer in use. -httpKeepAliveEnabled bool default=true -# TODO Vespa 8 Remove httpKeepAliveEnabled - -# Maximum number of request per http connection before server will hangup. -# Naming taken from apache http server. -# 0 means never hangup. -# DEPRECATED - Ignored, no longer in use. Use similar parameter in connector config instead. -maxKeepAliveRequests int default=0 -# TODO Vespa 8 Remove maxKeepAliveRequests - -# Whether the request body of POSTed forms should be removed (form parameters are available as request parameters). -removeRawPostBodyForWwwUrlEncodedPost bool default=false - -# The component ID of a filter -filter[].id string - -# The binding of a filter -filter[].binding string - -# Max number of threads in pool -maxWorkerThreads int default = 200 - -# Stop timeout in seconds. The maximum allowed time to process in-flight requests during server shutdown. Setting it to 0 disable graceful shutdown. -stopTimeout double default = 30.0 - -# Enable embedded JMX server. Note: only accessible through the loopback interface. -jmx.enabled bool default = false - -# Listen port for the JMX server. -jmx.listenPort int default = 1099 - -# Paths that should be reported with monitoring dimensions where applicable -metric.monitoringHandlerPaths[] string - -# Paths that should be reported with search dimensions where applicable -metric.searchHandlerPaths[] string \ No newline at end of file diff --git a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.servlet-paths.def b/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.servlet-paths.def deleted file mode 100644 index 86707b027be..00000000000 --- a/jdisc_http_service/src/main/resources/configdefinitions/jdisc.http.servlet-paths.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=jdisc.http - -# path by servlet componentId -servlets{}.path string diff --git a/linguistics/CMakeLists.txt b/linguistics/CMakeLists.txt index 44f645f2b57..f2179625aae 100644 --- a/linguistics/CMakeLists.txt +++ b/linguistics/CMakeLists.txt @@ -1,2 +1,2 @@ # Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/opennlp-linguistics.def language.opennlp.opennlp-linguistics.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/linguistics/src/main/resources/configdefinitions/language.opennlp.opennlp-linguistics.def b/linguistics/src/main/resources/configdefinitions/language.opennlp.opennlp-linguistics.def new file mode 100644 index 00000000000..13194d471fd --- /dev/null +++ b/linguistics/src/main/resources/configdefinitions/language.opennlp.opennlp-linguistics.def @@ -0,0 +1,6 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=language.opennlp + +# Enable Optimaize language detector +detector.enableOptimaize bool default=true + diff --git a/linguistics/src/main/resources/configdefinitions/opennlp-linguistics.def b/linguistics/src/main/resources/configdefinitions/opennlp-linguistics.def deleted file mode 100644 index 13194d471fd..00000000000 --- a/linguistics/src/main/resources/configdefinitions/opennlp-linguistics.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=language.opennlp - -# Enable Optimaize language detector -detector.enableOptimaize bool default=true - diff --git a/logd/src/logd/CMakeLists.txt b/logd/src/logd/CMakeLists.txt index cc73b51f0b1..43b85a8a28b 100644 --- a/logd/src/logd/CMakeLists.txt +++ b/logd/src/logd/CMakeLists.txt @@ -24,7 +24,7 @@ vespa_add_library(logd STATIC DEPENDS ) -vespa_generate_config(logd ../main/resources/configdefinitions/logd.def) -install_config_definition(../main/resources/configdefinitions/logd.def cloud.config.log.logd.def) +vespa_generate_config(logd ../main/resources/configdefinitions/cloud.config.log.logd.def) +install_config_definitions(../main/resources/configdefinitions) vespa_add_target_package_dependency(logd Protobuf) diff --git a/logd/src/main/resources/configdefinitions/cloud.config.log.logd.def b/logd/src/main/resources/configdefinitions/cloud.config.log.logd.def new file mode 100644 index 00000000000..bb5f487c47e --- /dev/null +++ b/logd/src/main/resources/configdefinitions/cloud.config.log.logd.def @@ -0,0 +1,44 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=cloud.config.log + +## Port to serve status and metrics on +stateport int default=0 + +## Host to contact the logserver on. +logserver.host string default="localhost" + +## RPC port of logserver. +logserver.rpcport int default=5822 + +## Legacy port to contact the logserver on. +## Deprecated (not used). TODO: Remove on Vespa 8. +logserver.port int default=5821 + +## Use RPC protocol +## Deprecated (always true). TODO: Remove on Vespa 8. +logserver.userpc bool default=true + +## Forward to a logserver. Other logserver configuration is irrelevant if false. +logserver.use bool default=true + +## Loglevel config whether they should be stored and/or forwarded +loglevel.fatal.forward bool default=true +loglevel.error.forward bool default=true +loglevel.warning.forward bool default=true +loglevel.config.forward bool default=true +loglevel.info.forward bool default=true +loglevel.event.forward bool default=false +loglevel.debug.forward bool default=false +loglevel.spam.forward bool default=false + +## when the logfile reaches this size, rotate it +rotate.size int default=10000000 + +## when the logfile reaches this age (in seconds), rotate it +rotate.age int default=86400 + +## remove old logfiles so total size does not exceed this (in megabytes) +remove.totalmegabytes int default=1000 + +## remove old logfiles older than this (in days) +remove.age int default=30 diff --git a/logd/src/main/resources/configdefinitions/logd.def b/logd/src/main/resources/configdefinitions/logd.def deleted file mode 100644 index bb5f487c47e..00000000000 --- a/logd/src/main/resources/configdefinitions/logd.def +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=cloud.config.log - -## Port to serve status and metrics on -stateport int default=0 - -## Host to contact the logserver on. -logserver.host string default="localhost" - -## RPC port of logserver. -logserver.rpcport int default=5822 - -## Legacy port to contact the logserver on. -## Deprecated (not used). TODO: Remove on Vespa 8. -logserver.port int default=5821 - -## Use RPC protocol -## Deprecated (always true). TODO: Remove on Vespa 8. -logserver.userpc bool default=true - -## Forward to a logserver. Other logserver configuration is irrelevant if false. -logserver.use bool default=true - -## Loglevel config whether they should be stored and/or forwarded -loglevel.fatal.forward bool default=true -loglevel.error.forward bool default=true -loglevel.warning.forward bool default=true -loglevel.config.forward bool default=true -loglevel.info.forward bool default=true -loglevel.event.forward bool default=false -loglevel.debug.forward bool default=false -loglevel.spam.forward bool default=false - -## when the logfile reaches this size, rotate it -rotate.size int default=10000000 - -## when the logfile reaches this age (in seconds), rotate it -rotate.age int default=86400 - -## remove old logfiles so total size does not exceed this (in megabytes) -remove.totalmegabytes int default=1000 - -## remove old logfiles older than this (in days) -remove.age int default=30 diff --git a/messagebus/src/main/config/messagebus.def b/messagebus/src/main/config/messagebus.def deleted file mode 100644 index b750530ec5f..00000000000 --- a/messagebus/src/main/config/messagebus.def +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=messagebus - -# Name of the protocol that uses this routing table. All -# instances of message bus must support all named protocols. -routingtable[].protocol string - -# A protocol-unique name for a hop. -routingtable[].hop[].name string - -# The selector string of a hop, this string typically contains -# routing policy references on the form [policy-name:parameter]. -# The protocol for the routing table must support all named -# policies. -routingtable[].hop[].selector string - -# List of recipients for a hop. These strings may contain -# wildcards to allow the network layer to choose any single -# matching service. -routingtable[].hop[].recipient[] string - -# Whether or not to ignore the result from this hop. -routingtable[].hop[].ignoreresult bool default=false - -# A protocol-unique name for a route. -routingtable[].route[].name string - -# An array of hop names that together make up the route. -routingtable[].route[].hop[] string diff --git a/messagebus/src/main/config/messagebus.messagebus.def b/messagebus/src/main/config/messagebus.messagebus.def new file mode 100644 index 00000000000..b750530ec5f --- /dev/null +++ b/messagebus/src/main/config/messagebus.messagebus.def @@ -0,0 +1,29 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=messagebus + +# Name of the protocol that uses this routing table. All +# instances of message bus must support all named protocols. +routingtable[].protocol string + +# A protocol-unique name for a hop. +routingtable[].hop[].name string + +# The selector string of a hop, this string typically contains +# routing policy references on the form [policy-name:parameter]. +# The protocol for the routing table must support all named +# policies. +routingtable[].hop[].selector string + +# List of recipients for a hop. These strings may contain +# wildcards to allow the network layer to choose any single +# matching service. +routingtable[].hop[].recipient[] string + +# Whether or not to ignore the result from this hop. +routingtable[].hop[].ignoreresult bool default=false + +# A protocol-unique name for a route. +routingtable[].route[].name string + +# An array of hop names that together make up the route. +routingtable[].route[].hop[] string diff --git a/messagebus/src/vespa/messagebus/CMakeLists.txt b/messagebus/src/vespa/messagebus/CMakeLists.txt index 1dfac1fbdac..2d408e93358 100644 --- a/messagebus/src/vespa/messagebus/CMakeLists.txt +++ b/messagebus/src/vespa/messagebus/CMakeLists.txt @@ -36,5 +36,5 @@ vespa_add_library(messagebus INSTALL lib64 DEPENDS ) -vespa_generate_config(messagebus ../../main/config/messagebus.def) -install_config_definition(../../main/config/messagebus.def messagebus.messagebus.def) +vespa_generate_config(messagebus ../../main/config/messagebus.messagebus.def) +install_config_definitions(../../main/config) diff --git a/metrics-proxy/CMakeLists.txt b/metrics-proxy/CMakeLists.txt index 63520385bf5..20d508c84d3 100644 --- a/metrics-proxy/CMakeLists.txt +++ b/metrics-proxy/CMakeLists.txt @@ -4,12 +4,4 @@ install_fat_java_artifact(metrics-proxy) vespa_install_script(src/main/sh/start-telegraf.sh libexec/vespa) vespa_install_script(src/main/sh/stop-telegraf.sh libexec/vespa) -install_config_definition(src/main/resources/configdefinitions/application-dimensions.def ai.vespa.metricsproxy.metric.dimensions.application-dimensions.def) -install_config_definition(src/main/resources/configdefinitions/consumers.def ai.vespa.metricsproxy.core.consumers.def) -install_config_definition(src/main/resources/configdefinitions/monitoring.def ai.vespa.metricsproxy.core.monitoring.def) -install_config_definition(src/main/resources/configdefinitions/metrics-nodes.def ai.vespa.metricsproxy.http.application.metrics-nodes.def) -install_config_definition(src/main/resources/configdefinitions/node-dimensions.def ai.vespa.metricsproxy.metric.dimensions.node-dimensions.def) -install_config_definition(src/main/resources/configdefinitions/node-info.def ai.vespa.metricsproxy.http.metrics.node-info.def) -install_config_definition(src/main/resources/configdefinitions/rpc-connector.def ai.vespa.metricsproxy.rpc.rpc-connector.def) -install_config_definition(src/main/resources/configdefinitions/vespa-services.def ai.vespa.metricsproxy.service.vespa-services.def) -install_config_definition(src/main/resources/configdefinitions/telegraf.def ai.vespa.metricsproxy.telegraf.telegraf.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/metrics/src/vespa/metrics/CMakeLists.txt b/metrics/src/vespa/metrics/CMakeLists.txt index 0d7eeba3601..705f57d977b 100644 --- a/metrics/src/vespa/metrics/CMakeLists.txt +++ b/metrics/src/vespa/metrics/CMakeLists.txt @@ -25,5 +25,5 @@ vespa_add_library(metrics INSTALL lib64 DEPENDS ) -vespa_generate_config(metrics metricsmanager.def) -install_config_definition(metricsmanager.def metrics.metricsmanager.def) +vespa_generate_config(metrics metrics.metricsmanager.def) +install_config_definitions(src/vespa/metrics) diff --git a/metrics/src/vespa/metrics/metrics.metricsmanager.def b/metrics/src/vespa/metrics/metrics.metricsmanager.def new file mode 100644 index 00000000000..80f03a8e9e8 --- /dev/null +++ b/metrics/src/vespa/metrics/metrics.metricsmanager.def @@ -0,0 +1,63 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=metrics + +# If any snapshot periods is set, these override all the default ones. +# The array sets the snapshot periods in number of seconds. Note that when +# sorted in rising time length order, it is required that the snapshot length of +# the next snapshot is a multiplum of the previous snapshot. +## restart flag was added automatically and needs to be verified. +snapshot.periods[] int restart + +# The name of the consumer that should include the given metrics specified. +## restart flag was added automatically and needs to be verified. +consumer[].name string restart + +# Include metrics that match the given tags. +# +# A tag specification either adds a single tag by given the full tag name, or +# any tag, by specifying an asterix as wildcard ('*'). An asterix will not match +# metrics without any tags set, but you can match these by specifying an empty +# string. +# +# A metric set matched by tags, will also include every metric contained in it +# regardless of tags. +## restart flag was added automatically and needs to be verified. +consumer[].tags[] string restart + +# Do not include metrics that match the specific tags. This has higher +# presedence than the adding of tags, but lower presedence than name patterns. +# +# Removed tags are specified as added tags, with a small exception. Removing +# wildcard or untagged metrics does not make sense, as metrics are not added by +# default. If you don not want to include these metrics, just not specify them +# as tags to be added. Thus, these are not allowed in remove tags spec. +# +# A metric set matched by remove tag will remove all metrics below that tag. +## restart flag was added automatically and needs to be verified. +consumer[].removedtags[] string restart + +# Include all metrics that matches the names given here. +# Metrics added here have presedence above tag specifications. +# +# Names are specified as a complete dot separated path to metric. Asterix can +# be used to match any part. An asterix will only match a complete name without +# a dot. So if you have an average metric called 'queuesize' in your top level +# metric set called 'myapp', you can add this metric with the spec +# 'myapp.queuesize'. You can also add non-default average metric entries by +# specifying which, such as 'myapp.queuesize.last' or 'myapp.queuesize.max'. +# Patterns can be used, to for instance specify '*.queuesize', 'myapp.*', '*.*', +# 'myapp.*.max' or similar. +# +# A metric set added with specific name will add all metrics within it. +## restart flag was added automatically and needs to be verified. +consumer[].addedmetrics[] string restart + +# Do not include metrics with the below names. +# This has highest presedence. Metrics removed like this will override any +# specification otherwise that would include them. +# +# The remove metrics are specified exactly the same as the added metrics. +# +# A metric set removed with specific name will remove all metrics within it. +## restart flag was added automatically and needs to be verified. +consumer[].removedmetrics[] string restart diff --git a/metrics/src/vespa/metrics/metricsmanager.def b/metrics/src/vespa/metrics/metricsmanager.def deleted file mode 100644 index 80f03a8e9e8..00000000000 --- a/metrics/src/vespa/metrics/metricsmanager.def +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=metrics - -# If any snapshot periods is set, these override all the default ones. -# The array sets the snapshot periods in number of seconds. Note that when -# sorted in rising time length order, it is required that the snapshot length of -# the next snapshot is a multiplum of the previous snapshot. -## restart flag was added automatically and needs to be verified. -snapshot.periods[] int restart - -# The name of the consumer that should include the given metrics specified. -## restart flag was added automatically and needs to be verified. -consumer[].name string restart - -# Include metrics that match the given tags. -# -# A tag specification either adds a single tag by given the full tag name, or -# any tag, by specifying an asterix as wildcard ('*'). An asterix will not match -# metrics without any tags set, but you can match these by specifying an empty -# string. -# -# A metric set matched by tags, will also include every metric contained in it -# regardless of tags. -## restart flag was added automatically and needs to be verified. -consumer[].tags[] string restart - -# Do not include metrics that match the specific tags. This has higher -# presedence than the adding of tags, but lower presedence than name patterns. -# -# Removed tags are specified as added tags, with a small exception. Removing -# wildcard or untagged metrics does not make sense, as metrics are not added by -# default. If you don not want to include these metrics, just not specify them -# as tags to be added. Thus, these are not allowed in remove tags spec. -# -# A metric set matched by remove tag will remove all metrics below that tag. -## restart flag was added automatically and needs to be verified. -consumer[].removedtags[] string restart - -# Include all metrics that matches the names given here. -# Metrics added here have presedence above tag specifications. -# -# Names are specified as a complete dot separated path to metric. Asterix can -# be used to match any part. An asterix will only match a complete name without -# a dot. So if you have an average metric called 'queuesize' in your top level -# metric set called 'myapp', you can add this metric with the spec -# 'myapp.queuesize'. You can also add non-default average metric entries by -# specifying which, such as 'myapp.queuesize.last' or 'myapp.queuesize.max'. -# Patterns can be used, to for instance specify '*.queuesize', 'myapp.*', '*.*', -# 'myapp.*.max' or similar. -# -# A metric set added with specific name will add all metrics within it. -## restart flag was added automatically and needs to be verified. -consumer[].addedmetrics[] string restart - -# Do not include metrics with the below names. -# This has highest presedence. Metrics removed like this will override any -# specification otherwise that would include them. -# -# The remove metrics are specified exactly the same as the added metrics. -# -# A metric set removed with specific name will remove all metrics within it. -## restart flag was added automatically and needs to be verified. -consumer[].removedmetrics[] string restart diff --git a/searchcore/src/apps/verify_ranksetup/verify-ranksetup.def b/searchcore/src/apps/verify_ranksetup/verify-ranksetup.def deleted file mode 100644 index f2199c4e726..00000000000 --- a/searchcore/src/apps/verify_ranksetup/verify-ranksetup.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -file[].ref string -file[].path string diff --git a/searchcore/src/apps/verify_ranksetup/vespa.config.search.core.verify-ranksetup.def b/searchcore/src/apps/verify_ranksetup/vespa.config.search.core.verify-ranksetup.def new file mode 100644 index 00000000000..f2199c4e726 --- /dev/null +++ b/searchcore/src/apps/verify_ranksetup/vespa.config.search.core.verify-ranksetup.def @@ -0,0 +1,5 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +file[].ref string +file[].path string diff --git a/searchcore/src/tests/proton/documentdb/fileconfigmanager/config.mycfg.def b/searchcore/src/tests/proton/documentdb/fileconfigmanager/config.mycfg.def new file mode 100644 index 00000000000..52b374e1bbf --- /dev/null +++ b/searchcore/src/tests/proton/documentdb/fileconfigmanager/config.mycfg.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=config + +myField string default="" diff --git a/searchcore/src/tests/proton/documentdb/fileconfigmanager/mycfg.def b/searchcore/src/tests/proton/documentdb/fileconfigmanager/mycfg.def deleted file mode 100644 index 52b374e1bbf..00000000000 --- a/searchcore/src/tests/proton/documentdb/fileconfigmanager/mycfg.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=config - -myField string default="" diff --git a/searchcore/src/vespa/searchcore/config/CMakeLists.txt b/searchcore/src/vespa/searchcore/config/CMakeLists.txt index 915ab147978..25307f4a6c8 100644 --- a/searchcore/src/vespa/searchcore/config/CMakeLists.txt +++ b/searchcore/src/vespa/searchcore/config/CMakeLists.txt @@ -3,12 +3,10 @@ vespa_add_library(searchcore_fconfig STATIC SOURCES DEPENDS ) -vespa_generate_config(searchcore_fconfig fdispatchrc.def) -install_config_definition(fdispatchrc.def vespa.config.search.core.fdispatchrc.def) -vespa_generate_config(searchcore_fconfig proton.def) -install_config_definition(proton.def vespa.config.search.core.proton.def) -vespa_generate_config(searchcore_fconfig ranking-constants.def) -install_config_definition(ranking-constants.def vespa.config.search.core.ranking-constants.def) -vespa_generate_config(searchcore_fconfig onnx-models.def) -install_config_definition(onnx-models.def vespa.config.search.core.onnx-models.def) -vespa_generate_config(searchcore_fconfig hwinfo.def) +vespa_generate_config(searchcore_fconfig vespa.config.search.core.fdispatchrc.def) +vespa_generate_config(searchcore_fconfig vespa.config.search.core.proton.def) +vespa_generate_config(searchcore_fconfig vespa.config.search.core.ranking-constants.def) +vespa_generate_config(searchcore_fconfig vespa.config.search.core.onnx-models.def) +vespa_generate_config(searchcore_fconfig vespa.config.search.core.hwinfo.def) + +install_config_definitions(src/vespa/searchcore/config) diff --git a/searchcore/src/vespa/searchcore/config/fdispatchrc.def b/searchcore/src/vespa/searchcore/config/fdispatchrc.def deleted file mode 100644 index f2e33e463b8..00000000000 --- a/searchcore/src/vespa/searchcore/config/fdispatchrc.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -## The number of transport threads used when talking to search nodes. -transportthreads int default=1 restart diff --git a/searchcore/src/vespa/searchcore/config/hwinfo.def b/searchcore/src/vespa/searchcore/config/hwinfo.def deleted file mode 100644 index 981c3fe655e..00000000000 --- a/searchcore/src/vespa/searchcore/config/hwinfo.def +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -## Write speed, MiB/s, typically measured by writing 1 GiB data to disk. -disk.writespeed double default = 0.0 - -## Sample time, in seconds since epoch -disk.sampletime long default = 0 diff --git a/searchcore/src/vespa/searchcore/config/onnx-models.def b/searchcore/src/vespa/searchcore/config/onnx-models.def deleted file mode 100644 index ffe71ff70c2..00000000000 --- a/searchcore/src/vespa/searchcore/config/onnx-models.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -model[].name string -model[].fileref file diff --git a/searchcore/src/vespa/searchcore/config/proton.def b/searchcore/src/vespa/searchcore/config/proton.def deleted file mode 100644 index fd60781d868..00000000000 --- a/searchcore/src/vespa/searchcore/config/proton.def +++ /dev/null @@ -1,502 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -## Base directory. The default is ignored as it is assigned by the model -basedir string default="." restart - -## Port to use for the rpcserver. -rpcport int default=8004 restart - -## Port to use for the web server -httpport int default=0 restart - -## Cluster name -clustername string default="" restart - -## Partition number -partition int default=0 restart - -## Distribution key -distributionkey int default=-1 - -## Num searcher threads -numsearcherthreads int default=64 restart - -## Number of threads used per search -numthreadspersearch int default=1 restart - -## Num summary threads -numsummarythreads int default=16 restart - -## Stop on io errors ? -stoponioerrors bool default=false restart - -## Perform extra validation of stored data on startup -## It requires a restart to be turned, but no restart to turned off. -## Hence it must always be followed by a manual restart. -validate_and_sanitize_docstore enum {NO, YES} default = NO - -## Maximum number of concurrent flushes outstanding. -flush.maxconcurrent int default=2 restart - -## Number of seconds between checking for stuff to flush when the system is idling. -flush.idleinterval double default=10.0 restart - -## Which flushstrategy to use. -flush.strategy enum {SIMPLE, MEMORY} default=MEMORY restart - -## The total maximum memory (in bytes) used by FLUSH components before running flush. -## A FLUSH component will free memory when flushed (e.g. memory index). -flush.memory.maxmemory long default=4294967296 - -## Maximum total disk bloat factor before forcing flush. -flush.memory.diskbloatfactor double default=0.2 - -## Max disk usage (in bytes) for all transaction logs before running flush. -## In this case the oldest component is flushed such that transaction log can be pruned and disk freed. -flush.memory.maxtlssize long default=21474836480 - -## The maximum memory (in bytes) used by a single FLUSH component before running flush. -## A FLUSH component will free memory when flushed (e.g. memory index). -flush.memory.each.maxmemory long default=1073741824 - -## Maximum disk bloat factor per component before forcing flush. -flush.memory.each.diskbloatfactor double default=0.2 - -## Age of unflushed content before forcing age prioritization. -## Unit is seconds with 1 day being the default. -flush.memory.maxage.time double default=86400.0 - -## When resource limit for memory is reached we choose a conservative mode for the flush strategy. -## In this case this factor is multiplied with 'maxmemory' and 'each.maxmemory' to calculate conservative values to use instead. -flush.memory.conservative.memorylimitfactor double default=0.5 - -## When resource limit for disk is reached we choose a conservative mode for the flush strategy. -## In this case this factor is multiplied with 'maxtlssize' to calculate a conservative value to use instead. -flush.memory.conservative.disklimitfactor double default=0.5 - -## The factor used to multiply with the resource limits for disk / memory to find the low -## watermark indicating when to go back from conservative to normal mode for the flush strategy. -flush.memory.conservative.lowwatermarkfactor double default=0.9 - -## The cost of replaying a byte when replaying the transaction log. -## -## The estimate of the total cost of replaying the transaction log: -## (number of bytes to replay) * replaycost + (number of operations to replay) * replayoperationcost -## -## The prepare for restart flush strategy will choose a set of components to flush -## such that the cost of flushing these + the cost of replaying the transaction log -## is as low as possible. -flush.preparerestart.replaycost double default=8.0 - -## The cost of replaying an operation when replaying the transaction log. -## -## The estimate of the total cost of replaying the transaction log: -## (number of bytes to replay) * replaycost + (number of operations to replay) * replayoperationcost -## -## The default value is chosen based on the following example: -## Assume we can replay 9 MB/s and this corresponds to 24000 ops/s. -## replayoperationcost = (bytes to replay) * replaycost / (operations to replay) = 9 MB * 8.0 / 24000 = 3000 -## -## The prepare for restart flush strategy will choose a set of components to flush -## such that the cost of flushing these + the cost of replaying the transaction log -## is as low as possible. -flush.preparerestart.replayoperationcost double default=3000.0 - -## The cost of writing a byte when flushing components to disk. -## -## The number of bytes to write (for a set of flushed components) * writecost -## gives an estimate of the total cost of flushing this set of components. -## -## The prepare for restart flush strategy will choose a set of components to flush -## such that the cost of flushing these + the cost of replaying the transaction log -## is as low as possible. -flush.preparerestart.writecost double default=1.0 - -## Control io options during write both under dump and fusion. -indexing.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO restart - -## Control io options during read both under dump and fusion. -indexing.read.io enum {NORMAL, DIRECTIO} default=DIRECTIO restart - -## Control number of threads used for indexing -indexing.threads int default=1 restart - -## Option to specify what is most important during indexing. -## This is experimental and will most likely be temporary. -indexing.optimize enum {LATENCY, THROUGHPUT, ADAPTIVE} default=LATENCY restart - -## Maximum number of pending operations for each of the internal -## indexing threads. Only used when visibility delay is zero. -indexing.tasklimit int default=1000 restart - -## Parameter used to calculate maximum number of pending operations -## for each of the internal indexing threads when visibility delay is -## nonzero. The number is divided by the number of indexing threads, -## i.e. when indexing.threads is 4 and indexing.semiunboundtasklimit -## is 40000 then effective task limit is 10000. -indexing.semiunboundtasklimit int default = 40000 restart - -## Kind of watermark for when to activate extra manpower -## Utilized if optimize is set to either THROUGHPUT or ADAPTIVE -indexing.kind_of_watermark int default = 0 restart - -## Controls minimum reaction time in seconds if using THROUGHPUT -indexing.reactiontime double default = 0.005 restart - - -## How long a freshly loaded index shall be warmed up -## before being used for serving -index.warmup.time double default=0.0 restart - -# Indicate if we also want warm up with full unpack, instead of only cheaper seek. -index.warmup.unpack bool default=false restart - -## How many flushed indexes there can be before fusion is forced while node is -## not in retired state. -## Setting to 1 will force an immediate fusion. -index.maxflushed int default=2 - -## How many flushed indexes there can be before fusion is forced while node is -## in retired state. -## Setting to 1 will force an immediate fusion. -index.maxflushedretired int default=20 - -## How much memory is set aside for caching. -## Now only used for caching of dictionary lookups. -index.cache.size long default=0 restart - -## Control io options during flushing of attributes. -attribute.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO restart - -## Multiple optional options for use with mmap -search.mmap.options[] enum {MLOCK, POPULATE, HUGETLB} restart - -## Advise to give to os when mapping memory. -search.mmap.advise enum {NORMAL, RANDOM, SEQUENTIAL} default=NORMAL restart - -## Max number of threads allowed to handle large queries concurrently -## Positive number means there is a limit, 0 or negative means no limit. -search.memory.limiter.maxthreads int default=0 - -## Minimum coverage of corpus to postprocess before applying above concurrency limit. -search.memory.limiter.mincoverage double default=1.0 - -## Minimum number of hits to postprocess before applying above concurrency limit. -## Both must be covered before applying limiter. -search.memory.limiter.minhits int default=1000000 - -## Control of grouping session manager entries -grouping.sessionmanager.maxentries int default=500 restart - -## Control of pruning interval to remove sessions that have timed out -grouping.sessionmanager.pruning.interval double default=1.0 - -## Redundancy of documents. -distribution.redundancy long default=1 - -## Searchable copies of the documents. -distribution.searchablecopies long default=1 - -## Control cache size in bytes. -## Postive numbers are absolute in bytes. -## Negative numbers are a percentage of memory. -summary.cache.maxbytes long default=-5 - -## Include visits in the cache, if the visitoperation allows it. -## This will enable another separate cache of summary.cache.maxbytes size. -summary.cache.allowvisitcaching bool default=true - -## Control number of cache entries preallocated. -## Default is no preallocation. -## Can be set to a higher number to avoid resizing. -summary.cache.initialentries long default=0 restart - -## Control compression type of the summary while in the cache. -summary.cache.compression.type enum {NONE, LZ4, ZSTD} default=LZ4 - -## Control compression level of the summary while in cache. -## LZ4 has normal range 1..9 while ZSTD has range 1..19 -## 6 is a default for lz4 to prioritize speed. -summary.cache.compression.level int default=6 - -## Control if cache entry is updated or ivalidated when changed. -summary.cache.update_strategy enum {INVALIDATE, UPDATE} default=INVALIDATE - -## Control compression type of the summary while in memory during compaction -## NB So far only stragey=LOG honours it. -summary.log.compact.compression.type enum {NONE, LZ4, ZSTD} default=ZSTD - -## Control compression level of the summary while in memory during compaction -## LZ4 has normal range 1..9 while ZSTD has range 1..19 -## 9 is a reasonable default for both -summary.log.compact.compression.level int default=9 - -## Control compression type of the summary -summary.log.chunk.compression.type enum {NONE, LZ4, ZSTD} default=ZSTD - -## Control compression level of the summary -## LZ4 has normal range 1..9 while ZSTD has range 1..19 -## 9 is a reasonable default for both. Going above for ZSTD can give an improvement, -## but is better done in conjunction with increasing chunk size. -summary.log.chunk.compression.level int default=9 - -## Max size in bytes per chunk. -summary.log.chunk.maxbytes int default=65536 - -## Skip crc32 check on read. -summary.log.chunk.skipcrconread bool default=false - -## Max size per summary file. -summary.log.maxfilesize long default=1000000000 - -## Max number of lid entries per file -summary.log.maxnumlids int default=40000000 - -## Max disk bloat factor. This will trigger compacting. -summary.log.maxdiskbloatfactor double default=0.1 - -## Max bucket spread within a single summary file. This will trigger bucket order compacting. -summary.log.maxbucketspread double default=2.5 - -## If a file goes below this ratio compared to allowed max size it will be joined to the front. -## Value in the range [0.0, 1.0] -summary.log.minfilesizefactor double default=0.2 - -## Control io options during flush of stored documents. -summary.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO - -## Control io options during read of stored documents. -## All summary.read options will take effect immediately on new files written. -## On old files it will take effect either upon compact or on restart. -summary.read.io enum {NORMAL, DIRECTIO, MMAP } default=MMAP restart - -## Multiple optional options for use with mmap -summary.read.mmap.options[] enum {MLOCK, POPULATE, HUGETLB} restart - -## Advise to give to os when mapping memory. -summary.read.mmap.advise enum {NORMAL, RANDOM, SEQUENTIAL} default=NORMAL restart - -## The name of the input document type -documentdb[].inputdoctypename string -## The type of the documentdb -documentdb[].mode enum {INDEX, STREAMING, STORE_ONLY} default=INDEX -## The configid used to subscribe to config for this database. -documentdb[].configid string -## How many seconds is allowed from document is received to it is visible in the index. -documentdb[].visibilitydelay double default=0.0 -## Whether this document type is globally distributed or not. -documentdb[].global bool default=false -## A number between 0.0 and 1.0 that specifies the concurrency when handling feed operations. -## When set to 1.0 all cores on the cpu is utilized. -## -## 3 thread pools used for various aspect of feeding are configured based on this setting: -## 1) Writing changes to attribute fields -## 2) Inverting index fields -## 3) Writing changes to index fields -## -## The number of threads in each of pools is calculated as: -## max(ceil((hwinfo.cpu.cores * feeding.concurrency)/3), indexing.threads) -documentdb[].feeding.concurrency double default=0.2 - -## Minimum initial size for any per document tables. -documentdb[].allocation.initialnumdocs long default=1024 -## Grow factor for any per document tables. -documentdb[].allocation.growfactor double default=0.2 -## Constant added when growing any per document tables. -documentdb[].allocation.growbias int default=1 - -## The number of documents to amortize memory spike cost over -documentdb[].allocation.amortizecount int default=10000 - -## The grow factor used when allocating buffers in the array store -## used in multi-value attribute vectors to store underlying values. -documentdb[].allocation.multivaluegrowfactor double default=0.2 - -## The interval of when periodic tasks should be run -periodic.interval double default=3600.0 - -## Connect spec for transactionlog server. -tlsspec string default="tcp/localhost:13700" restart - -## ConfigId for transactionlogserver -tlsconfigid string default="" restart - -## Slobrok configid -slobrokconfigid string default="" restart - -## Routing configid -routingconfigid string default="" restart - -## filedistributor rpc configuration -filedistributor.configid reference default="" restart - -## Interval between pruning of old removed documents. -## -## If set to 0 (default) the value is calculated as (pruneremoveddocumentsage / 100) (default 3.36 hours). -pruneremoveddocumentsinterval double default=0.0 - -## Age of removed document before it can be pruned. -## -## Default value is 2 weeks (1209600 seconds). -pruneremoveddocumentsage double default=1209600.0 - -## Minimum size of packets to compress (0 means no compression) -## -packetcompresslimit int default=1024 - -## Compression level for packets -## -## Default value is 3 -packetcompresslevel int default=3 - -## Compression type for packets -## -## Default is LZ4 -packetcompresstype enum {NONE, LZ4} default=LZ4 - -## Interval between considering if lid space compaction should be done (in seconds). -## -## Default value is 10 seconds. -lidspacecompaction.interval double default=10.0 - -## The allowed lid bloat (in docs) before considering lid space compaction. -## -## When considering compaction the lid bloat is calculated as (docIdLimit - numDocs). -## The lid bloat must be >= allowedlidbloat before considering compaction. -lidspacecompaction.allowedlidbloat int default=1000 - -## The allowed lid bloat factor (relative) before considering lid space compaction. -## -## When considering compaction the lid bloat factor is calculated as (docIdLimit - numDocs)/docIdLimit. -## The lid bloat factor must be >= allowedlidbloatfactor before considering compaction. -lidspacecompaction.allowedlidbloatfactor double default=0.01 - -## DEPRECATED (no longer used): Remove on Vespa 8 -## The delay (in seconds) for when the last remove batch operation would be considered to block lid space compaction. -## -## When considering compaction, if the document meta store has received a remove batch operation in the last delay seconds, -## the lid space compaction job is blocked. It is considered again at the next regular interval (see above). -## -## Remove batch operations are used when deleting buckets on a content node. -## This functionality ensures that during massive deleting of buckets (e.g. as part of redistribution of data to a new node), -## lid space compaction do not interfere, but instead is applied after deleting of buckets is complete. -lidspacecompaction.removebatchblockdelay double default=2.0 - -## The rate (ops / second) of remove batch operations for when to block lid space compaction. -## -## When considering compaction, if the current observed rate of remove batch operations -## is higher than the given block rate, the lid space compaction job is blocked. -## It is considered again at the next regular interval (see above). -## -## Remove batch operations are used when deleting buckets on a content node. -## This functionality ensures that during massive deleting of buckets (e.g. as part of redistribution of data to a new node), -## lid space compaction do not interfere, but instead is applied after deleting of buckets is complete. -lidspacecompaction.removebatchblockrate double default=0.5 - -## The rate (ops / second) of remove operations for when to block lid space compaction. -## -## When considering compaction, if the current observed rate of remove operations -## is higher than the given block rate, the lid space compaction job is blocked. -## It is considered again at the next regular interval (see above). -lidspacecompaction.removeblockrate double default=100.0 - -## This is the maximum value visibilitydelay you can have. -## A to higher value here will cost more memory while not improving too much. -maxvisibilitydelay double default=1.0 - -## You can set this to a number above zero for visit to shortcut expensive serialize size computation. -## This value will be provided instead. -## negative number will compute it accurately. -## This is only used for weakly consistent visiting, like streaming search. -visit.defaultserializedsize long default=1 - -## This will ignore the maxbytes limit advised from above. -## This is only used for weakly consistent visiting, like streaming search. -visit.ignoremaxbytes bool default=true - -## Number of initializer threads used for loading structures from disk at proton startup. -## The threads are shared between document databases when value is larger than 0. -## When set to 0 (default) we use 1 separate thread per document database. -initialize.threads int default = 0 - -## Portion of enumstore address space that can be used before put and update -## portion of feed is blocked. -writefilter.attribute.enumstorelimit double default = 0.9 - -## Portion of attribute multivalue mapping address space that can be used -## before put and update portion of feed is blocked. -writefilter.attribute.multivaluelimit double default = 0.9 - -## Portion of physical memory that can be resident memory in anonymous mapping -## by the proton process before put and update portion of feed is blocked. -writefilter.memorylimit double default = 0.8 - -## Portion of space on disk partition that can be used or reserved before -## put and update portion of feed is blocked. -writefilter.disklimit double default = 0.8 - -## Interval between sampling of disk and memory usage. Default is 10 seconds. -writefilter.sampleinterval double default = 10.0 - -## The size of the disk partition (in bytes) on which proton basedir is located. -## If set to 0, the disk size is sampled by looking at the filesystem space info. -## The disk size is used when determining if feed should be blocked in writefilter. -hwinfo.disk.size long default = 0 restart - -## Whether the disk partition is shared among several instances of proton (e.g. when using docker). -## If shared, disk usage is sampled by doing a recursive directory scan in proton basedir. -## If not, disk usage is sampled by looking at the filesystem space info. -hwinfo.disk.shared bool default = false restart - -## Override for disk write speed, measured in MiB/s. When zero, the -## actual disk write speed is sampled by writing data to a temporary file. -hwinfo.disk.writespeed double default = 200.0 restart - -## Amount of data to write to temporary file when sampling disk write speed. -## Default is 1 GiB. -hwinfo.disk.samplewritesize long default = 1073741824 restart - -## Minimum write speed needed to avoid disk being considered slow. -## Unit is MiB/s, default is 100.0 MiB/s. -hwinfo.disk.slowwritespeedlimit double default = 100.0 restart - -## The size of physical memory (in bytes) available to proton. -## If set to 0, the memory size is sampled as _SC_PHYS_PAGES * _SC_PAGESIZE by using sysconf to do the lookup. -## The memory size is used when determining if feed should be blocked in writefilter. -hwinfo.memory.size long default = 0 restart - -## The number of cores on the cpu. -## If set to 0, this is sampled by using std::thread::hardware_concurrency(). -hwinfo.cpu.cores int default = 0 restart - -## A number between 0.0 and 1.0 that specifies the concurrency when handling feed operations. -## When set to 1.0 all cores on the cpu is utilized. -## -## 4 thread pools used for various aspect of feeding are configured based on this setting: -## 1) Compressing and compacting documents -## 2) Writing changes to attribute fields -## 3) Inverting index fields -## 4) Writing changes to index fields -## -## The number of threads in pool 1 is calculated as: -## max(ceil(hwinfo.cpu.cores * feeding.concurrency), summary.log.numthreads) -## The number of threads in each of pools 2-4 is calculated as: -## max(ceil((hwinfo.cpu.cores * feeding.concurrency)/3), indexing.threads) -## Deprecated -> Use documentdb.feeding.concurrency -feeding.concurrency double default = 0.2 restart - -## Adjustment to resource limit when determining if maintenance jobs can run. -## -## Currently used by 'lid_space_compaction' and 'move_buckets' jobs. -maintenancejobs.resourcelimitfactor double default = 1.05 - -## The max outstanding move operations a maintenance job can have before being blocked. -## -## The job is unblocked (and executed again) when this goes under the limit again. -## Currently used by 'lid_space_compaction' job. -maintenancejobs.maxoutstandingmoveops int default=10 - -## Controls the type of bucket checksum used. Do not change unless -## in depth understanding is present. -bucketdb.checksumtype enum {LEGACY, XXHASH64} default = LEGACY restart diff --git a/searchcore/src/vespa/searchcore/config/ranking-constants.def b/searchcore/src/vespa/searchcore/config/ranking-constants.def deleted file mode 100644 index 3b55eda3308..00000000000 --- a/searchcore/src/vespa/searchcore/config/ranking-constants.def +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.core - -constant[].name string -constant[].fileref file -constant[].type string diff --git a/searchcore/src/vespa/searchcore/config/vespa.config.search.core.fdispatchrc.def b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.fdispatchrc.def new file mode 100644 index 00000000000..f2e33e463b8 --- /dev/null +++ b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.fdispatchrc.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +## The number of transport threads used when talking to search nodes. +transportthreads int default=1 restart diff --git a/searchcore/src/vespa/searchcore/config/vespa.config.search.core.hwinfo.def b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.hwinfo.def new file mode 100644 index 00000000000..981c3fe655e --- /dev/null +++ b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.hwinfo.def @@ -0,0 +1,8 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +## Write speed, MiB/s, typically measured by writing 1 GiB data to disk. +disk.writespeed double default = 0.0 + +## Sample time, in seconds since epoch +disk.sampletime long default = 0 diff --git a/searchcore/src/vespa/searchcore/config/vespa.config.search.core.onnx-models.def b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.onnx-models.def new file mode 100644 index 00000000000..ffe71ff70c2 --- /dev/null +++ b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.onnx-models.def @@ -0,0 +1,5 @@ +# Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +model[].name string +model[].fileref file diff --git a/searchcore/src/vespa/searchcore/config/vespa.config.search.core.proton.def b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.proton.def new file mode 100644 index 00000000000..fd60781d868 --- /dev/null +++ b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.proton.def @@ -0,0 +1,502 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +## Base directory. The default is ignored as it is assigned by the model +basedir string default="." restart + +## Port to use for the rpcserver. +rpcport int default=8004 restart + +## Port to use for the web server +httpport int default=0 restart + +## Cluster name +clustername string default="" restart + +## Partition number +partition int default=0 restart + +## Distribution key +distributionkey int default=-1 + +## Num searcher threads +numsearcherthreads int default=64 restart + +## Number of threads used per search +numthreadspersearch int default=1 restart + +## Num summary threads +numsummarythreads int default=16 restart + +## Stop on io errors ? +stoponioerrors bool default=false restart + +## Perform extra validation of stored data on startup +## It requires a restart to be turned, but no restart to turned off. +## Hence it must always be followed by a manual restart. +validate_and_sanitize_docstore enum {NO, YES} default = NO + +## Maximum number of concurrent flushes outstanding. +flush.maxconcurrent int default=2 restart + +## Number of seconds between checking for stuff to flush when the system is idling. +flush.idleinterval double default=10.0 restart + +## Which flushstrategy to use. +flush.strategy enum {SIMPLE, MEMORY} default=MEMORY restart + +## The total maximum memory (in bytes) used by FLUSH components before running flush. +## A FLUSH component will free memory when flushed (e.g. memory index). +flush.memory.maxmemory long default=4294967296 + +## Maximum total disk bloat factor before forcing flush. +flush.memory.diskbloatfactor double default=0.2 + +## Max disk usage (in bytes) for all transaction logs before running flush. +## In this case the oldest component is flushed such that transaction log can be pruned and disk freed. +flush.memory.maxtlssize long default=21474836480 + +## The maximum memory (in bytes) used by a single FLUSH component before running flush. +## A FLUSH component will free memory when flushed (e.g. memory index). +flush.memory.each.maxmemory long default=1073741824 + +## Maximum disk bloat factor per component before forcing flush. +flush.memory.each.diskbloatfactor double default=0.2 + +## Age of unflushed content before forcing age prioritization. +## Unit is seconds with 1 day being the default. +flush.memory.maxage.time double default=86400.0 + +## When resource limit for memory is reached we choose a conservative mode for the flush strategy. +## In this case this factor is multiplied with 'maxmemory' and 'each.maxmemory' to calculate conservative values to use instead. +flush.memory.conservative.memorylimitfactor double default=0.5 + +## When resource limit for disk is reached we choose a conservative mode for the flush strategy. +## In this case this factor is multiplied with 'maxtlssize' to calculate a conservative value to use instead. +flush.memory.conservative.disklimitfactor double default=0.5 + +## The factor used to multiply with the resource limits for disk / memory to find the low +## watermark indicating when to go back from conservative to normal mode for the flush strategy. +flush.memory.conservative.lowwatermarkfactor double default=0.9 + +## The cost of replaying a byte when replaying the transaction log. +## +## The estimate of the total cost of replaying the transaction log: +## (number of bytes to replay) * replaycost + (number of operations to replay) * replayoperationcost +## +## The prepare for restart flush strategy will choose a set of components to flush +## such that the cost of flushing these + the cost of replaying the transaction log +## is as low as possible. +flush.preparerestart.replaycost double default=8.0 + +## The cost of replaying an operation when replaying the transaction log. +## +## The estimate of the total cost of replaying the transaction log: +## (number of bytes to replay) * replaycost + (number of operations to replay) * replayoperationcost +## +## The default value is chosen based on the following example: +## Assume we can replay 9 MB/s and this corresponds to 24000 ops/s. +## replayoperationcost = (bytes to replay) * replaycost / (operations to replay) = 9 MB * 8.0 / 24000 = 3000 +## +## The prepare for restart flush strategy will choose a set of components to flush +## such that the cost of flushing these + the cost of replaying the transaction log +## is as low as possible. +flush.preparerestart.replayoperationcost double default=3000.0 + +## The cost of writing a byte when flushing components to disk. +## +## The number of bytes to write (for a set of flushed components) * writecost +## gives an estimate of the total cost of flushing this set of components. +## +## The prepare for restart flush strategy will choose a set of components to flush +## such that the cost of flushing these + the cost of replaying the transaction log +## is as low as possible. +flush.preparerestart.writecost double default=1.0 + +## Control io options during write both under dump and fusion. +indexing.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO restart + +## Control io options during read both under dump and fusion. +indexing.read.io enum {NORMAL, DIRECTIO} default=DIRECTIO restart + +## Control number of threads used for indexing +indexing.threads int default=1 restart + +## Option to specify what is most important during indexing. +## This is experimental and will most likely be temporary. +indexing.optimize enum {LATENCY, THROUGHPUT, ADAPTIVE} default=LATENCY restart + +## Maximum number of pending operations for each of the internal +## indexing threads. Only used when visibility delay is zero. +indexing.tasklimit int default=1000 restart + +## Parameter used to calculate maximum number of pending operations +## for each of the internal indexing threads when visibility delay is +## nonzero. The number is divided by the number of indexing threads, +## i.e. when indexing.threads is 4 and indexing.semiunboundtasklimit +## is 40000 then effective task limit is 10000. +indexing.semiunboundtasklimit int default = 40000 restart + +## Kind of watermark for when to activate extra manpower +## Utilized if optimize is set to either THROUGHPUT or ADAPTIVE +indexing.kind_of_watermark int default = 0 restart + +## Controls minimum reaction time in seconds if using THROUGHPUT +indexing.reactiontime double default = 0.005 restart + + +## How long a freshly loaded index shall be warmed up +## before being used for serving +index.warmup.time double default=0.0 restart + +# Indicate if we also want warm up with full unpack, instead of only cheaper seek. +index.warmup.unpack bool default=false restart + +## How many flushed indexes there can be before fusion is forced while node is +## not in retired state. +## Setting to 1 will force an immediate fusion. +index.maxflushed int default=2 + +## How many flushed indexes there can be before fusion is forced while node is +## in retired state. +## Setting to 1 will force an immediate fusion. +index.maxflushedretired int default=20 + +## How much memory is set aside for caching. +## Now only used for caching of dictionary lookups. +index.cache.size long default=0 restart + +## Control io options during flushing of attributes. +attribute.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO restart + +## Multiple optional options for use with mmap +search.mmap.options[] enum {MLOCK, POPULATE, HUGETLB} restart + +## Advise to give to os when mapping memory. +search.mmap.advise enum {NORMAL, RANDOM, SEQUENTIAL} default=NORMAL restart + +## Max number of threads allowed to handle large queries concurrently +## Positive number means there is a limit, 0 or negative means no limit. +search.memory.limiter.maxthreads int default=0 + +## Minimum coverage of corpus to postprocess before applying above concurrency limit. +search.memory.limiter.mincoverage double default=1.0 + +## Minimum number of hits to postprocess before applying above concurrency limit. +## Both must be covered before applying limiter. +search.memory.limiter.minhits int default=1000000 + +## Control of grouping session manager entries +grouping.sessionmanager.maxentries int default=500 restart + +## Control of pruning interval to remove sessions that have timed out +grouping.sessionmanager.pruning.interval double default=1.0 + +## Redundancy of documents. +distribution.redundancy long default=1 + +## Searchable copies of the documents. +distribution.searchablecopies long default=1 + +## Control cache size in bytes. +## Postive numbers are absolute in bytes. +## Negative numbers are a percentage of memory. +summary.cache.maxbytes long default=-5 + +## Include visits in the cache, if the visitoperation allows it. +## This will enable another separate cache of summary.cache.maxbytes size. +summary.cache.allowvisitcaching bool default=true + +## Control number of cache entries preallocated. +## Default is no preallocation. +## Can be set to a higher number to avoid resizing. +summary.cache.initialentries long default=0 restart + +## Control compression type of the summary while in the cache. +summary.cache.compression.type enum {NONE, LZ4, ZSTD} default=LZ4 + +## Control compression level of the summary while in cache. +## LZ4 has normal range 1..9 while ZSTD has range 1..19 +## 6 is a default for lz4 to prioritize speed. +summary.cache.compression.level int default=6 + +## Control if cache entry is updated or ivalidated when changed. +summary.cache.update_strategy enum {INVALIDATE, UPDATE} default=INVALIDATE + +## Control compression type of the summary while in memory during compaction +## NB So far only stragey=LOG honours it. +summary.log.compact.compression.type enum {NONE, LZ4, ZSTD} default=ZSTD + +## Control compression level of the summary while in memory during compaction +## LZ4 has normal range 1..9 while ZSTD has range 1..19 +## 9 is a reasonable default for both +summary.log.compact.compression.level int default=9 + +## Control compression type of the summary +summary.log.chunk.compression.type enum {NONE, LZ4, ZSTD} default=ZSTD + +## Control compression level of the summary +## LZ4 has normal range 1..9 while ZSTD has range 1..19 +## 9 is a reasonable default for both. Going above for ZSTD can give an improvement, +## but is better done in conjunction with increasing chunk size. +summary.log.chunk.compression.level int default=9 + +## Max size in bytes per chunk. +summary.log.chunk.maxbytes int default=65536 + +## Skip crc32 check on read. +summary.log.chunk.skipcrconread bool default=false + +## Max size per summary file. +summary.log.maxfilesize long default=1000000000 + +## Max number of lid entries per file +summary.log.maxnumlids int default=40000000 + +## Max disk bloat factor. This will trigger compacting. +summary.log.maxdiskbloatfactor double default=0.1 + +## Max bucket spread within a single summary file. This will trigger bucket order compacting. +summary.log.maxbucketspread double default=2.5 + +## If a file goes below this ratio compared to allowed max size it will be joined to the front. +## Value in the range [0.0, 1.0] +summary.log.minfilesizefactor double default=0.2 + +## Control io options during flush of stored documents. +summary.write.io enum {NORMAL, OSYNC, DIRECTIO} default=DIRECTIO + +## Control io options during read of stored documents. +## All summary.read options will take effect immediately on new files written. +## On old files it will take effect either upon compact or on restart. +summary.read.io enum {NORMAL, DIRECTIO, MMAP } default=MMAP restart + +## Multiple optional options for use with mmap +summary.read.mmap.options[] enum {MLOCK, POPULATE, HUGETLB} restart + +## Advise to give to os when mapping memory. +summary.read.mmap.advise enum {NORMAL, RANDOM, SEQUENTIAL} default=NORMAL restart + +## The name of the input document type +documentdb[].inputdoctypename string +## The type of the documentdb +documentdb[].mode enum {INDEX, STREAMING, STORE_ONLY} default=INDEX +## The configid used to subscribe to config for this database. +documentdb[].configid string +## How many seconds is allowed from document is received to it is visible in the index. +documentdb[].visibilitydelay double default=0.0 +## Whether this document type is globally distributed or not. +documentdb[].global bool default=false +## A number between 0.0 and 1.0 that specifies the concurrency when handling feed operations. +## When set to 1.0 all cores on the cpu is utilized. +## +## 3 thread pools used for various aspect of feeding are configured based on this setting: +## 1) Writing changes to attribute fields +## 2) Inverting index fields +## 3) Writing changes to index fields +## +## The number of threads in each of pools is calculated as: +## max(ceil((hwinfo.cpu.cores * feeding.concurrency)/3), indexing.threads) +documentdb[].feeding.concurrency double default=0.2 + +## Minimum initial size for any per document tables. +documentdb[].allocation.initialnumdocs long default=1024 +## Grow factor for any per document tables. +documentdb[].allocation.growfactor double default=0.2 +## Constant added when growing any per document tables. +documentdb[].allocation.growbias int default=1 + +## The number of documents to amortize memory spike cost over +documentdb[].allocation.amortizecount int default=10000 + +## The grow factor used when allocating buffers in the array store +## used in multi-value attribute vectors to store underlying values. +documentdb[].allocation.multivaluegrowfactor double default=0.2 + +## The interval of when periodic tasks should be run +periodic.interval double default=3600.0 + +## Connect spec for transactionlog server. +tlsspec string default="tcp/localhost:13700" restart + +## ConfigId for transactionlogserver +tlsconfigid string default="" restart + +## Slobrok configid +slobrokconfigid string default="" restart + +## Routing configid +routingconfigid string default="" restart + +## filedistributor rpc configuration +filedistributor.configid reference default="" restart + +## Interval between pruning of old removed documents. +## +## If set to 0 (default) the value is calculated as (pruneremoveddocumentsage / 100) (default 3.36 hours). +pruneremoveddocumentsinterval double default=0.0 + +## Age of removed document before it can be pruned. +## +## Default value is 2 weeks (1209600 seconds). +pruneremoveddocumentsage double default=1209600.0 + +## Minimum size of packets to compress (0 means no compression) +## +packetcompresslimit int default=1024 + +## Compression level for packets +## +## Default value is 3 +packetcompresslevel int default=3 + +## Compression type for packets +## +## Default is LZ4 +packetcompresstype enum {NONE, LZ4} default=LZ4 + +## Interval between considering if lid space compaction should be done (in seconds). +## +## Default value is 10 seconds. +lidspacecompaction.interval double default=10.0 + +## The allowed lid bloat (in docs) before considering lid space compaction. +## +## When considering compaction the lid bloat is calculated as (docIdLimit - numDocs). +## The lid bloat must be >= allowedlidbloat before considering compaction. +lidspacecompaction.allowedlidbloat int default=1000 + +## The allowed lid bloat factor (relative) before considering lid space compaction. +## +## When considering compaction the lid bloat factor is calculated as (docIdLimit - numDocs)/docIdLimit. +## The lid bloat factor must be >= allowedlidbloatfactor before considering compaction. +lidspacecompaction.allowedlidbloatfactor double default=0.01 + +## DEPRECATED (no longer used): Remove on Vespa 8 +## The delay (in seconds) for when the last remove batch operation would be considered to block lid space compaction. +## +## When considering compaction, if the document meta store has received a remove batch operation in the last delay seconds, +## the lid space compaction job is blocked. It is considered again at the next regular interval (see above). +## +## Remove batch operations are used when deleting buckets on a content node. +## This functionality ensures that during massive deleting of buckets (e.g. as part of redistribution of data to a new node), +## lid space compaction do not interfere, but instead is applied after deleting of buckets is complete. +lidspacecompaction.removebatchblockdelay double default=2.0 + +## The rate (ops / second) of remove batch operations for when to block lid space compaction. +## +## When considering compaction, if the current observed rate of remove batch operations +## is higher than the given block rate, the lid space compaction job is blocked. +## It is considered again at the next regular interval (see above). +## +## Remove batch operations are used when deleting buckets on a content node. +## This functionality ensures that during massive deleting of buckets (e.g. as part of redistribution of data to a new node), +## lid space compaction do not interfere, but instead is applied after deleting of buckets is complete. +lidspacecompaction.removebatchblockrate double default=0.5 + +## The rate (ops / second) of remove operations for when to block lid space compaction. +## +## When considering compaction, if the current observed rate of remove operations +## is higher than the given block rate, the lid space compaction job is blocked. +## It is considered again at the next regular interval (see above). +lidspacecompaction.removeblockrate double default=100.0 + +## This is the maximum value visibilitydelay you can have. +## A to higher value here will cost more memory while not improving too much. +maxvisibilitydelay double default=1.0 + +## You can set this to a number above zero for visit to shortcut expensive serialize size computation. +## This value will be provided instead. +## negative number will compute it accurately. +## This is only used for weakly consistent visiting, like streaming search. +visit.defaultserializedsize long default=1 + +## This will ignore the maxbytes limit advised from above. +## This is only used for weakly consistent visiting, like streaming search. +visit.ignoremaxbytes bool default=true + +## Number of initializer threads used for loading structures from disk at proton startup. +## The threads are shared between document databases when value is larger than 0. +## When set to 0 (default) we use 1 separate thread per document database. +initialize.threads int default = 0 + +## Portion of enumstore address space that can be used before put and update +## portion of feed is blocked. +writefilter.attribute.enumstorelimit double default = 0.9 + +## Portion of attribute multivalue mapping address space that can be used +## before put and update portion of feed is blocked. +writefilter.attribute.multivaluelimit double default = 0.9 + +## Portion of physical memory that can be resident memory in anonymous mapping +## by the proton process before put and update portion of feed is blocked. +writefilter.memorylimit double default = 0.8 + +## Portion of space on disk partition that can be used or reserved before +## put and update portion of feed is blocked. +writefilter.disklimit double default = 0.8 + +## Interval between sampling of disk and memory usage. Default is 10 seconds. +writefilter.sampleinterval double default = 10.0 + +## The size of the disk partition (in bytes) on which proton basedir is located. +## If set to 0, the disk size is sampled by looking at the filesystem space info. +## The disk size is used when determining if feed should be blocked in writefilter. +hwinfo.disk.size long default = 0 restart + +## Whether the disk partition is shared among several instances of proton (e.g. when using docker). +## If shared, disk usage is sampled by doing a recursive directory scan in proton basedir. +## If not, disk usage is sampled by looking at the filesystem space info. +hwinfo.disk.shared bool default = false restart + +## Override for disk write speed, measured in MiB/s. When zero, the +## actual disk write speed is sampled by writing data to a temporary file. +hwinfo.disk.writespeed double default = 200.0 restart + +## Amount of data to write to temporary file when sampling disk write speed. +## Default is 1 GiB. +hwinfo.disk.samplewritesize long default = 1073741824 restart + +## Minimum write speed needed to avoid disk being considered slow. +## Unit is MiB/s, default is 100.0 MiB/s. +hwinfo.disk.slowwritespeedlimit double default = 100.0 restart + +## The size of physical memory (in bytes) available to proton. +## If set to 0, the memory size is sampled as _SC_PHYS_PAGES * _SC_PAGESIZE by using sysconf to do the lookup. +## The memory size is used when determining if feed should be blocked in writefilter. +hwinfo.memory.size long default = 0 restart + +## The number of cores on the cpu. +## If set to 0, this is sampled by using std::thread::hardware_concurrency(). +hwinfo.cpu.cores int default = 0 restart + +## A number between 0.0 and 1.0 that specifies the concurrency when handling feed operations. +## When set to 1.0 all cores on the cpu is utilized. +## +## 4 thread pools used for various aspect of feeding are configured based on this setting: +## 1) Compressing and compacting documents +## 2) Writing changes to attribute fields +## 3) Inverting index fields +## 4) Writing changes to index fields +## +## The number of threads in pool 1 is calculated as: +## max(ceil(hwinfo.cpu.cores * feeding.concurrency), summary.log.numthreads) +## The number of threads in each of pools 2-4 is calculated as: +## max(ceil((hwinfo.cpu.cores * feeding.concurrency)/3), indexing.threads) +## Deprecated -> Use documentdb.feeding.concurrency +feeding.concurrency double default = 0.2 restart + +## Adjustment to resource limit when determining if maintenance jobs can run. +## +## Currently used by 'lid_space_compaction' and 'move_buckets' jobs. +maintenancejobs.resourcelimitfactor double default = 1.05 + +## The max outstanding move operations a maintenance job can have before being blocked. +## +## The job is unblocked (and executed again) when this goes under the limit again. +## Currently used by 'lid_space_compaction' job. +maintenancejobs.maxoutstandingmoveops int default=10 + +## Controls the type of bucket checksum used. Do not change unless +## in depth understanding is present. +bucketdb.checksumtype enum {LEGACY, XXHASH64} default = LEGACY restart diff --git a/searchcore/src/vespa/searchcore/config/vespa.config.search.core.ranking-constants.def b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.ranking-constants.def new file mode 100644 index 00000000000..3b55eda3308 --- /dev/null +++ b/searchcore/src/vespa/searchcore/config/vespa.config.search.core.ranking-constants.def @@ -0,0 +1,6 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.core + +constant[].name string +constant[].fileref file +constant[].type string diff --git a/searchlib/src/vespa/searchlib/config/CMakeLists.txt b/searchlib/src/vespa/searchlib/config/CMakeLists.txt index 571cd3ad9f1..5b9aa96f80d 100644 --- a/searchlib/src/vespa/searchlib/config/CMakeLists.txt +++ b/searchlib/src/vespa/searchlib/config/CMakeLists.txt @@ -3,5 +3,6 @@ vespa_add_library(searchlib_sconfig OBJECT SOURCES DEPENDS ) -vespa_generate_config(searchlib_sconfig translogserver.def) -install_config_definition(translogserver.def searchlib.translogserver.def) +vespa_generate_config(searchlib_sconfig searchlib.translogserver.def) + +install_config_definitions(src/vespa/searchlib/config) diff --git a/searchlib/src/vespa/searchlib/config/searchlib.translogserver.def b/searchlib/src/vespa/searchlib/config/searchlib.translogserver.def new file mode 100644 index 00000000000..f822fc80fc1 --- /dev/null +++ b/searchlib/src/vespa/searchlib/config/searchlib.translogserver.def @@ -0,0 +1,38 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=searchlib + +## Port number to use for listening. +listenport int default=13700 restart + +## Max file size (50M) +filesizemax int default=50000000 + +## Server name to identify server. +servername string default="tls" restart + +## Base directory. The default is not used as it is decided by the model. +basedir string default="tmp" restart + +## Use fsync after each commit. +## If not the below interval is used. +usefsync bool default=false restart + +##Number of threads available for visiting/subscription. +maxthreads int default=4 restart + +##Default crc method used +crcmethod enum {ccitt_crc32, xxh64} default=xxh64 + +## Control compression type. +compression.type enum {NONE, NONE_MULTI, LZ4, ZSTD} default=LZ4 + +## Control compression level +## LZ4 has normal range 1..9 while ZSTD has range 1..19 +## 9 is a reasonable default for both +compression.level int default=9 + +## How large a chunk can grow in memory before beeing flushed +chunk.sizelimit int default = 256000 # 256k + +## How long a chunk can reside in memory befor ebeeing flushed to disk. +chunk.agelimit double default = 0.010 # 10 milliseconds diff --git a/searchlib/src/vespa/searchlib/config/translogserver.def b/searchlib/src/vespa/searchlib/config/translogserver.def deleted file mode 100644 index f822fc80fc1..00000000000 --- a/searchlib/src/vespa/searchlib/config/translogserver.def +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=searchlib - -## Port number to use for listening. -listenport int default=13700 restart - -## Max file size (50M) -filesizemax int default=50000000 - -## Server name to identify server. -servername string default="tls" restart - -## Base directory. The default is not used as it is decided by the model. -basedir string default="tmp" restart - -## Use fsync after each commit. -## If not the below interval is used. -usefsync bool default=false restart - -##Number of threads available for visiting/subscription. -maxthreads int default=4 restart - -##Default crc method used -crcmethod enum {ccitt_crc32, xxh64} default=xxh64 - -## Control compression type. -compression.type enum {NONE, NONE_MULTI, LZ4, ZSTD} default=LZ4 - -## Control compression level -## LZ4 has normal range 1..9 while ZSTD has range 1..19 -## 9 is a reasonable default for both -compression.level int default=9 - -## How large a chunk can grow in memory before beeing flushed -chunk.sizelimit int default = 256000 # 256k - -## How long a chunk can reside in memory befor ebeeing flushed to disk. -chunk.agelimit double default = 0.010 # 10 milliseconds diff --git a/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt b/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt index a01938d8ad4..da94757e239 100644 --- a/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt +++ b/searchsummary/src/vespa/searchsummary/config/CMakeLists.txt @@ -3,5 +3,6 @@ vespa_add_library(searchsummary_config OBJECT SOURCES DEPENDS ) -vespa_generate_config(searchsummary_config juniperrc.def) -install_config_definition(juniperrc.def vespa.config.search.summary.juniperrc.def) +vespa_generate_config(searchsummary_config vespa.config.search.summary.juniperrc.def) + +install_config_definitions(src/vespa/searchsummary/config) diff --git a/searchsummary/src/vespa/searchsummary/config/juniperrc.def b/searchsummary/src/vespa/searchsummary/config/juniperrc.def deleted file mode 100644 index 52f8104aa46..00000000000 --- a/searchsummary/src/vespa/searchsummary/config/juniperrc.def +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.summary - -## Set the length (in #characters) of the dynamically generated -## summaries. This is a hint to the module that generates the -## dynamic summary - the actual size will depend on the available text -## and the query. You may find that you need to set this length -## substantially longer than your actual desired average length - -## setting this about twice as long is often appropriate. -length int default=256 - -## The number of (possibly partial) set of keywords -## matching the query, to attempt to include in the summary. The larger this -## value compared is set relative to the length parameter, the more -## dense the keywords may appear in the summary. -max_matches int default=3 - -## Minimal desired length of the generated summary in -## bytes. This is the shortest summary length for which the number of -## matches will be respected. Eg. if -## a summary appear to become shorter than min_length bytes with -## max_matches matches, then additional matches will be used if available. -min_length int default=128 - -## Make sure the prefix (length controlled by 'juniper.dynsum.length') -## of all fields with summary: dynamic are returned in the dynamic -## summary if a query does not hit in those fields -prefix bool default=true - -## The maximal number of bytes of context to prepend and append to -## each of the selected query keyword hits. This parameter defines the -## max size a summary would become if there are few keyword hits -## (max_matches set low or document contained few matches of the keywords). -surround_max int default=128 - -## The size of the sliding window used to determine if -## multiple query terms occur together. The larger the value, the more -## likely the system will find (and present in dynamic summary) complete -## matches containing all the search terms. The downside is a potential -## performance overhead of keeping candidates for matches longer during -## matching, and consequently updating more candidates that eventually -## gets thrown. -winsize int default=200 - -## This value multiplied with the winsize gives the size of a fallback -## window used to break out when searching for phrase term matches. -winsize_fallback_multiplier double default=10.0 - -## This value specifies the maximum number of match candidates that are -## managed for a non-leaf query node when matching the query against the -## input text. -max_match_candidates int default=1000 - -## The minimal number of bytes in a query keyword for -## it to be subject to the simple Juniper stemming algorithm. Keywords -## that are shorter than or equal to this limit will only yield exact -## matches in the dynamic summaries. -stem_min_length int default=5 - -## The maximal number of bytes that a word in the document -## can be longer than the keyword itself to yield a match. Eg. for -## the default values, if the keyword is 7 bytes long, it will match any -## word with length less than or equal to 10 for which the keyword is a prefix. -stem_max_extend int default=3 - - -## The parameters above may also be overriden on a per-field basis -## using the following array. -override[].fieldname string -override[].length int default=256 -override[].max_matches int default=3 -override[].min_length int default=128 -override[].prefix bool default=true -override[].surround_max int default=128 -override[].winsize int default=200 -override[].winsize_fallback_multiplier double default=10.0 -override[].max_match_candidates int default=1000 -override[].stem_min_length int default=5 -override[].stem_max_extend int default=3 diff --git a/searchsummary/src/vespa/searchsummary/config/vespa.config.search.summary.juniperrc.def b/searchsummary/src/vespa/searchsummary/config/vespa.config.search.summary.juniperrc.def new file mode 100644 index 00000000000..52f8104aa46 --- /dev/null +++ b/searchsummary/src/vespa/searchsummary/config/vespa.config.search.summary.juniperrc.def @@ -0,0 +1,79 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.summary + +## Set the length (in #characters) of the dynamically generated +## summaries. This is a hint to the module that generates the +## dynamic summary - the actual size will depend on the available text +## and the query. You may find that you need to set this length +## substantially longer than your actual desired average length - +## setting this about twice as long is often appropriate. +length int default=256 + +## The number of (possibly partial) set of keywords +## matching the query, to attempt to include in the summary. The larger this +## value compared is set relative to the length parameter, the more +## dense the keywords may appear in the summary. +max_matches int default=3 + +## Minimal desired length of the generated summary in +## bytes. This is the shortest summary length for which the number of +## matches will be respected. Eg. if +## a summary appear to become shorter than min_length bytes with +## max_matches matches, then additional matches will be used if available. +min_length int default=128 + +## Make sure the prefix (length controlled by 'juniper.dynsum.length') +## of all fields with summary: dynamic are returned in the dynamic +## summary if a query does not hit in those fields +prefix bool default=true + +## The maximal number of bytes of context to prepend and append to +## each of the selected query keyword hits. This parameter defines the +## max size a summary would become if there are few keyword hits +## (max_matches set low or document contained few matches of the keywords). +surround_max int default=128 + +## The size of the sliding window used to determine if +## multiple query terms occur together. The larger the value, the more +## likely the system will find (and present in dynamic summary) complete +## matches containing all the search terms. The downside is a potential +## performance overhead of keeping candidates for matches longer during +## matching, and consequently updating more candidates that eventually +## gets thrown. +winsize int default=200 + +## This value multiplied with the winsize gives the size of a fallback +## window used to break out when searching for phrase term matches. +winsize_fallback_multiplier double default=10.0 + +## This value specifies the maximum number of match candidates that are +## managed for a non-leaf query node when matching the query against the +## input text. +max_match_candidates int default=1000 + +## The minimal number of bytes in a query keyword for +## it to be subject to the simple Juniper stemming algorithm. Keywords +## that are shorter than or equal to this limit will only yield exact +## matches in the dynamic summaries. +stem_min_length int default=5 + +## The maximal number of bytes that a word in the document +## can be longer than the keyword itself to yield a match. Eg. for +## the default values, if the keyword is 7 bytes long, it will match any +## word with length less than or equal to 10 for which the keyword is a prefix. +stem_max_extend int default=3 + + +## The parameters above may also be overriden on a per-field basis +## using the following array. +override[].fieldname string +override[].length int default=256 +override[].max_matches int default=3 +override[].min_length int default=128 +override[].prefix bool default=true +override[].surround_max int default=128 +override[].winsize int default=200 +override[].winsize_fallback_multiplier double default=10.0 +override[].max_match_candidates int default=1000 +override[].stem_min_length int default=5 +override[].stem_max_extend int default=3 diff --git a/simplemetrics/CMakeLists.txt b/simplemetrics/CMakeLists.txt index c145fbb2ec7..f593afbfa0c 100644 --- a/simplemetrics/CMakeLists.txt +++ b/simplemetrics/CMakeLists.txt @@ -1,4 +1,4 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_fat_java_artifact(simplemetrics) -install_config_definition(src/main/resources/configdefinitions/manager.def metrics.manager.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/simplemetrics/src/main/resources/configdefinitions/manager.def b/simplemetrics/src/main/resources/configdefinitions/manager.def deleted file mode 100644 index 6446e0df8b6..00000000000 --- a/simplemetrics/src/main/resources/configdefinitions/manager.def +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=metrics - -reportPeriodSeconds int default=60 -pointsToKeepPerMetric int default=100 diff --git a/simplemetrics/src/main/resources/configdefinitions/metrics.manager.def b/simplemetrics/src/main/resources/configdefinitions/metrics.manager.def new file mode 100644 index 00000000000..6446e0df8b6 --- /dev/null +++ b/simplemetrics/src/main/resources/configdefinitions/metrics.manager.def @@ -0,0 +1,5 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=metrics + +reportPeriodSeconds int default=60 +pointsToKeepPerMetric int default=100 diff --git a/statistics/CMakeLists.txt b/statistics/CMakeLists.txt index 3b187b72d6e..14909bc4ca1 100644 --- a/statistics/CMakeLists.txt +++ b/statistics/CMakeLists.txt @@ -1,2 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/statistics.def container.statistics.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/statistics/src/main/resources/configdefinitions/container.statistics.def b/statistics/src/main/resources/configdefinitions/container.statistics.def new file mode 100644 index 00000000000..92da7704714 --- /dev/null +++ b/statistics/src/main/resources/configdefinitions/container.statistics.def @@ -0,0 +1,22 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=container + +## Interval between internal sample points measured in seconds +collectionintervalsec double default=300.0 + +## Interval between each dump to log measured in seconds +loggingintervalsec double default=300.0 + +## Configuration for measured values +values[].name string + +## An array of what operations should be performed on gathered data +values[].operations[].name enum { RAW, MEAN, MIN, MAX, REGULAR, CUMULATIVE, REVERSE_CUMULATIVE, SUM, INSERTIONS } default=RAW + +## Arguments for the operations, typically limits for arrays. +values[].operations[].arguments[].key string +values[].operations[].arguments[].value string + +## The counters which should be reset between each collection interval, +## and therefore be logged as values. +counterresets[].name string diff --git a/statistics/src/main/resources/configdefinitions/statistics.def b/statistics/src/main/resources/configdefinitions/statistics.def deleted file mode 100644 index 92da7704714..00000000000 --- a/statistics/src/main/resources/configdefinitions/statistics.def +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=container - -## Interval between internal sample points measured in seconds -collectionintervalsec double default=300.0 - -## Interval between each dump to log measured in seconds -loggingintervalsec double default=300.0 - -## Configuration for measured values -values[].name string - -## An array of what operations should be performed on gathered data -values[].operations[].name enum { RAW, MEAN, MIN, MAX, REGULAR, CUMULATIVE, REVERSE_CUMULATIVE, SUM, INSERTIONS } default=RAW - -## Arguments for the operations, typically limits for arrays. -values[].operations[].arguments[].key string -values[].operations[].arguments[].value string - -## The counters which should be reset between each collection interval, -## and therefore be logged as values. -counterresets[].name string diff --git a/storage/src/vespa/storage/bucketdb/CMakeLists.txt b/storage/src/vespa/storage/bucketdb/CMakeLists.txt index 048cc25ec95..22d43eb494e 100644 --- a/storage/src/vespa/storage/bucketdb/CMakeLists.txt +++ b/storage/src/vespa/storage/bucketdb/CMakeLists.txt @@ -15,7 +15,7 @@ vespa_add_library(storage_bucketdb OBJECT storbucketdb.cpp DEPENDS ) -vespa_generate_config(storage_bucketdb stor-bucketdb.def) -install_config_definition(stor-bucketdb.def vespa.config.content.core.stor-bucketdb.def) -vespa_generate_config(storage_bucketdb stor-bucket-init.def) -install_config_definition(stor-bucket-init.def vespa.config.content.core.stor-bucket-init.def) +vespa_generate_config(storage_bucketdb vespa.config.content.core.stor-bucketdb.def) +vespa_generate_config(storage_bucketdb vespa.config.content.core.stor-bucket-init.def) + +install_config_definitions(src/vespa/storage/bucketdb) diff --git a/storage/src/vespa/storage/bucketdb/stor-bucket-init.def b/storage/src/vespa/storage/bucketdb/stor-bucket-init.def deleted file mode 100644 index 3517afabd44..00000000000 --- a/storage/src/vespa/storage/bucketdb/stor-bucket-init.def +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -# The maximum number of alien files found during init that should be stored in -# memory so they can be viewed on status page. -max_alien_files_logged int default=10 restart - -# The maximum number of pending info reads to each disk during initialization. -max_pending_info_reads_per_disk int default=20 restart - -# The minimum number of pending info reads to each disk during initialization. -# When pending falls below this, we will resume database scan to add more -# pending up to the maximum setting. -min_pending_info_reads_per_disk int default=4 restart - -# The priority of the read bucket info requests the initializer sends to the -# persistence layer. Currently chosen so that such operations will not pre- -# empt any regular external load or ideal state operations, but they will block -# very low priority background operations such as periodic GC (default pri of -# 200). A tradeoff must be made between fast initialization and the availability -# of data on the initializing node. -info_read_priority int default=185 restart - -# The priority of the list bucket requests the initializer sends to the -# persistence layer. Should always be lower than the read priority to ensure -# starting to read wont make listing wait. However, listing is currently pretty -# much required to be done before starting anyhow, so this option does little -# unless your directories are not hardware independent. -list_priority int default=100 restart - -# Whether the initializer should complete listing before starting to read -# bucket information. Shouldnt matter much performance wise so always set to -# true as it is now. Setting it false, disks done listing first will start -# to process info requests a bit earlier than otherwise. -complete_list_before_starting_read bool default=false restart diff --git a/storage/src/vespa/storage/bucketdb/stor-bucketdb.def b/storage/src/vespa/storage/bucketdb/stor-bucketdb.def deleted file mode 100644 index 470dd3afbf0..00000000000 --- a/storage/src/vespa/storage/bucketdb/stor-bucketdb.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Number of elements to retrieve in one bucket info chunk -bucketinfobatchsize int default=128 restart - -## Chunk level. Set what level of the path which defines one chunk. -## (See doxygen info in bucketmanager.h for more info) -chunklevel int default=1 restart diff --git a/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucket-init.def b/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucket-init.def new file mode 100644 index 00000000000..3517afabd44 --- /dev/null +++ b/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucket-init.def @@ -0,0 +1,35 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +# The maximum number of alien files found during init that should be stored in +# memory so they can be viewed on status page. +max_alien_files_logged int default=10 restart + +# The maximum number of pending info reads to each disk during initialization. +max_pending_info_reads_per_disk int default=20 restart + +# The minimum number of pending info reads to each disk during initialization. +# When pending falls below this, we will resume database scan to add more +# pending up to the maximum setting. +min_pending_info_reads_per_disk int default=4 restart + +# The priority of the read bucket info requests the initializer sends to the +# persistence layer. Currently chosen so that such operations will not pre- +# empt any regular external load or ideal state operations, but they will block +# very low priority background operations such as periodic GC (default pri of +# 200). A tradeoff must be made between fast initialization and the availability +# of data on the initializing node. +info_read_priority int default=185 restart + +# The priority of the list bucket requests the initializer sends to the +# persistence layer. Should always be lower than the read priority to ensure +# starting to read wont make listing wait. However, listing is currently pretty +# much required to be done before starting anyhow, so this option does little +# unless your directories are not hardware independent. +list_priority int default=100 restart + +# Whether the initializer should complete listing before starting to read +# bucket information. Shouldnt matter much performance wise so always set to +# true as it is now. Setting it false, disks done listing first will start +# to process info requests a bit earlier than otherwise. +complete_list_before_starting_read bool default=false restart diff --git a/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucketdb.def b/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucketdb.def new file mode 100644 index 00000000000..470dd3afbf0 --- /dev/null +++ b/storage/src/vespa/storage/bucketdb/vespa.config.content.core.stor-bucketdb.def @@ -0,0 +1,9 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Number of elements to retrieve in one bucket info chunk +bucketinfobatchsize int default=128 restart + +## Chunk level. Set what level of the path which defines one chunk. +## (See doxygen info in bucketmanager.h for more info) +chunklevel int default=1 restart diff --git a/storage/src/vespa/storage/config/CMakeLists.txt b/storage/src/vespa/storage/config/CMakeLists.txt index 4a20d510043..5382048ece7 100644 --- a/storage/src/vespa/storage/config/CMakeLists.txt +++ b/storage/src/vespa/storage/config/CMakeLists.txt @@ -4,27 +4,17 @@ vespa_add_library(storage_storageconfig OBJECT distributorconfiguration.cpp DEPENDS ) -vespa_generate_config(storage_storageconfig stor-communicationmanager.def) -install_config_definition(stor-communicationmanager.def vespa.config.content.core.stor-communicationmanager.def) -vespa_generate_config(storage_storageconfig stor-distributormanager.def) -install_config_definition(stor-distributormanager.def vespa.config.content.core.stor-distributormanager.def) -vespa_generate_config(storage_storageconfig stor-server.def) -install_config_definition(stor-server.def vespa.config.content.core.stor-server.def) -vespa_generate_config(storage_storageconfig stor-status.def) -install_config_definition(stor-status.def vespa.config.content.core.stor-status.def) -vespa_generate_config(storage_storageconfig stor-messageforwarder.def) -install_config_definition(stor-messageforwarder.def vespa.config.content.core.stor-messageforwarder.def) -vespa_generate_config(storage_storageconfig stor-opslogger.def) -install_config_definition(stor-opslogger.def vespa.config.content.core.stor-opslogger.def) -vespa_generate_config(storage_storageconfig stor-visitordispatcher.def) -install_config_definition(stor-visitordispatcher.def vespa.config.content.core.stor-visitordispatcher.def) -vespa_generate_config(storage_storageconfig stor-integritychecker.def) -install_config_definition(stor-integritychecker.def vespa.config.content.core.stor-integritychecker.def) -vespa_generate_config(storage_storageconfig stor-bucketmover.def) -install_config_definition(stor-bucketmover.def vespa.config.content.core.stor-bucketmover.def) -vespa_generate_config(storage_storageconfig stor-bouncer.def) -install_config_definition(stor-bouncer.def vespa.config.content.core.stor-bouncer.def) -vespa_generate_config(storage_storageconfig stor-prioritymapping.def) -install_config_definition(stor-prioritymapping.def vespa.config.content.core.stor-prioritymapping.def) -vespa_generate_config(storage_storageconfig rpc-provider.def) -install_config_definition(rpc-provider.def vespa.config.content.core.rpc-provider.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-communicationmanager.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-distributormanager.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-server.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-status.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-messageforwarder.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-opslogger.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-visitordispatcher.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-integritychecker.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-bucketmover.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-bouncer.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.stor-prioritymapping.def) +vespa_generate_config(storage_storageconfig vespa.config.content.core.rpc-provider.def) + +install_config_definitions(src/vespa/storage/config) diff --git a/storage/src/vespa/storage/config/rpc-provider.def b/storage/src/vespa/storage/config/rpc-provider.def deleted file mode 100644 index f54b0e00fe4..00000000000 --- a/storage/src/vespa/storage/config/rpc-provider.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -connectspec string default="tcp/localhost:17777" restart diff --git a/storage/src/vespa/storage/config/stor-bouncer.def b/storage/src/vespa/storage/config/stor-bouncer.def deleted file mode 100644 index 6af5ee078e9..00000000000 --- a/storage/src/vespa/storage/config/stor-bouncer.def +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Whether or not the bouncer should stop external load from -## entering node when the cluster state is down. -stop_external_load_when_cluster_down bool default=true - -## Sets what node states the node will allow incoming commands -## in. -stop_all_load_when_nodestate_not_in string default="uri" - -## Sets whether to just use (self) reported node state or to use wanted state -## if wanted state is worse than the current reported state. -use_wanted_state_if_possible bool default=true - -## The maximum clock skew allowed in the system. Any messages received -## that have a timestamp longer in the future than this will be failed. -max_clock_skew_seconds int default=5 - -## If this config value is != -1, the node will reject any external feed -## operations with a priority lower than that specified here. Note that since -## we map priorities in such a way that 0 is the _highest_ priority and 255 the -## _lowest_ priority, for two operations A and B, if B has a lower priority -## than A it will have a higher priority _integer_ value. -## -## Only mutating external feed operations will be blocked. Read-only operations -## and internal operations are always let through. -## -## Default is -1 (i.e. rejection is disabled and load is allowed through) -feed_rejection_priority_threshold int default=-1 diff --git a/storage/src/vespa/storage/config/stor-bucketmover.def b/storage/src/vespa/storage/config/stor-bucketmover.def deleted file mode 100644 index 1fc200f83ca..00000000000 --- a/storage/src/vespa/storage/config/stor-bucketmover.def +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Minimum time between bucket database iterations in the bucket mover. The -## minumum time is used when disks starts to get pretty full and we have plenty -## stuff we can move. -## restart flag was added automatically and needs to be verified. -minimum_recheck_interval_in_seconds int default=60 restart - -## Maximum time between bucket database iterations in the bucket mover. The -## maximum time is used when disks have plenty free space, so moving data is -## not critical. -## restart flag was added automatically and needs to be verified. -maximum_recheck_interval_in_seconds int default=3600 restart - -## Number of buckets to cache at a time when reading the bucket database -## restart flag was added automatically and needs to be verified. -bucket_iteration_chunk int default=1000 restart - -## Maximum fill rate above average fill rate for a target disk to be eligible -## as a target for a bucket move operation. -## restart flag was added automatically and needs to be verified. -max_target_fill_rate_above_average double default=0.01 restart - -## Number of bucket mover runs to keep in history vector -## restart flag was added automatically and needs to be verified. -max_history_size int default=10 restart - -## Max concurrent pending bucket move operations scheduled in total. -## restart flag was added automatically and needs to be verified. -max_pending int default=5 restart - -## Operation delay. If set, the bucket mover will wait for this amount of -## milliseconds between each operation. Useful in testing to make move run go -## slow enough to view without that much data. -## restart flag was added automatically and needs to be verified. -operation_delay int default=0 restart diff --git a/storage/src/vespa/storage/config/stor-communicationmanager.def b/storage/src/vespa/storage/config/stor-communicationmanager.def deleted file mode 100644 index 3e4b1fd6515..00000000000 --- a/storage/src/vespa/storage/config/stor-communicationmanager.def +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -mbusport int default=-1 restart - -rpcport int default=6000 restart - -# Limits for max pending concurrent number of operations towards a node before -# MessageBus starts busy-bouncing messages. Distributor and content nodes are -# treated separately. 0 means no limit. -mbus_distributor_node_max_pending_count int default=5000 -mbus_content_node_max_pending_count int default=0 - -# Limits for max total amount of memory (in bytes) used by operations towards -# a node before MessageBus starts busy-bouncing messages. Distributor and -# content nodes are treated separately. 0 means no limit. -mbus_distributor_node_max_pending_size int default=0 -mbus_content_node_max_pending_size int default=0 - -# Minimum size of packets to compress (0 means no compression) -mbus.compress.limit int default=1024 - -## Compression level for packets -mbus.compress.level int default=3 - -## Compression type for packets. -mbus.compress.type enum {NONE, LZ4, ZSTD} default=LZ4 - -## TTL for rpc target cache -mbus.rpctargetcache.ttl double default = 600 - -## Number of threads for mbus threadpool -## Any value below 1 will be 1. -mbus.num_threads int default=4 - -mbus.optimize_for enum {LATENCY, THROUGHPUT, ADAPTIVE} default = LATENCY - -## Enable to use above thread pool for encoding replies -## False will use network(fnet) thread -mbus.dispatch_on_encode bool default=true - -## Enable to use above thread pool for decoding replies -## False will use network(fnet) thread -## Todo: Change default once verified in large scale deployment. -mbus.dispatch_on_decode bool default=false - -## Skip messenger thread on reply -## Experimental -mbus.skip_reply_thread bool default=false - -## Skip messenger thread on reply -## Experimental -mbus.skip_request_thread bool default=false - -## Skip communication manager thread on mbus requests -## Experimental -skip_thread bool default=false diff --git a/storage/src/vespa/storage/config/stor-distributormanager.def b/storage/src/vespa/storage/config/stor-distributormanager.def deleted file mode 100644 index db2bfb61376..00000000000 --- a/storage/src/vespa/storage/config/stor-distributormanager.def +++ /dev/null @@ -1,246 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Maximum number of ideal state operations scheduled by a distributor. -maxpendingidealstateoperations int default=100 - -## The total size of unique documents in a bucket before we split it due to -## being too big. By default this is now 32 MB. -splitsize int default=33544432 - -## The maximum amount of entries in a file before we should attempt to split it. -## A meta data entry in a slotfile currently uses 40 bytes. It is probably -## good to have the split size, such that all meta data entries are normally -## read when you do the initial read. With the default of 1024, meta data will -## take up around 40 kB, and the default initial read is 64 kB, allowing the -## file to grow a bit above max and still all be read in initial read. -splitcount int default=1024 - -## The maximum size of unique documents that allows the system to reduce -## the number of split bits on the bucket, or join two buckets together. -## The size must be lower than this number, and the count must be lower than -## joincount. -joinsize int default=16000000 - -## The maximum number of unique documents that allows for joining (see -## joinsize). -joincount int default=512 - -## Minimum level of splitting for buckets -minsplitcount int default=16 - -## If non-empty, continuously delete all the documents matching this selection. -garbagecollection.selectiontoremove string default="" - -## The interval with which each bucket is purged using the selection above. -## If 0, no garbage collection is done. -garbagecollection.interval int default=0 - -## If false, dont do splits inline with feeding. -inlinebucketsplitting bool default=true - -## List of state checkers (ideal state generators) that should be ignored in the cluster. -## One or more of the following (case insensitive): -## -## SynchronizeAndMove -## DeleteExtraCopies -## JoinBuckets -## SplitBucket -## SplitInconsistentBuckets -## SetBucketState -## GarbageCollection -blockedstatecheckers[] string restart - -## Whether or not distributor should issue reverts when operations partially -## fail. -enable_revert bool default=true - -## Maximum nodes involved in a merge operation. Currently, this can not be more -## than 16 nodes due to protocol limitations. However, decreasing the max may -## be useful if 16 node merges ends up too expensive. -maximum_nodes_per_merge int default=16 - -## For internal in process debugging, it may be useful to not start the -## distributor thread to be able to call tick() manually and run single threaded -start_distributor_thread bool default=true restart - -## The number of ticks calls done before a wait is done. This can be -## set higher than 10 for the distributor to improve speed of bucket iterations -## while still keep CPU load low/moderate. -ticks_before_wait int default=10 - -## The sleep time between ticks if there are no more queued tasks. -ticks_wait_time_ms int default=1 - -## Max processing time used by deadlock detector. -max_process_time_ms int default=5000 - -## Allow overriding default priorities of certain maintenance operations. -## This is an advanced feature, do not touch this unless you have a very good -## reason to do so! Configuring these values wrongly may cause starvation of -## important operations, leading to unpredictable behavior and/or data loss. -## -## Merge used to move data to ideal location -priority_merge_move_to_ideal_node int default=165 - -## Merge for copies that have gotten out of sync with each other -priority_merge_out_of_sync_copies int default=120 - -## Merge for restoring redundancy of copies -priority_merge_too_few_copies int default=120 - -## Copy activation when there are no other active copies (likely causing -## lack of search coverage for that bucket) -priority_activate_no_existing_active int default=100 - -## Copy activation when there is already an active copy for the bucket. -priority_activate_with_existing_active int default=100 - -## Deletion of bucket copy. Cheap on VDS, not necessarily so on indexed search. -priority_delete_bucket_copy int default=100 - -## Joining caused by bucket siblings getting sufficiently small to fit into a -## single bucket. -priority_join_buckets int default=155 - -## Splitting caused by system increasing its minimum distribution bit count. -priority_split_distribution_bits int default=200 - -## Splitting due to bucket exceeding max document count or byte size (see -## splitcount and splitsize config values) -priority_split_large_bucket int default=175 - -## Splitting due to buckets being inconsistently split. Should be higher -## priority than the vast majority of external load. -priority_split_inconsistent_bucket int default=110 - -## Background garbage collection. Should be lower priority than external load -## and other ideal state operations (aside from perhaps minimum bit splitting). -priority_garbage_collection int default=200 - -## The distributor can send joins that "lift" a bucket without any siblings -## higher up in the bucket tree hierarchy. The assumption is that if this -## is done for all sibling-less buckets, they will all eventually reach a -## level in the tree where they do in fact have a sibling and may (if their -## sizes allow) be joined into a single bucket. -enable_join_for_sibling_less_buckets bool default=false - -## There exists a distribution edge case where bucket siblings end up having -## non-equal ideal locations. This will normally inhibit join operations, as -## these are only allowed when all nodes have all source buckets involved in -## the join operation. Setting this property to true means such buckets may -## still be joined at the cost of transient inconsistencies for the buckets -## being joined into. -enable_inconsistent_join bool default=false - -## The distributor host info reporter may be disabled entirely, in which case -## no per-node statistics for merges, latencies or bucket replication factors -## will be reported back to the cluster controller. Disabling this may make -## sense in large clusters that do not make use of these reports directly or -## indirectly, as it causes potentially significant processing overhead on the -## cluster controller. -## This host reporter must never be disabled on a Hosted Vespa system, or -## automatic upgrades will stall. -enable_host_info_reporting bool default=true - -## For each available node, the distributor will report back to the cluster -## controller a value which indicates the minimum replication factor for any -## bucket contained on said node. This config exposes a way to alter how this -## replication factor is computed. -## -## Valid enum values and their semantics: -## -## TRUSTED - only trusted replicas are counted. -## ANY - any replica present is counted. This may return an overly optimistic -## view of the system. E.g. if there are 3 replicas, 1 having 1000 docs -## and 2 having 1 doc, all being out of sync, counting with ANY will still -## treat this as a minimum replication factor of 3. Conversely, with -## TRUSTED such a bucket would most likely have a factor of 0 (or 1 iff -## the trusted status for the replica with 1000 docs is known). -minimum_replica_counting_mode enum { TRUSTED, ANY } default=TRUSTED - -## Bucket activation only makes sense for indexed search clusters, but Proton -## may also be run in store-only or streaming mode, in which case it does not -## actually require any activations. If the model infers that Proton is running -## in such a mode, activation will be explicitly disabled. -## -## Activation is always disabled entirely for clusters using VDS as their -## engine, regardless of the value of this setting. -disable_bucket_activation bool default=false - - -## Maximum clock skew across nodes in the cluster, in whole seconds. -## Used to prevent timestamp collisions during distributor bucket ownership -## transfers. -## Zero means this mechanism is disabled. -max_cluster_clock_skew_sec int default=1 - -## If set, a distributor will only allow one active operation per document ID -## for puts, updates and removes. This helps prevent issues caused by concurrent -## modifications to documents when sent from multiple feed clients. -sequence_mutating_operations bool default=true - -## Number of seconds that scheduling of new merge operations should be inhibited -## towards a node if it has indicated that its merge queues are full or it is -## suffering from resource exhaustion. -inhibit_merge_sending_on_busy_node_duration_sec int default=10 - -## If set, enables potentially stale reads during cluster state transitions where -## buckets change ownership. This also implicitly enables support for two-phase -## cluster state transitions on the distributor. -## For this option to take effect, the cluster controller must also have two-phase -## states enabled. -allow_stale_reads_during_cluster_state_transitions bool default=false - -## If greater than zero, injects a thread sleep into certain parts of the bucket -## processing logic. This allows for easier testing of racing edge cases where the -## main distributor thread is CPU-blocked processing large amounts of buckets, but -## without actually needing to use a lot of buckets in the test itself. -## Setting any of these values only makes sense for testing! -simulated_db_pruning_latency_msec int default=0 -simulated_db_merging_latency_msec int default=0 - -## Whether to use a B-tree data structure for the distributor bucket database instead -## of the legacy database. Setting this option may trigger alternate code paths for -## read only operations, as the B-tree database is thread safe for concurrent reads. -use_btree_database bool default=true restart - -## If a bucket is inconsistent and an Update operation is received, a two-phase -## write-repair path is triggered in which a Get is sent to all diverging replicas. -## Once received, the update is applied on the distributor and pushed out to the -## content nodes as Puts. -## Iff this config is set to true AND all Gets return the same timestamp from all -## content nodes, the two-phase update path reverts back to the regular fast path. -## Since all replicas of the document were in sync, applying the update in-place -## shall be considered safe. -restart_with_fast_update_path_if_all_get_timestamps_are_consistent bool default=false - -## If set, no merge operations may be generated for any reason by a distributor. -## This is ONLY intended for system testing of certain transient edge cases and -## MUST NOT be set to true in a production environment. -merge_operations_disabled bool default=false - -## If set, Get operations that are initiated by the client (i.e. _not_ Get operations -## that are initiated by the distributor) will be forwarded to the backend with -## a flag signalling that weak read consistency may be used. This allows the -## backend to minimize internal locking. The downside is that it's not guaranteed -## to observe the most recent writes to the document, nor to observe an atomically -## consistent view of fields across document versions. -## This is mostly useful in a system that is effectively read-only. -use_weak_internal_read_consistency_for_client_gets bool default=false - -## If true, adds an initial metadata-only fetch phase to updates that touch buckets -## with inconsistent replicas. Metadata timestamps are compared and a single full Get -## is sent _only_ to one node with the highest timestamp. Without a metadata phase, -## full gets would be sent to _all_ nodes. -## Setting this option to true always implicitly enables the fast update restart -## feature, so it's not required to set that config to true, nor will setting it -## to false actually disable the feature. -enable_metadata_only_fetch_phase_for_inconsistent_updates bool default=false - -## If a distributor main thread tick is constantly processing requests or responses -## originating from other nodes, setting this value above zero will prevent implicit -## maintenance scans from being done as part of the tick for up to N rounds of ticking. -## This is to reduce the amount of CPU spent on ideal state calculations and bucket DB -## accesses when the distributor is heavily loaded with feed operations. -max_consecutively_inhibited_maintenance_ticks int default=20 diff --git a/storage/src/vespa/storage/config/stor-integritychecker.def b/storage/src/vespa/storage/config/stor-integritychecker.def deleted file mode 100644 index 657537ac015..00000000000 --- a/storage/src/vespa/storage/config/stor-integritychecker.def +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Minutes after midnight when integrity checker is allowed to start running. -## 0 means it will start/continue run at midnight. -dailycyclestart int default=0 - -## Minutes after midnight when integrity checker is not allowed to run anymore. -## If this equals dailycyclestart it is allowed to run all day. dailycyclestop -## is allowed to be less than dailycyclestart. -dailycyclestop int default=0 - -## Status of what is allowed done on what weekdays. Should be a string with -## seven characters, where the first represent sunday, the seventh saturday. -## The possible options are RrCc- which means: -## R - If state becomes R, and current cycle does not verify file content, -## abort current cycle, otherwise continue it. Start new cycle verifying -## all content of all files. -## r - Continue current cycle. Start new cycle using cheap partial file -## verification. -## c - Continue current cycle. Dont start a new cycle. -weeklycycle string default="Rrrrrrr" - -## Max concurrent pending bucket verifications. For max speed, each disk thread -## should have one to work with all the time. Default is 1, to ensure little -## resources are consumed by this process by default. Once request priority -## has been introduced, this default may become higher. -maxpending int default=2 - -## Minimum time since last cycle before starting a new one in minutes. -## Defaults to 24 hours. -mincycletime int default=1440 - -## Minimum time in seconds between each request. To throttle the system even -## slower if continuous one pending puts on more load on the system than you -## want. Works with multiple pending messages, though it doesnt make much sense -## unless maxpending equals 1. -requestdelay int default=0 diff --git a/storage/src/vespa/storage/config/stor-messageforwarder.def b/storage/src/vespa/storage/config/stor-messageforwarder.def deleted file mode 100644 index 4a3f481e659..00000000000 --- a/storage/src/vespa/storage/config/stor-messageforwarder.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -route string default="" restart diff --git a/storage/src/vespa/storage/config/stor-opslogger.def b/storage/src/vespa/storage/config/stor-opslogger.def deleted file mode 100644 index 3ba2c621427..00000000000 --- a/storage/src/vespa/storage/config/stor-opslogger.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -targetfile string default="" restart diff --git a/storage/src/vespa/storage/config/stor-prioritymapping.def b/storage/src/vespa/storage/config/stor-prioritymapping.def deleted file mode 100644 index decf4c68ee2..00000000000 --- a/storage/src/vespa/storage/config/stor-prioritymapping.def +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -highest int default=50 -very_high int default=60 -high_1 int default=70 -high_2 int default=80 -high_3 int default=90 -normal_1 int default=100 -normal_2 int default=110 -normal_3 int default=120 -normal_4 int default=130 -normal_5 int default=140 -normal_6 int default=150 -low_1 int default=160 -low_2 int default=170 -low_3 int default=180 -very_low int default=190 -lowest int default=200 - diff --git a/storage/src/vespa/storage/config/stor-server.def b/storage/src/vespa/storage/config/stor-server.def deleted file mode 100644 index e1446aa8ed1..00000000000 --- a/storage/src/vespa/storage/config/stor-server.def +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Root directory for all files related to this storage node. -## Will typically be "$VESPA_HOME/var/db/vespa/vds/// -root_folder string restart - -## VDS cluster -cluster_name string default="storage" restart - -## The index of this node. Each node of the same type in the same cluster need -## to have unique indexes. This should not be changed, as this is what we use -## to identify the node, and to decide what data should be on it. -node_index int default=0 restart - -## Set whether this is a distributor or a storage node. This will decide what -## storage links are set up. -is_distributor bool restart - -## Capacity of the node. How much data and load this node will get relative to -## other nodes. -node_capacity double default=1.0 restart - -## Capacity of the disks on this node. How much data and load will each disk -## get relative to the other disks on this node. -disk_capacity[] double restart - -## Reliability of this node. How much of the cluster redundancy factor can this -## node make up for. -node_reliability int default=1 restart - -## The upper bound of merges that any storage node can have active. -## A merge operation will be chained through all nodes involved in the -## merge, only actually starting the operation when every node has -## allowed it to pass through. -max_merges_per_node int default=16 -max_merge_queue_size int default=1024 - -## If the persistence provider indicates that it has exhausted one or more -## of its internal resources during a mutating operation, new merges will -## be bounced for this duration. Not allowing further merges helps take -## load off the node while it e.g. compacts its data stores or memory in -## the background. -## Note: this does not affect merges where the current node is marked as -## "source only", as merges do not cause mutations on such nodes. -resource_exhaustion_merge_back_pressure_duration_secs double default=30.0 - -## Whether the deadlock detector should be enabled or not. If disabled, it will -## still run, but it will never actually abort the process it is running in. -enable_dead_lock_detector bool default=false restart - -## Whether to enable deadlock detector warnings in log or not. If enabled, -## warnings will be written even if dead lock detecting is not enabled. -enable_dead_lock_detector_warnings bool default=true restart - -## Each thread registers how often it will at minimum register ticks (given that -## the system is not overloaded. If you are running Vespa on overloaded nodes, -## you can use this slack timeout to add to the thread timeouts in order to -## allow for more slack before dead lock detector kicks in. The value is in seconds. -dead_lock_detector_timeout_slack double default=240 restart - -## If set to 0, storage will attempt to auto-detect the number of VDS mount -## points to use. If set to a number, force this number. This number only makes -## sense on a storage node of course -disk_count int default=0 restart - -## Configure persistence provider. Temporary here to test. -persistence_provider.type enum {STORAGE, DUMMY, RPC } default=STORAGE restart -persistence_provider.rpc.connectspec string default="tcp/localhost:27777" restart - -## Whether or not to use the new metadata flow implementation. Default to not -## as it is currently in development and not even functional -switch_new_meta_data_flow bool default=false restart - -## When the content layer receives a set of changed buckets from the persistence -## layer, it must recheck all of these. Each such recheck results in an -## operation scheduled against the persistence queust and since the total -## number of buckets to recheck may reach hundreds of thousands in a large -## system, we send these in chunks to avoid saturating the queues with -## operations. -bucket_rechecking_chunk_size int default=100 - -## If greater than zero, simulates added latency caused by CPU processing during -## full bucket info requests. The latency is added per batch of operations processed. -## Only useful for testing! -simulated_bucket_request_latency_msec int default=0 - -## If set, content node processes will use a B-tree backed bucket database implementation -## instead of the legacy Judy-based implementation. -use_content_node_btree_bucket_db bool default=false restart diff --git a/storage/src/vespa/storage/config/stor-status.def b/storage/src/vespa/storage/config/stor-status.def deleted file mode 100644 index 640a03299c2..00000000000 --- a/storage/src/vespa/storage/config/stor-status.def +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -httpport int default=0 restart diff --git a/storage/src/vespa/storage/config/stor-visitordispatcher.def b/storage/src/vespa/storage/config/stor-visitordispatcher.def deleted file mode 100644 index 2e418c97989..00000000000 --- a/storage/src/vespa/storage/config/stor-visitordispatcher.def +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -# For any given client visitor operation, this specifies a maximum fan-out -# factor for concurrent content node visitor operations towards a particular -# content node. -# Having several visitor operations running concurrently increases the -# potential data processing parallelism on the content nodes at the expense -# of using additional resources. -maxvisitorspernodeperclientvisitor int default=16 - -# Minimum number of buckets that have to be present on a given content node -# before more than one visitor operation may be sent in parallel towards it. -# This config is directly related to maxvisitorspernodeperclientvisitor. -# Example: with max visitors of 4, min buckets of 5 and total of 40 buckets on -# a content node, a total of 4 visitors of 10 buckets each will be sent to the -# node. If min buckets were 20, only 2 visitors of 20 buckets each would be -# sent. -minbucketspervisitor int default=1 diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.rpc-provider.def b/storage/src/vespa/storage/config/vespa.config.content.core.rpc-provider.def new file mode 100644 index 00000000000..f54b0e00fe4 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.rpc-provider.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +connectspec string default="tcp/localhost:17777" restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-bouncer.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-bouncer.def new file mode 100644 index 00000000000..6af5ee078e9 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-bouncer.def @@ -0,0 +1,30 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Whether or not the bouncer should stop external load from +## entering node when the cluster state is down. +stop_external_load_when_cluster_down bool default=true + +## Sets what node states the node will allow incoming commands +## in. +stop_all_load_when_nodestate_not_in string default="uri" + +## Sets whether to just use (self) reported node state or to use wanted state +## if wanted state is worse than the current reported state. +use_wanted_state_if_possible bool default=true + +## The maximum clock skew allowed in the system. Any messages received +## that have a timestamp longer in the future than this will be failed. +max_clock_skew_seconds int default=5 + +## If this config value is != -1, the node will reject any external feed +## operations with a priority lower than that specified here. Note that since +## we map priorities in such a way that 0 is the _highest_ priority and 255 the +## _lowest_ priority, for two operations A and B, if B has a lower priority +## than A it will have a higher priority _integer_ value. +## +## Only mutating external feed operations will be blocked. Read-only operations +## and internal operations are always let through. +## +## Default is -1 (i.e. rejection is disabled and load is allowed through) +feed_rejection_priority_threshold int default=-1 diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-bucketmover.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-bucketmover.def new file mode 100644 index 00000000000..1fc200f83ca --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-bucketmover.def @@ -0,0 +1,37 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Minimum time between bucket database iterations in the bucket mover. The +## minumum time is used when disks starts to get pretty full and we have plenty +## stuff we can move. +## restart flag was added automatically and needs to be verified. +minimum_recheck_interval_in_seconds int default=60 restart + +## Maximum time between bucket database iterations in the bucket mover. The +## maximum time is used when disks have plenty free space, so moving data is +## not critical. +## restart flag was added automatically and needs to be verified. +maximum_recheck_interval_in_seconds int default=3600 restart + +## Number of buckets to cache at a time when reading the bucket database +## restart flag was added automatically and needs to be verified. +bucket_iteration_chunk int default=1000 restart + +## Maximum fill rate above average fill rate for a target disk to be eligible +## as a target for a bucket move operation. +## restart flag was added automatically and needs to be verified. +max_target_fill_rate_above_average double default=0.01 restart + +## Number of bucket mover runs to keep in history vector +## restart flag was added automatically and needs to be verified. +max_history_size int default=10 restart + +## Max concurrent pending bucket move operations scheduled in total. +## restart flag was added automatically and needs to be verified. +max_pending int default=5 restart + +## Operation delay. If set, the bucket mover will wait for this amount of +## milliseconds between each operation. Useful in testing to make move run go +## slow enough to view without that much data. +## restart flag was added automatically and needs to be verified. +operation_delay int default=0 restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-communicationmanager.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-communicationmanager.def new file mode 100644 index 00000000000..3e4b1fd6515 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-communicationmanager.def @@ -0,0 +1,57 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +mbusport int default=-1 restart + +rpcport int default=6000 restart + +# Limits for max pending concurrent number of operations towards a node before +# MessageBus starts busy-bouncing messages. Distributor and content nodes are +# treated separately. 0 means no limit. +mbus_distributor_node_max_pending_count int default=5000 +mbus_content_node_max_pending_count int default=0 + +# Limits for max total amount of memory (in bytes) used by operations towards +# a node before MessageBus starts busy-bouncing messages. Distributor and +# content nodes are treated separately. 0 means no limit. +mbus_distributor_node_max_pending_size int default=0 +mbus_content_node_max_pending_size int default=0 + +# Minimum size of packets to compress (0 means no compression) +mbus.compress.limit int default=1024 + +## Compression level for packets +mbus.compress.level int default=3 + +## Compression type for packets. +mbus.compress.type enum {NONE, LZ4, ZSTD} default=LZ4 + +## TTL for rpc target cache +mbus.rpctargetcache.ttl double default = 600 + +## Number of threads for mbus threadpool +## Any value below 1 will be 1. +mbus.num_threads int default=4 + +mbus.optimize_for enum {LATENCY, THROUGHPUT, ADAPTIVE} default = LATENCY + +## Enable to use above thread pool for encoding replies +## False will use network(fnet) thread +mbus.dispatch_on_encode bool default=true + +## Enable to use above thread pool for decoding replies +## False will use network(fnet) thread +## Todo: Change default once verified in large scale deployment. +mbus.dispatch_on_decode bool default=false + +## Skip messenger thread on reply +## Experimental +mbus.skip_reply_thread bool default=false + +## Skip messenger thread on reply +## Experimental +mbus.skip_request_thread bool default=false + +## Skip communication manager thread on mbus requests +## Experimental +skip_thread bool default=false diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-distributormanager.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-distributormanager.def new file mode 100644 index 00000000000..db2bfb61376 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-distributormanager.def @@ -0,0 +1,246 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Maximum number of ideal state operations scheduled by a distributor. +maxpendingidealstateoperations int default=100 + +## The total size of unique documents in a bucket before we split it due to +## being too big. By default this is now 32 MB. +splitsize int default=33544432 + +## The maximum amount of entries in a file before we should attempt to split it. +## A meta data entry in a slotfile currently uses 40 bytes. It is probably +## good to have the split size, such that all meta data entries are normally +## read when you do the initial read. With the default of 1024, meta data will +## take up around 40 kB, and the default initial read is 64 kB, allowing the +## file to grow a bit above max and still all be read in initial read. +splitcount int default=1024 + +## The maximum size of unique documents that allows the system to reduce +## the number of split bits on the bucket, or join two buckets together. +## The size must be lower than this number, and the count must be lower than +## joincount. +joinsize int default=16000000 + +## The maximum number of unique documents that allows for joining (see +## joinsize). +joincount int default=512 + +## Minimum level of splitting for buckets +minsplitcount int default=16 + +## If non-empty, continuously delete all the documents matching this selection. +garbagecollection.selectiontoremove string default="" + +## The interval with which each bucket is purged using the selection above. +## If 0, no garbage collection is done. +garbagecollection.interval int default=0 + +## If false, dont do splits inline with feeding. +inlinebucketsplitting bool default=true + +## List of state checkers (ideal state generators) that should be ignored in the cluster. +## One or more of the following (case insensitive): +## +## SynchronizeAndMove +## DeleteExtraCopies +## JoinBuckets +## SplitBucket +## SplitInconsistentBuckets +## SetBucketState +## GarbageCollection +blockedstatecheckers[] string restart + +## Whether or not distributor should issue reverts when operations partially +## fail. +enable_revert bool default=true + +## Maximum nodes involved in a merge operation. Currently, this can not be more +## than 16 nodes due to protocol limitations. However, decreasing the max may +## be useful if 16 node merges ends up too expensive. +maximum_nodes_per_merge int default=16 + +## For internal in process debugging, it may be useful to not start the +## distributor thread to be able to call tick() manually and run single threaded +start_distributor_thread bool default=true restart + +## The number of ticks calls done before a wait is done. This can be +## set higher than 10 for the distributor to improve speed of bucket iterations +## while still keep CPU load low/moderate. +ticks_before_wait int default=10 + +## The sleep time between ticks if there are no more queued tasks. +ticks_wait_time_ms int default=1 + +## Max processing time used by deadlock detector. +max_process_time_ms int default=5000 + +## Allow overriding default priorities of certain maintenance operations. +## This is an advanced feature, do not touch this unless you have a very good +## reason to do so! Configuring these values wrongly may cause starvation of +## important operations, leading to unpredictable behavior and/or data loss. +## +## Merge used to move data to ideal location +priority_merge_move_to_ideal_node int default=165 + +## Merge for copies that have gotten out of sync with each other +priority_merge_out_of_sync_copies int default=120 + +## Merge for restoring redundancy of copies +priority_merge_too_few_copies int default=120 + +## Copy activation when there are no other active copies (likely causing +## lack of search coverage for that bucket) +priority_activate_no_existing_active int default=100 + +## Copy activation when there is already an active copy for the bucket. +priority_activate_with_existing_active int default=100 + +## Deletion of bucket copy. Cheap on VDS, not necessarily so on indexed search. +priority_delete_bucket_copy int default=100 + +## Joining caused by bucket siblings getting sufficiently small to fit into a +## single bucket. +priority_join_buckets int default=155 + +## Splitting caused by system increasing its minimum distribution bit count. +priority_split_distribution_bits int default=200 + +## Splitting due to bucket exceeding max document count or byte size (see +## splitcount and splitsize config values) +priority_split_large_bucket int default=175 + +## Splitting due to buckets being inconsistently split. Should be higher +## priority than the vast majority of external load. +priority_split_inconsistent_bucket int default=110 + +## Background garbage collection. Should be lower priority than external load +## and other ideal state operations (aside from perhaps minimum bit splitting). +priority_garbage_collection int default=200 + +## The distributor can send joins that "lift" a bucket without any siblings +## higher up in the bucket tree hierarchy. The assumption is that if this +## is done for all sibling-less buckets, they will all eventually reach a +## level in the tree where they do in fact have a sibling and may (if their +## sizes allow) be joined into a single bucket. +enable_join_for_sibling_less_buckets bool default=false + +## There exists a distribution edge case where bucket siblings end up having +## non-equal ideal locations. This will normally inhibit join operations, as +## these are only allowed when all nodes have all source buckets involved in +## the join operation. Setting this property to true means such buckets may +## still be joined at the cost of transient inconsistencies for the buckets +## being joined into. +enable_inconsistent_join bool default=false + +## The distributor host info reporter may be disabled entirely, in which case +## no per-node statistics for merges, latencies or bucket replication factors +## will be reported back to the cluster controller. Disabling this may make +## sense in large clusters that do not make use of these reports directly or +## indirectly, as it causes potentially significant processing overhead on the +## cluster controller. +## This host reporter must never be disabled on a Hosted Vespa system, or +## automatic upgrades will stall. +enable_host_info_reporting bool default=true + +## For each available node, the distributor will report back to the cluster +## controller a value which indicates the minimum replication factor for any +## bucket contained on said node. This config exposes a way to alter how this +## replication factor is computed. +## +## Valid enum values and their semantics: +## +## TRUSTED - only trusted replicas are counted. +## ANY - any replica present is counted. This may return an overly optimistic +## view of the system. E.g. if there are 3 replicas, 1 having 1000 docs +## and 2 having 1 doc, all being out of sync, counting with ANY will still +## treat this as a minimum replication factor of 3. Conversely, with +## TRUSTED such a bucket would most likely have a factor of 0 (or 1 iff +## the trusted status for the replica with 1000 docs is known). +minimum_replica_counting_mode enum { TRUSTED, ANY } default=TRUSTED + +## Bucket activation only makes sense for indexed search clusters, but Proton +## may also be run in store-only or streaming mode, in which case it does not +## actually require any activations. If the model infers that Proton is running +## in such a mode, activation will be explicitly disabled. +## +## Activation is always disabled entirely for clusters using VDS as their +## engine, regardless of the value of this setting. +disable_bucket_activation bool default=false + + +## Maximum clock skew across nodes in the cluster, in whole seconds. +## Used to prevent timestamp collisions during distributor bucket ownership +## transfers. +## Zero means this mechanism is disabled. +max_cluster_clock_skew_sec int default=1 + +## If set, a distributor will only allow one active operation per document ID +## for puts, updates and removes. This helps prevent issues caused by concurrent +## modifications to documents when sent from multiple feed clients. +sequence_mutating_operations bool default=true + +## Number of seconds that scheduling of new merge operations should be inhibited +## towards a node if it has indicated that its merge queues are full or it is +## suffering from resource exhaustion. +inhibit_merge_sending_on_busy_node_duration_sec int default=10 + +## If set, enables potentially stale reads during cluster state transitions where +## buckets change ownership. This also implicitly enables support for two-phase +## cluster state transitions on the distributor. +## For this option to take effect, the cluster controller must also have two-phase +## states enabled. +allow_stale_reads_during_cluster_state_transitions bool default=false + +## If greater than zero, injects a thread sleep into certain parts of the bucket +## processing logic. This allows for easier testing of racing edge cases where the +## main distributor thread is CPU-blocked processing large amounts of buckets, but +## without actually needing to use a lot of buckets in the test itself. +## Setting any of these values only makes sense for testing! +simulated_db_pruning_latency_msec int default=0 +simulated_db_merging_latency_msec int default=0 + +## Whether to use a B-tree data structure for the distributor bucket database instead +## of the legacy database. Setting this option may trigger alternate code paths for +## read only operations, as the B-tree database is thread safe for concurrent reads. +use_btree_database bool default=true restart + +## If a bucket is inconsistent and an Update operation is received, a two-phase +## write-repair path is triggered in which a Get is sent to all diverging replicas. +## Once received, the update is applied on the distributor and pushed out to the +## content nodes as Puts. +## Iff this config is set to true AND all Gets return the same timestamp from all +## content nodes, the two-phase update path reverts back to the regular fast path. +## Since all replicas of the document were in sync, applying the update in-place +## shall be considered safe. +restart_with_fast_update_path_if_all_get_timestamps_are_consistent bool default=false + +## If set, no merge operations may be generated for any reason by a distributor. +## This is ONLY intended for system testing of certain transient edge cases and +## MUST NOT be set to true in a production environment. +merge_operations_disabled bool default=false + +## If set, Get operations that are initiated by the client (i.e. _not_ Get operations +## that are initiated by the distributor) will be forwarded to the backend with +## a flag signalling that weak read consistency may be used. This allows the +## backend to minimize internal locking. The downside is that it's not guaranteed +## to observe the most recent writes to the document, nor to observe an atomically +## consistent view of fields across document versions. +## This is mostly useful in a system that is effectively read-only. +use_weak_internal_read_consistency_for_client_gets bool default=false + +## If true, adds an initial metadata-only fetch phase to updates that touch buckets +## with inconsistent replicas. Metadata timestamps are compared and a single full Get +## is sent _only_ to one node with the highest timestamp. Without a metadata phase, +## full gets would be sent to _all_ nodes. +## Setting this option to true always implicitly enables the fast update restart +## feature, so it's not required to set that config to true, nor will setting it +## to false actually disable the feature. +enable_metadata_only_fetch_phase_for_inconsistent_updates bool default=false + +## If a distributor main thread tick is constantly processing requests or responses +## originating from other nodes, setting this value above zero will prevent implicit +## maintenance scans from being done as part of the tick for up to N rounds of ticking. +## This is to reduce the amount of CPU spent on ideal state calculations and bucket DB +## accesses when the distributor is heavily loaded with feed operations. +max_consecutively_inhibited_maintenance_ticks int default=20 diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-integritychecker.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-integritychecker.def new file mode 100644 index 00000000000..657537ac015 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-integritychecker.def @@ -0,0 +1,38 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Minutes after midnight when integrity checker is allowed to start running. +## 0 means it will start/continue run at midnight. +dailycyclestart int default=0 + +## Minutes after midnight when integrity checker is not allowed to run anymore. +## If this equals dailycyclestart it is allowed to run all day. dailycyclestop +## is allowed to be less than dailycyclestart. +dailycyclestop int default=0 + +## Status of what is allowed done on what weekdays. Should be a string with +## seven characters, where the first represent sunday, the seventh saturday. +## The possible options are RrCc- which means: +## R - If state becomes R, and current cycle does not verify file content, +## abort current cycle, otherwise continue it. Start new cycle verifying +## all content of all files. +## r - Continue current cycle. Start new cycle using cheap partial file +## verification. +## c - Continue current cycle. Dont start a new cycle. +weeklycycle string default="Rrrrrrr" + +## Max concurrent pending bucket verifications. For max speed, each disk thread +## should have one to work with all the time. Default is 1, to ensure little +## resources are consumed by this process by default. Once request priority +## has been introduced, this default may become higher. +maxpending int default=2 + +## Minimum time since last cycle before starting a new one in minutes. +## Defaults to 24 hours. +mincycletime int default=1440 + +## Minimum time in seconds between each request. To throttle the system even +## slower if continuous one pending puts on more load on the system than you +## want. Works with multiple pending messages, though it doesnt make much sense +## unless maxpending equals 1. +requestdelay int default=0 diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-messageforwarder.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-messageforwarder.def new file mode 100644 index 00000000000..4a3f481e659 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-messageforwarder.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +route string default="" restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-opslogger.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-opslogger.def new file mode 100644 index 00000000000..3ba2c621427 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-opslogger.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +targetfile string default="" restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-prioritymapping.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-prioritymapping.def new file mode 100644 index 00000000000..decf4c68ee2 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-prioritymapping.def @@ -0,0 +1,20 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +highest int default=50 +very_high int default=60 +high_1 int default=70 +high_2 int default=80 +high_3 int default=90 +normal_1 int default=100 +normal_2 int default=110 +normal_3 int default=120 +normal_4 int default=130 +normal_5 int default=140 +normal_6 int default=150 +low_1 int default=160 +low_2 int default=170 +low_3 int default=180 +very_low int default=190 +lowest int default=200 + diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-server.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-server.def new file mode 100644 index 00000000000..e1446aa8ed1 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-server.def @@ -0,0 +1,90 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Root directory for all files related to this storage node. +## Will typically be "$VESPA_HOME/var/db/vespa/vds/// +root_folder string restart + +## VDS cluster +cluster_name string default="storage" restart + +## The index of this node. Each node of the same type in the same cluster need +## to have unique indexes. This should not be changed, as this is what we use +## to identify the node, and to decide what data should be on it. +node_index int default=0 restart + +## Set whether this is a distributor or a storage node. This will decide what +## storage links are set up. +is_distributor bool restart + +## Capacity of the node. How much data and load this node will get relative to +## other nodes. +node_capacity double default=1.0 restart + +## Capacity of the disks on this node. How much data and load will each disk +## get relative to the other disks on this node. +disk_capacity[] double restart + +## Reliability of this node. How much of the cluster redundancy factor can this +## node make up for. +node_reliability int default=1 restart + +## The upper bound of merges that any storage node can have active. +## A merge operation will be chained through all nodes involved in the +## merge, only actually starting the operation when every node has +## allowed it to pass through. +max_merges_per_node int default=16 +max_merge_queue_size int default=1024 + +## If the persistence provider indicates that it has exhausted one or more +## of its internal resources during a mutating operation, new merges will +## be bounced for this duration. Not allowing further merges helps take +## load off the node while it e.g. compacts its data stores or memory in +## the background. +## Note: this does not affect merges where the current node is marked as +## "source only", as merges do not cause mutations on such nodes. +resource_exhaustion_merge_back_pressure_duration_secs double default=30.0 + +## Whether the deadlock detector should be enabled or not. If disabled, it will +## still run, but it will never actually abort the process it is running in. +enable_dead_lock_detector bool default=false restart + +## Whether to enable deadlock detector warnings in log or not. If enabled, +## warnings will be written even if dead lock detecting is not enabled. +enable_dead_lock_detector_warnings bool default=true restart + +## Each thread registers how often it will at minimum register ticks (given that +## the system is not overloaded. If you are running Vespa on overloaded nodes, +## you can use this slack timeout to add to the thread timeouts in order to +## allow for more slack before dead lock detector kicks in. The value is in seconds. +dead_lock_detector_timeout_slack double default=240 restart + +## If set to 0, storage will attempt to auto-detect the number of VDS mount +## points to use. If set to a number, force this number. This number only makes +## sense on a storage node of course +disk_count int default=0 restart + +## Configure persistence provider. Temporary here to test. +persistence_provider.type enum {STORAGE, DUMMY, RPC } default=STORAGE restart +persistence_provider.rpc.connectspec string default="tcp/localhost:27777" restart + +## Whether or not to use the new metadata flow implementation. Default to not +## as it is currently in development and not even functional +switch_new_meta_data_flow bool default=false restart + +## When the content layer receives a set of changed buckets from the persistence +## layer, it must recheck all of these. Each such recheck results in an +## operation scheduled against the persistence queust and since the total +## number of buckets to recheck may reach hundreds of thousands in a large +## system, we send these in chunks to avoid saturating the queues with +## operations. +bucket_rechecking_chunk_size int default=100 + +## If greater than zero, simulates added latency caused by CPU processing during +## full bucket info requests. The latency is added per batch of operations processed. +## Only useful for testing! +simulated_bucket_request_latency_msec int default=0 + +## If set, content node processes will use a B-tree backed bucket database implementation +## instead of the legacy Judy-based implementation. +use_content_node_btree_bucket_db bool default=false restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-status.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-status.def new file mode 100644 index 00000000000..640a03299c2 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-status.def @@ -0,0 +1,4 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +httpport int default=0 restart diff --git a/storage/src/vespa/storage/config/vespa.config.content.core.stor-visitordispatcher.def b/storage/src/vespa/storage/config/vespa.config.content.core.stor-visitordispatcher.def new file mode 100644 index 00000000000..2e418c97989 --- /dev/null +++ b/storage/src/vespa/storage/config/vespa.config.content.core.stor-visitordispatcher.def @@ -0,0 +1,19 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +# For any given client visitor operation, this specifies a maximum fan-out +# factor for concurrent content node visitor operations towards a particular +# content node. +# Having several visitor operations running concurrently increases the +# potential data processing parallelism on the content nodes at the expense +# of using additional resources. +maxvisitorspernodeperclientvisitor int default=16 + +# Minimum number of buckets that have to be present on a given content node +# before more than one visitor operation may be sent in parallel towards it. +# This config is directly related to maxvisitorspernodeperclientvisitor. +# Example: with max visitors of 4, min buckets of 5 and total of 40 buckets on +# a content node, a total of 4 visitors of 10 buckets each will be sent to the +# node. If min buckets were 20, only 2 visitors of 20 buckets each would be +# sent. +minbucketspervisitor int default=1 diff --git a/storage/src/vespa/storage/visiting/CMakeLists.txt b/storage/src/vespa/storage/visiting/CMakeLists.txt index 05097163479..c8a824877c5 100644 --- a/storage/src/vespa/storage/visiting/CMakeLists.txt +++ b/storage/src/vespa/storage/visiting/CMakeLists.txt @@ -13,5 +13,6 @@ vespa_add_library(storage_visitor OBJECT visitorthread.cpp DEPENDS ) -vespa_generate_config(storage_visitor stor-visitor.def) -install_config_definition(stor-visitor.def vespa.config.content.core.stor-visitor.def) +vespa_generate_config(storage_visitor vespa.config.content.core.stor-visitor.def) + +install_config_definitions(src/vespa/storage/visiting) diff --git a/storage/src/vespa/storage/visiting/stor-visitor.def b/storage/src/vespa/storage/visiting/stor-visitor.def deleted file mode 100644 index 72b3699fe2d..00000000000 --- a/storage/src/vespa/storage/visiting/stor-visitor.def +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.content.core - -## Number of separate threads that runs visitors. -visitorthreads int default=16 restart - -## Default timeout of visitors that loses contact with client (in seconds) -disconnectedvisitortimeout int default=0 restart - -## Time period (in seconds) in which to ignore requests to visitors that doesnt -## exist anymore. (Normal for visitors to get some messages right after -## aborting, logging them as faults instead after this timeout has passed.) -ignorenonexistingvisitortimelimit int default=300 restart - -## The number of buckets that are visited in parallel in a visitor visiting -## multiple buckets. Default is 8, meaning if you send a create visitor to visit -## 100 buckets, 8 of them will be visited in parallel. -defaultparalleliterators int default=8 - -## Default number of maximum client replies pending. -defaultpendingmessages int default=32 - -## Default size of docblocks used to transfer visitor data. -defaultdocblocksize int default=4190208 - -## Default docblock timeout in ms used to transfer visitor data. -## Currently defaults to a day. This is to avoid slow visitor target problems, -## getting data resent faster than it can process, and since there are very few -## reasons to actually time out -defaultdocblocktimeout int default=180000 - -## Default timeout of visitor info messages: Progress and error reports. -## If these time out, the visitor will be aborted on the storage node. -defaultinfotimeout int default=60000 - -## Max concurrent visitors (legacy) -maxconcurrentvisitors int default=64 - -## Priority-based max concurrent visitors. Fixed is the total number of -## concurrent visitors that can run for any priorities. Variable -## increases the concurrency limit for higher priorities, the limit -## being linear with a messages priority. Example: if Fixed is 16 -## and Variable is 64, maxconcurrent for a pri 255 message is 16 and -## maxconcurrent for a pri 0 message is 16+64=80. -## If fixed is left as 0, it will take the value of maxconcurrentvisitors, -## allowing backwards compatability -maxconcurrentvisitors_fixed int default=16 -maxconcurrentvisitors_variable int default=64 - -## Max size of visitor priority queue -maxvisitorqueuesize int default=1024 - -# Limit of memory used _per visitor_ in bytes. -# Due to optimistic parallelization, it is possible for this limit to be -# initially violated when the visitor is first started. This can happen since -# the visitor does not know the size of the bucket contents before fetching -# any data from it and it will do so based on parallelization factors specified -# in the CreateVisitor command. If 3 buckets are initially visited in parallel -# and these both contain a single 100 MiB document, the memory usage of the -# visitor will peak at 300 MiB even if the configured limit is e.g. 20 MiB. -# Default value is set to 20 MiB, which attempts to keep a reasonably safe -# level in the face of a default number of max concurrent visitors (64). -visitor_memory_usage_limit int default=25165824 diff --git a/storage/src/vespa/storage/visiting/vespa.config.content.core.stor-visitor.def b/storage/src/vespa/storage/visiting/vespa.config.content.core.stor-visitor.def new file mode 100644 index 00000000000..72b3699fe2d --- /dev/null +++ b/storage/src/vespa/storage/visiting/vespa.config.content.core.stor-visitor.def @@ -0,0 +1,63 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.content.core + +## Number of separate threads that runs visitors. +visitorthreads int default=16 restart + +## Default timeout of visitors that loses contact with client (in seconds) +disconnectedvisitortimeout int default=0 restart + +## Time period (in seconds) in which to ignore requests to visitors that doesnt +## exist anymore. (Normal for visitors to get some messages right after +## aborting, logging them as faults instead after this timeout has passed.) +ignorenonexistingvisitortimelimit int default=300 restart + +## The number of buckets that are visited in parallel in a visitor visiting +## multiple buckets. Default is 8, meaning if you send a create visitor to visit +## 100 buckets, 8 of them will be visited in parallel. +defaultparalleliterators int default=8 + +## Default number of maximum client replies pending. +defaultpendingmessages int default=32 + +## Default size of docblocks used to transfer visitor data. +defaultdocblocksize int default=4190208 + +## Default docblock timeout in ms used to transfer visitor data. +## Currently defaults to a day. This is to avoid slow visitor target problems, +## getting data resent faster than it can process, and since there are very few +## reasons to actually time out +defaultdocblocktimeout int default=180000 + +## Default timeout of visitor info messages: Progress and error reports. +## If these time out, the visitor will be aborted on the storage node. +defaultinfotimeout int default=60000 + +## Max concurrent visitors (legacy) +maxconcurrentvisitors int default=64 + +## Priority-based max concurrent visitors. Fixed is the total number of +## concurrent visitors that can run for any priorities. Variable +## increases the concurrency limit for higher priorities, the limit +## being linear with a messages priority. Example: if Fixed is 16 +## and Variable is 64, maxconcurrent for a pri 255 message is 16 and +## maxconcurrent for a pri 0 message is 16+64=80. +## If fixed is left as 0, it will take the value of maxconcurrentvisitors, +## allowing backwards compatability +maxconcurrentvisitors_fixed int default=16 +maxconcurrentvisitors_variable int default=64 + +## Max size of visitor priority queue +maxvisitorqueuesize int default=1024 + +# Limit of memory used _per visitor_ in bytes. +# Due to optimistic parallelization, it is possible for this limit to be +# initially violated when the visitor is first started. This can happen since +# the visitor does not know the size of the bucket contents before fetching +# any data from it and it will do so based on parallelization factors specified +# in the CreateVisitor command. If 3 buckets are initially visited in parallel +# and these both contain a single 100 MiB document, the memory usage of the +# visitor will peak at 300 MiB even if the configured limit is e.g. 20 MiB. +# Default value is set to 20 MiB, which attempts to keep a reasonably safe +# level in the face of a default number of max concurrent visitors (64). +visitor_memory_usage_limit int default=25165824 diff --git a/vespa-athenz/src/main/resources/configdefinitions/sia-provider.def b/vespa-athenz/src/main/resources/configdefinitions/sia-provider.def deleted file mode 100644 index 77310d0c91e..00000000000 --- a/vespa-athenz/src/main/resources/configdefinitions/sia-provider.def +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.athenz.identity - -athenzDomain string -athenzService string -keyPathPrefix string -trustStorePath string -trustStoreType enum {pem, jks} default=jks -athenzTruststorePath string default="/opt/yahoo/share/ssl/certs/athenz_certificate_bundle.pem" \ No newline at end of file diff --git a/vespa-athenz/src/main/resources/configdefinitions/vespa.athenz.identity.sia-provider.def b/vespa-athenz/src/main/resources/configdefinitions/vespa.athenz.identity.sia-provider.def new file mode 100644 index 00000000000..77310d0c91e --- /dev/null +++ b/vespa-athenz/src/main/resources/configdefinitions/vespa.athenz.identity.sia-provider.def @@ -0,0 +1,9 @@ +# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.athenz.identity + +athenzDomain string +athenzService string +keyPathPrefix string +trustStorePath string +trustStoreType enum {pem, jks} default=jks +athenzTruststorePath string default="/opt/yahoo/share/ssl/certs/athenz_certificate_bundle.pem" \ No newline at end of file diff --git a/vespa-osgi-testrunner/CMakeLists.txt b/vespa-osgi-testrunner/CMakeLists.txt index 4b097a2f7bf..13095c213a3 100644 --- a/vespa-osgi-testrunner/CMakeLists.txt +++ b/vespa-osgi-testrunner/CMakeLists.txt @@ -1,3 +1,3 @@ # Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_fat_java_artifact(vespa-osgi-testrunner) -install_config_definition(src/main/resources/configdefinitions/junit-test-runner.def com.yahoo.vespa.testrunner.junit-test-runner.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/vespa-testrunner-components/CMakeLists.txt b/vespa-testrunner-components/CMakeLists.txt index e2eeb2feecb..475039cb38e 100644 --- a/vespa-testrunner-components/CMakeLists.txt +++ b/vespa-testrunner-components/CMakeLists.txt @@ -1,4 +1,4 @@ # Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. install_java_artifact(vespa-testrunner-components) install_fat_java_artifact(vespa-testrunner-components) -install_config_definition(src/main/resources/configdefinitions/test-runner.def com.yahoo.vespa.hosted.testrunner.test-runner.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/vespaclient-core/CMakeLists.txt b/vespaclient-core/CMakeLists.txt index 218276cf590..14909bc4ca1 100644 --- a/vespaclient-core/CMakeLists.txt +++ b/vespaclient-core/CMakeLists.txt @@ -1,2 +1,2 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -install_config_definition(src/main/resources/configdefinitions/feeder.def vespaclient.config.feeder.def) +install_config_definitions(src/main/resources/configdefinitions) diff --git a/vespaclient-core/src/main/resources/configdefinitions/feeder.def b/vespaclient-core/src/main/resources/configdefinitions/feeder.def deleted file mode 100644 index a376a4807a7..00000000000 --- a/vespaclient-core/src/main/resources/configdefinitions/feeder.def +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespaclient.config - -## Whether or not to abort if there are document-related errors. -## Value 'false' will skip bad documents, but still abort on other errors. -abortondocumenterror bool default=true - -## Whether or not to abort if there are errors sending messages to Vespa -abortonsenderror bool default=true - -## Prefix each document id with this string. -idprefix string default="" - -## Max number of pending operations. -maxpendingdocs int default=0 - -## Max number of bytes in pending operations. -maxpendingbytes int default=0 - -## Max number of busy threads -maxbusythreads int default=150 - -## Max number of operations to perform per second (0 == no max) -maxfeedrate double default=0.0 - -## Whether or not retrying is enabled. -retryenabled bool default=true - -## Delay between retries. -retrydelay double default=1 - -## Timeout for messagebus operations. -timeout double default=180 - -## Route to feed documents on -route string default="default" - -## Trace level for messages -tracelevel int default=0 - -## Messagebus port to start source session on -mbusport int default=-1 - -## Default docproc chain to run -docprocchain string default="" - -## Whether or not to set create-if-non-existent flag on all document updates handled by a feeder. -createifnonexistent bool default=false diff --git a/vespaclient-core/src/main/resources/configdefinitions/vespaclient.config.feeder.def b/vespaclient-core/src/main/resources/configdefinitions/vespaclient.config.feeder.def new file mode 100644 index 00000000000..a376a4807a7 --- /dev/null +++ b/vespaclient-core/src/main/resources/configdefinitions/vespaclient.config.feeder.def @@ -0,0 +1,48 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespaclient.config + +## Whether or not to abort if there are document-related errors. +## Value 'false' will skip bad documents, but still abort on other errors. +abortondocumenterror bool default=true + +## Whether or not to abort if there are errors sending messages to Vespa +abortonsenderror bool default=true + +## Prefix each document id with this string. +idprefix string default="" + +## Max number of pending operations. +maxpendingdocs int default=0 + +## Max number of bytes in pending operations. +maxpendingbytes int default=0 + +## Max number of busy threads +maxbusythreads int default=150 + +## Max number of operations to perform per second (0 == no max) +maxfeedrate double default=0.0 + +## Whether or not retrying is enabled. +retryenabled bool default=true + +## Delay between retries. +retrydelay double default=1 + +## Timeout for messagebus operations. +timeout double default=180 + +## Route to feed documents on +route string default="default" + +## Trace level for messages +tracelevel int default=0 + +## Messagebus port to start source session on +mbusport int default=-1 + +## Default docproc chain to run +docprocchain string default="" + +## Whether or not to set create-if-non-existent flag on all document updates handled by a feeder. +createifnonexistent bool default=false diff --git a/vsm/src/vespa/vsm/config/CMakeLists.txt b/vsm/src/vespa/vsm/config/CMakeLists.txt index e3bd2db68e2..ce84c569c0a 100644 --- a/vsm/src/vespa/vsm/config/CMakeLists.txt +++ b/vsm/src/vespa/vsm/config/CMakeLists.txt @@ -3,9 +3,7 @@ vespa_add_library(vsm_vconfig OBJECT SOURCES DEPENDS ) -vespa_generate_config(vsm_vconfig vsmfields.def) -install_config_definition(vsmfields.def vespa.config.search.vsm.vsmfields.def) -vespa_generate_config(vsm_vconfig vsm.def) -install_config_definition(vsm.def vespa.config.search.vsm.vsm.def) -vespa_generate_config(vsm_vconfig vsmsummary.def) -install_config_definition(vsmsummary.def vespa.config.search.vsm.vsmsummary.def) +vespa_generate_config(vsm_vconfig vespa.config.search.vsm.vsmfields.def) +vespa_generate_config(vsm_vconfig vespa.config.search.vsm.vsm.def) +vespa_generate_config(vsm_vconfig vespa.config.search.vsm.vsmsummary.def) +install_config_definitions(src/vespa/vsm/config) diff --git a/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsm.def b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsm.def new file mode 100644 index 00000000000..c446efe5588 --- /dev/null +++ b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsm.def @@ -0,0 +1,13 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.vsm + +## The document model for the documents used as input for the VSM +doctype reference + +## Configuration for storage client used by VSM +storagecfg reference + +## Config defining what search method should be applied to different +## fields in the documents. It also contains a mapping from index name +## to a set of fields making up that index. +vsmfields reference diff --git a/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmfields.def b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmfields.def new file mode 100644 index 00000000000..ca48692b526 --- /dev/null +++ b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmfields.def @@ -0,0 +1,31 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.vsm + +## Level of verification applied to the documents received. +documentverificationlevel int default=0 + +## Set if one should ignore limit hits. +searchall int default=1 + +## The name of a field for which we are assigning a search method. +## The field name refers directly to a field in the document model. +fieldspec[].name string + +## The search method for a given field. Note: same field in 2 different document types must match on type if not a random result might be expected. +fieldspec[].searchmethod enum { NONE, BOOL, AUTOUTF8, UTF8, SSE2UTF8, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE } default=AUTOUTF8 +fieldspec[].arg1 string default="" + +## Maximum number of chars to search per field. +fieldspec[].maxlength int default=1048576 + +## Type of the field +fieldspec[].fieldtype enum {ATTRIBUTE, INDEX} default=INDEX + +## The name of a documenttype for which we are assigning a set of indexes. +documenttype[].name string +## The name of an index of a documenttype for which we are assigning a set of fields. +documenttype[].index[].name string + +## The name of a field part of an index. +## The field name refers directly to a field in the document model. +documenttype[].index[].field[].name string diff --git a/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmsummary.def b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmsummary.def new file mode 100644 index 00000000000..4664371faba --- /dev/null +++ b/vsm/src/vespa/vsm/config/vespa.config.search.vsm.vsmsummary.def @@ -0,0 +1,21 @@ +# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +namespace=vespa.config.search.vsm + +## The name of the result class that should be generated for documents +## returned from the VSM. If this value is empty, the first found +## result class will be used. +outputclass string default="" + +## Mapping of field names between the result class and the document +## model. This value represents the name in the result class. Fields +## not mentioned here will get the identity mapping. +fieldmap[].summary string + +## Mapping of field names between the result class and the document +## model. This field vector represents the names in the document model +## that should be used as input when generating the summary field. +fieldmap[].document[].field string + +## This command specifies how the document fields should be combined +## when generating the summary field. +fieldmap[].command enum { NONE, FLATTENJUNIPER, FLATTENSPACE } default=NONE diff --git a/vsm/src/vespa/vsm/config/vsm.def b/vsm/src/vespa/vsm/config/vsm.def deleted file mode 100644 index c446efe5588..00000000000 --- a/vsm/src/vespa/vsm/config/vsm.def +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.vsm - -## The document model for the documents used as input for the VSM -doctype reference - -## Configuration for storage client used by VSM -storagecfg reference - -## Config defining what search method should be applied to different -## fields in the documents. It also contains a mapping from index name -## to a set of fields making up that index. -vsmfields reference diff --git a/vsm/src/vespa/vsm/config/vsmfields.def b/vsm/src/vespa/vsm/config/vsmfields.def deleted file mode 100644 index ca48692b526..00000000000 --- a/vsm/src/vespa/vsm/config/vsmfields.def +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.vsm - -## Level of verification applied to the documents received. -documentverificationlevel int default=0 - -## Set if one should ignore limit hits. -searchall int default=1 - -## The name of a field for which we are assigning a search method. -## The field name refers directly to a field in the document model. -fieldspec[].name string - -## The search method for a given field. Note: same field in 2 different document types must match on type if not a random result might be expected. -fieldspec[].searchmethod enum { NONE, BOOL, AUTOUTF8, UTF8, SSE2UTF8, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE } default=AUTOUTF8 -fieldspec[].arg1 string default="" - -## Maximum number of chars to search per field. -fieldspec[].maxlength int default=1048576 - -## Type of the field -fieldspec[].fieldtype enum {ATTRIBUTE, INDEX} default=INDEX - -## The name of a documenttype for which we are assigning a set of indexes. -documenttype[].name string -## The name of an index of a documenttype for which we are assigning a set of fields. -documenttype[].index[].name string - -## The name of a field part of an index. -## The field name refers directly to a field in the document model. -documenttype[].index[].field[].name string diff --git a/vsm/src/vespa/vsm/config/vsmsummary.def b/vsm/src/vespa/vsm/config/vsmsummary.def deleted file mode 100644 index 4664371faba..00000000000 --- a/vsm/src/vespa/vsm/config/vsmsummary.def +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -namespace=vespa.config.search.vsm - -## The name of the result class that should be generated for documents -## returned from the VSM. If this value is empty, the first found -## result class will be used. -outputclass string default="" - -## Mapping of field names between the result class and the document -## model. This value represents the name in the result class. Fields -## not mentioned here will get the identity mapping. -fieldmap[].summary string - -## Mapping of field names between the result class and the document -## model. This field vector represents the names in the document model -## that should be used as input when generating the summary field. -fieldmap[].document[].field string - -## This command specifies how the document fields should be combined -## when generating the summary field. -fieldmap[].command enum { NONE, FLATTENJUNIPER, FLATTENSPACE } default=NONE -- cgit v1.2.3