summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--Code-map.md1
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java13
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java16
-rw-r--r--config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java4
-rw-r--r--config-model/src/main/java/com/yahoo/schema/document/Attribute.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java1
-rw-r--r--config-model/src/main/resources/schema/deployment.rnc3
-rw-r--r--config-model/src/test/java/com/yahoo/schema/processing/TensorFieldTestCase.java11
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java8
-rw-r--r--configd/src/apps/sentinel/CMakeLists.txt2
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java34
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/MockProvisioner.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java12
-rw-r--r--dist/vespa.spec4
-rw-r--r--document/CMakeLists.txt1
-rw-r--r--eval/CMakeLists.txt1
-rw-r--r--fbench/CMakeLists.txt1
-rw-r--r--hosted-tenant-base/pom.xml5
-rw-r--r--juniper/.gitignore7
-rw-r--r--juniper/CMakeLists.txt13
-rw-r--r--juniper/INSTALL.txt49
-rw-r--r--juniper/OWNERS2
-rw-r--r--juniper/README36
-rw-r--r--juniper/doc/written/fsearchparams.html488
-rw-r--r--juniper/src/Doxyfile931
-rw-r--r--juniper/src/testproject.el98
-rw-r--r--logd/CMakeLists.txt1
-rw-r--r--messagebus/CMakeLists.txt1
-rw-r--r--messagebus/src/vespa/messagebus/replygate.cpp4
-rw-r--r--messagebus/src/vespa/messagebus/replygate.h3
-rw-r--r--metrics/CMakeLists.txt1
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java40
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java11
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java12
-rw-r--r--searchcommon/.gitignore1
-rw-r--r--searchcommon/CMakeLists.txt20
-rw-r--r--searchcommon/OWNERS3
-rw-r--r--searchcommon/src/.gitignore3
-rw-r--r--searchcommon/src/vespa/searchcommon/CMakeLists.txt8
-rw-r--r--searchcommon/src/vespa/searchcommon/config/.gitignore2
-rw-r--r--searchcommon/src/vespa/searchcommon/config/CMakeLists.txt6
-rw-r--r--searchcommon/testrun/.gitignore12
-rw-r--r--searchcore/CMakeLists.txt3
-rw-r--r--searchcore/src/apps/vespa-dump-feed/.gitignore4
-rw-r--r--searchcore/src/apps/vespa-dump-feed/CMakeLists.txt6
-rw-r--r--searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp218
-rw-r--r--searchcore/src/tests/proton/common/timer/.gitignore2
-rw-r--r--searchcore/src/tests/proton/common/timer/CMakeLists.txt4
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastoreflushtarget.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp6
-rw-r--r--searchlib/CMakeLists.txt6
-rw-r--r--searchlib/src/tests/searchcommon/.gitignore (renamed from searchcommon/src/tests/.gitignore)0
-rw-r--r--searchlib/src/tests/searchcommon/attribute/config/.gitignore (renamed from searchcommon/src/tests/attribute/config/.gitignore)0
-rw-r--r--searchlib/src/tests/searchcommon/attribute/config/CMakeLists.txt (renamed from searchcommon/src/tests/attribute/config/CMakeLists.txt)2
-rw-r--r--searchlib/src/tests/searchcommon/attribute/config/attribute_config_test.cpp (renamed from searchcommon/src/tests/attribute/config/attribute_config_test.cpp)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/.gitignore (renamed from searchcommon/src/tests/schema/.gitignore)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/CMakeLists.txt (renamed from searchcommon/src/tests/schema/CMakeLists.txt)2
-rw-r--r--searchlib/src/tests/searchcommon/schema/imported-fields-cfg/attributes.cfg (renamed from searchcommon/src/tests/schema/imported-fields-cfg/attributes.cfg)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/load-save-cfg/attributes.cfg (renamed from searchcommon/src/tests/schema/load-save-cfg/attributes.cfg)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/load-save-cfg/indexschema.cfg (renamed from searchcommon/src/tests/schema/load-save-cfg/indexschema.cfg)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/load-save-cfg/summary.cfg (renamed from searchcommon/src/tests/schema/load-save-cfg/summary.cfg)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/schema-without-index-field-properties.txt (renamed from searchcommon/src/tests/schema/schema-without-index-field-properties.txt)0
-rw-r--r--searchlib/src/tests/searchcommon/schema/schema_test.cpp (renamed from searchcommon/src/tests/schema/schema_test.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/.gitignore (renamed from searchcommon/src/vespa/searchcommon/.gitignore)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/.gitignore (renamed from searchcommon/src/vespa/searchcommon/attribute/.gitignore)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/CMakeLists.txt (renamed from searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/attribute_utils.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/attribute_utils.h (renamed from searchcommon/src/vespa/searchcommon/attribute/attribute_utils.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/attributecontent.h (renamed from searchcommon/src/vespa/searchcommon/attribute/attributecontent.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/basictype.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/basictype.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/basictype.h (renamed from searchcommon/src/vespa/searchcommon/attribute/basictype.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/collectiontype.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/collectiontype.h (renamed from searchcommon/src/vespa/searchcommon/attribute/collectiontype.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/config.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/config.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/config.h (renamed from searchcommon/src/vespa/searchcommon/attribute/config.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/distance_metric.h (renamed from searchcommon/src/vespa/searchcommon/attribute/distance_metric.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/hnsw_index_params.h (renamed from searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/i_attribute_functor.h (renamed from searchcommon/src/vespa/searchcommon/attribute/i_attribute_functor.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/i_multi_value_attribute.h (renamed from searchcommon/src/vespa/searchcommon/attribute/i_multi_value_attribute.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/i_multi_value_read_view.h (renamed from searchcommon/src/vespa/searchcommon/attribute/i_multi_value_read_view.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/i_search_context.h (renamed from searchcommon/src/vespa/searchcommon/attribute/i_search_context.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/iattributecontext.h (renamed from searchcommon/src/vespa/searchcommon/attribute/iattributecontext.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/iattributevector.h (renamed from searchcommon/src/vespa/searchcommon/attribute/iattributevector.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/multi_value_traits.h (renamed from searchcommon/src/vespa/searchcommon/attribute/multi_value_traits.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/multivalue.h (renamed from searchcommon/src/vespa/searchcommon/attribute/multivalue.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/persistent_predicate_params.h (renamed from searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/predicate_params.h (renamed from searchcommon/src/vespa/searchcommon/attribute/predicate_params.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/search_context_params.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/search_context_params.h (renamed from searchcommon/src/vespa/searchcommon/attribute/search_context_params.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/status.cpp (renamed from searchcommon/src/vespa/searchcommon/attribute/status.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/attribute/status.h (renamed from searchcommon/src/vespa/searchcommon/attribute/status.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/.gitignore (renamed from searchcommon/src/vespa/searchcommon/common/.gitignore)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/CMakeLists.txt (renamed from searchcommon/src/vespa/searchcommon/common/CMakeLists.txt)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/datatype.cpp (renamed from searchcommon/src/vespa/searchcommon/common/datatype.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/datatype.h (renamed from searchcommon/src/vespa/searchcommon/common/datatype.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/dictionary_config.cpp (renamed from searchcommon/src/vespa/searchcommon/common/dictionary_config.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/dictionary_config.h (renamed from searchcommon/src/vespa/searchcommon/common/dictionary_config.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/growstrategy.cpp (renamed from searchcommon/src/vespa/searchcommon/common/growstrategy.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/growstrategy.h (renamed from searchcommon/src/vespa/searchcommon/common/growstrategy.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/iblobconverter.h (renamed from searchcommon/src/vespa/searchcommon/common/iblobconverter.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/range.h (renamed from searchcommon/src/vespa/searchcommon/common/range.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/schema.cpp (renamed from searchcommon/src/vespa/searchcommon/common/schema.cpp)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/schema.h (renamed from searchcommon/src/vespa/searchcommon/common/schema.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp (renamed from searchcommon/src/vespa/searchcommon/common/schemaconfigurer.cpp)3
-rw-r--r--searchlib/src/vespa/searchcommon/common/schemaconfigurer.h (renamed from searchcommon/src/vespa/searchcommon/common/schemaconfigurer.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/subscriptionproxyng.h (renamed from searchcommon/src/vespa/searchcommon/config/subscriptionproxyng.h)0
-rw-r--r--searchlib/src/vespa/searchcommon/common/undefinedvalues.h (renamed from searchcommon/src/vespa/searchcommon/common/undefinedvalues.h)0
-rw-r--r--searchlib/src/vespa/searchlib/CMakeLists.txt4
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.cpp10
-rw-r--r--searchlib/src/vespa/searchlib/index/field_length_calculator.h12
-rw-r--r--searchsummary/CMakeLists.txt4
-rw-r--r--searchsummary/src/tests/juniper/.gitignore (renamed from juniper/src/test/.gitignore)0
-rw-r--r--searchsummary/src/tests/juniper/CMakeLists.txt (renamed from juniper/src/test/CMakeLists.txt)28
-rw-r--r--searchsummary/src/tests/juniper/SrcTestSuite.cpp (renamed from juniper/src/test/SrcTestSuite.cpp)2
-rw-r--r--searchsummary/src/tests/juniper/appender_test.cpp (renamed from juniper/src/test/appender_test.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/auxTest.cpp (renamed from juniper/src/test/auxTest.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/auxTest.h (renamed from juniper/src/test/auxTest.h)0
-rw-r--r--searchsummary/src/tests/juniper/auxTestApp.cpp (renamed from juniper/src/test/auxTestApp.cpp)2
-rw-r--r--searchsummary/src/tests/juniper/fakerewriter.cpp (renamed from juniper/src/test/fakerewriter.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/fakerewriter.h (renamed from juniper/src/test/fakerewriter.h)0
-rw-r--r--searchsummary/src/tests/juniper/largeblockchinese.input.utf8 (renamed from juniper/src/test/largeblockchinese.input.utf8)0
-rw-r--r--searchsummary/src/tests/juniper/matchobjectTest.cpp (renamed from juniper/src/test/matchobjectTest.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/matchobjectTest.h (renamed from juniper/src/test/matchobjectTest.h)0
-rw-r--r--searchsummary/src/tests/juniper/matchobjectTestApp.cpp (renamed from juniper/src/test/matchobjectTestApp.cpp)2
-rw-r--r--searchsummary/src/tests/juniper/mcandTest.cpp (renamed from juniper/src/test/mcandTest.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/mcandTest.h (renamed from juniper/src/test/mcandTest.h)0
-rw-r--r--searchsummary/src/tests/juniper/mcandTestApp.cpp (renamed from juniper/src/test/mcandTestApp.cpp)2
-rw-r--r--searchsummary/src/tests/juniper/partialutf8.input.utf8 (renamed from juniper/src/test/partialutf8.input.utf8)0
-rw-r--r--searchsummary/src/tests/juniper/queryparserTest.cpp (renamed from juniper/src/test/queryparserTest.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/queryparserTest.h (renamed from juniper/src/test/queryparserTest.h)0
-rw-r--r--searchsummary/src/tests/juniper/queryparserTestApp.cpp (renamed from juniper/src/test/queryparserTestApp.cpp)2
-rw-r--r--searchsummary/src/tests/juniper/queryvisitor_test.cpp (renamed from juniper/src/test/queryvisitor_test.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/testclient.rc (renamed from juniper/src/rpclient/testclient.rc)0
-rw-r--r--searchsummary/src/tests/juniper/testenv.cpp (renamed from juniper/src/test/testenv.cpp)0
-rw-r--r--searchsummary/src/tests/juniper/testenv.h (renamed from juniper/src/test/testenv.h)0
-rw-r--r--searchsummary/src/vespa/juniper/.gitignore (renamed from juniper/src/vespa/juniper/.gitignore)0
-rw-r--r--searchsummary/src/vespa/juniper/CMakeLists.txt (renamed from juniper/src/vespa/juniper/CMakeLists.txt)3
-rw-r--r--searchsummary/src/vespa/juniper/IJuniperProperties.h (renamed from juniper/src/vespa/juniper/IJuniperProperties.h)0
-rw-r--r--searchsummary/src/vespa/juniper/ITokenProcessor.h (renamed from juniper/src/vespa/juniper/ITokenProcessor.h)0
-rw-r--r--searchsummary/src/vespa/juniper/Matcher.cpp (renamed from juniper/src/vespa/juniper/Matcher.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/Matcher.h (renamed from juniper/src/vespa/juniper/Matcher.h)0
-rw-r--r--searchsummary/src/vespa/juniper/SummaryConfig.cpp (renamed from juniper/src/vespa/juniper/SummaryConfig.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/SummaryConfig.h (renamed from juniper/src/vespa/juniper/SummaryConfig.h)0
-rw-r--r--searchsummary/src/vespa/juniper/appender.cpp (renamed from juniper/src/vespa/juniper/appender.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/appender.h (renamed from juniper/src/vespa/juniper/appender.h)0
-rw-r--r--searchsummary/src/vespa/juniper/charutil.h (renamed from juniper/src/vespa/juniper/charutil.h)0
-rw-r--r--searchsummary/src/vespa/juniper/config.cpp (renamed from juniper/src/vespa/juniper/config.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/config.h (renamed from juniper/src/vespa/juniper/config.h)0
-rw-r--r--searchsummary/src/vespa/juniper/dpinterface.cpp (renamed from juniper/src/vespa/juniper/dpinterface.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/dpinterface.h (renamed from juniper/src/vespa/juniper/dpinterface.h)0
-rw-r--r--searchsummary/src/vespa/juniper/expcache.cpp (renamed from juniper/src/vespa/juniper/expcache.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/expcache.h (renamed from juniper/src/vespa/juniper/expcache.h)0
-rw-r--r--searchsummary/src/vespa/juniper/foreach_utils.h (renamed from juniper/src/vespa/juniper/foreach_utils.h)0
-rw-r--r--searchsummary/src/vespa/juniper/hashbase.h (renamed from juniper/src/vespa/juniper/hashbase.h)0
-rw-r--r--searchsummary/src/vespa/juniper/juniperdebug.h (renamed from juniper/src/vespa/juniper/juniperdebug.h)0
-rw-r--r--searchsummary/src/vespa/juniper/juniperparams.cpp (renamed from juniper/src/vespa/juniper/juniperparams.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/juniperparams.h (renamed from juniper/src/vespa/juniper/juniperparams.h)0
-rw-r--r--searchsummary/src/vespa/juniper/keyocc.cpp (renamed from juniper/src/vespa/juniper/keyocc.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/keyocc.h (renamed from juniper/src/vespa/juniper/keyocc.h)0
-rw-r--r--searchsummary/src/vespa/juniper/matchelem.cpp (renamed from juniper/src/vespa/juniper/matchelem.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/matchelem.h (renamed from juniper/src/vespa/juniper/matchelem.h)0
-rw-r--r--searchsummary/src/vespa/juniper/matchobject.cpp (renamed from juniper/src/vespa/juniper/matchobject.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/matchobject.h (renamed from juniper/src/vespa/juniper/matchobject.h)0
-rw-r--r--searchsummary/src/vespa/juniper/mcand.cpp (renamed from juniper/src/vespa/juniper/mcand.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/mcand.h (renamed from juniper/src/vespa/juniper/mcand.h)0
-rw-r--r--searchsummary/src/vespa/juniper/propreader.cpp (renamed from juniper/src/vespa/juniper/propreader.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/propreader.h (renamed from juniper/src/vespa/juniper/propreader.h)0
-rw-r--r--searchsummary/src/vespa/juniper/query.h (renamed from juniper/src/vespa/juniper/query.h)0
-rw-r--r--searchsummary/src/vespa/juniper/queryhandle.cpp (renamed from juniper/src/vespa/juniper/queryhandle.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/queryhandle.h (renamed from juniper/src/vespa/juniper/queryhandle.h)0
-rw-r--r--searchsummary/src/vespa/juniper/querymodifier.cpp (renamed from juniper/src/vespa/juniper/querymodifier.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/querymodifier.h (renamed from juniper/src/vespa/juniper/querymodifier.h)0
-rw-r--r--searchsummary/src/vespa/juniper/querynode.cpp (renamed from juniper/src/vespa/juniper/querynode.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/querynode.h (renamed from juniper/src/vespa/juniper/querynode.h)0
-rw-r--r--searchsummary/src/vespa/juniper/queryparser.cpp (renamed from juniper/src/vespa/juniper/queryparser.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/queryparser.h (renamed from juniper/src/vespa/juniper/queryparser.h)0
-rw-r--r--searchsummary/src/vespa/juniper/queryvisitor.cpp (renamed from juniper/src/vespa/juniper/queryvisitor.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/queryvisitor.h (renamed from juniper/src/vespa/juniper/queryvisitor.h)0
-rw-r--r--searchsummary/src/vespa/juniper/reducematcher.cpp (renamed from juniper/src/vespa/juniper/reducematcher.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/reducematcher.h (renamed from juniper/src/vespa/juniper/reducematcher.h)0
-rw-r--r--searchsummary/src/vespa/juniper/result.cpp (renamed from juniper/src/vespa/juniper/result.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/result.h (renamed from juniper/src/vespa/juniper/result.h)0
-rw-r--r--searchsummary/src/vespa/juniper/rewriter.h (renamed from juniper/src/vespa/juniper/rewriter.h)0
-rw-r--r--searchsummary/src/vespa/juniper/rpinterface.cpp (renamed from juniper/src/vespa/juniper/rpinterface.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/rpinterface.h (renamed from juniper/src/vespa/juniper/rpinterface.h)0
-rw-r--r--searchsummary/src/vespa/juniper/simplemap.h (renamed from juniper/src/vespa/juniper/simplemap.h)0
-rw-r--r--searchsummary/src/vespa/juniper/specialtokenregistry.cpp (renamed from juniper/src/vespa/juniper/specialtokenregistry.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/specialtokenregistry.h (renamed from juniper/src/vespa/juniper/specialtokenregistry.h)0
-rw-r--r--searchsummary/src/vespa/juniper/stringmap.cpp (renamed from juniper/src/vespa/juniper/stringmap.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/stringmap.h (renamed from juniper/src/vespa/juniper/stringmap.h)0
-rw-r--r--searchsummary/src/vespa/juniper/sumdesc.cpp (renamed from juniper/src/vespa/juniper/sumdesc.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/sumdesc.h (renamed from juniper/src/vespa/juniper/sumdesc.h)0
-rw-r--r--searchsummary/src/vespa/juniper/tokenizer.cpp (renamed from juniper/src/vespa/juniper/tokenizer.cpp)0
-rw-r--r--searchsummary/src/vespa/juniper/tokenizer.h (renamed from juniper/src/vespa/juniper/tokenizer.h)0
-rw-r--r--searchsummary/src/vespa/juniper/wildcard_match.h (renamed from juniper/src/vespa/juniper/wildcard_match.h)0
-rw-r--r--searchsummary/src/vespa/searchsummary/CMakeLists.txt1
-rw-r--r--slobrok/CMakeLists.txt1
-rw-r--r--slobrok/src/vespa/slobrok/sbmirror.cpp8
-rw-r--r--slobrok/src/vespa/slobrok/sbmirror.h3
-rw-r--r--slobrok/src/vespa/slobrok/sbregister.cpp8
-rw-r--r--slobrok/src/vespa/slobrok/sbregister.h2
-rw-r--r--staging_vespalib/.gitignore4
-rw-r--r--staging_vespalib/CMakeLists.txt40
-rw-r--r--staging_vespalib/OWNERS3
-rw-r--r--staging_vespalib/README3
-rw-r--r--staging_vespalib/src/.gitignore5
-rw-r--r--staging_vespalib/src/Doxyfile225
-rw-r--r--staging_vespalib/src/tests/.gitignore4
-rw-r--r--staging_vespalib/src/tests/array/.gitignore5
-rw-r--r--staging_vespalib/src/tests/array/CMakeLists.txt22
-rw-r--r--staging_vespalib/src/tests/array/allocinarray_benchmark.cpp126
-rw-r--r--staging_vespalib/src/tests/array/allocinarray_test.cpp71
-rw-r--r--staging_vespalib/src/tests/benchmark/.gitignore4
-rw-r--r--staging_vespalib/src/tests/benchmark/CMakeLists.txt12
-rwxr-xr-xstaging_vespalib/src/tests/benchmark/benchmark_test.sh21
-rw-r--r--staging_vespalib/src/tests/bits/.gitignore4
-rw-r--r--staging_vespalib/src/tests/bits/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/clock/.gitignore5
-rw-r--r--staging_vespalib/src/tests/clock/CMakeLists.txt14
-rw-r--r--staging_vespalib/src/tests/crc/.gitignore4
-rw-r--r--staging_vespalib/src/tests/crc/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/directio/.gitignore1
-rw-r--r--staging_vespalib/src/tests/directio/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/floatingpointtype/.gitignore4
-rw-r--r--staging_vespalib/src/tests/floatingpointtype/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/growablebytebuffer/.gitignore4
-rw-r--r--staging_vespalib/src/tests/growablebytebuffer/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/json/.gitignore1
-rw-r--r--staging_vespalib/src/tests/json/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/memorydatastore/.gitignore1
-rw-r--r--staging_vespalib/src/tests/memorydatastore/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/objectdump/.gitignore4
-rw-r--r--staging_vespalib/src/tests/objectdump/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/objects/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/objectselection/.gitignore4
-rw-r--r--staging_vespalib/src/tests/objectselection/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/polymorphicarray/.gitignore1
-rw-r--r--staging_vespalib/src/tests/polymorphicarray/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/programoptions/.gitignore4
-rw-r--r--staging_vespalib/src/tests/programoptions/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/rusage/.gitignore1
-rw-r--r--staging_vespalib/src/tests/rusage/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/shutdownguard/.gitignore1
-rw-r--r--staging_vespalib/src/tests/shutdownguard/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/tests/stllike/.gitignore6
-rw-r--r--staging_vespalib/src/tests/stllike/CMakeLists.txt15
-rw-r--r--staging_vespalib/src/tests/util/process_memory_stats/.gitignore2
-rw-r--r--staging_vespalib/src/tests/util/process_memory_stats/CMakeLists.txt9
-rw-r--r--staging_vespalib/src/tests/xmlserializable/.gitignore4
-rw-r--r--staging_vespalib/src/tests/xmlserializable/CMakeLists.txt8
-rw-r--r--staging_vespalib/src/vespa/vespalib/.gitignore3
-rw-r--r--staging_vespalib/src/vespa/vespalib/CMakeLists.txt9
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/.gitignore6
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/CMakeLists.txt18
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/memberinfo.h45
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/simpledynamicdata.h113
-rw-r--r--staging_vespalib/src/vespa/vespalib/objects/valuetype.cpp25
-rw-r--r--staging_vespalib/src/vespa/vespalib/stllike/.gitignore6
-rw-r--r--staging_vespalib/src/vespa/vespalib/stllike/CMakeLists.txt5
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/.gitignore6
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/CMakeLists.txt22
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/allocinarray.h72
-rw-r--r--staging_vespalib/src/vespa/vespalib/util/overview.h49
-rw-r--r--staging_vespalib/testrun/.gitignore10
-rw-r--r--storage/CMakeLists.txt10
-rw-r--r--storage/src/tests/persistence/filestorage/CMakeLists.txt1
-rw-r--r--storage/src/tests/storageapi/.gitignore (renamed from storageapi/src/tests/.gitignore)0
-rw-r--r--storage/src/tests/storageapi/CMakeLists.txt (renamed from storageapi/src/tests/CMakeLists.txt)2
-rw-r--r--storage/src/tests/storageapi/buckets/.gitignore (renamed from storageapi/src/tests/buckets/.gitignore)0
-rw-r--r--storage/src/tests/storageapi/buckets/CMakeLists.txt (renamed from storageapi/src/tests/buckets/CMakeLists.txt)2
-rw-r--r--storage/src/tests/storageapi/buckets/bucketinfotest.cpp (renamed from storageapi/src/tests/buckets/bucketinfotest.cpp)0
-rw-r--r--storage/src/tests/storageapi/gtest_runner.cpp (renamed from storageapi/src/tests/gtest_runner.cpp)0
-rw-r--r--storage/src/tests/storageapi/mbusprot/.gitignore (renamed from storageapi/src/tests/mbusprot/.gitignore)0
-rw-r--r--storage/src/tests/storageapi/mbusprot/CMakeLists.txt (renamed from storageapi/src/tests/mbusprot/CMakeLists.txt)2
-rw-r--r--storage/src/tests/storageapi/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE (renamed from storageapi/src/tests/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE)0
-rw-r--r--storage/src/tests/storageapi/mbusprot/storageprotocoltest.cpp (renamed from storageapi/src/tests/mbusprot/storageprotocoltest.cpp)0
-rw-r--r--storage/src/tests/storageapi/messageapi/.gitignore (renamed from storageapi/src/tests/message/.gitignore)0
-rw-r--r--storage/src/tests/storageapi/messageapi/CMakeLists.txt (renamed from storageapi/src/tests/messageapi/CMakeLists.txt)2
-rw-r--r--storage/src/tests/storageapi/messageapi/storage_message_address_test.cpp (renamed from storageapi/src/tests/messageapi/storage_message_address_test.cpp)0
-rw-r--r--storage/src/vespa/storage/CMakeLists.txt6
-rw-r--r--storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp6
-rw-r--r--storage/src/vespa/storage/storageserver/bouncer.cpp18
-rw-r--r--storage/src/vespa/storage/storageserver/bouncer.h4
-rw-r--r--storage/src/vespa/storageapi/.gitignore (renamed from storageapi/src/vespa/storageapi/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/app/.gitignore (renamed from storageapi/src/vespa/storageapi/app/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/app/CMakeLists.txt (renamed from storageapi/src/vespa/storageapi/app/CMakeLists.txt)2
-rw-r--r--storage/src/vespa/storageapi/app/getbucketid.cpp (renamed from storageapi/src/vespa/storageapi/app/getbucketid.cpp)0
-rw-r--r--storage/src/vespa/storageapi/buckets/.gitignore (renamed from storageapi/src/vespa/storageapi/buckets/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/buckets/CMakeLists.txt (renamed from storageapi/src/vespa/storageapi/buckets/CMakeLists.txt)0
-rw-r--r--storage/src/vespa/storageapi/buckets/bucketinfo.cpp (renamed from storageapi/src/vespa/storageapi/buckets/bucketinfo.cpp)3
-rw-r--r--storage/src/vespa/storageapi/buckets/bucketinfo.h (renamed from storageapi/src/vespa/storageapi/buckets/bucketinfo.h)4
-rw-r--r--storage/src/vespa/storageapi/defs.h (renamed from storageapi/src/vespa/storageapi/defs.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/.gitignore (renamed from storageapi/src/vespa/storageapi/mbusprot/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/CMakeLists.txt (renamed from storageapi/src/vespa/storageapi/mbusprot/CMakeLists.txt)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h (renamed from storageapi/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/oldreturncodemapper.h (renamed from storageapi/src/vespa/storageapi/mbusprot/oldreturncodemapper.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf/common.proto (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf/common.proto)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf/feed.proto (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf/feed.proto)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf/inspect.proto (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf/inspect.proto)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf/visiting.proto (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf/visiting.proto)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protobuf_includes.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protobuf_includes.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization7.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/protocolserialization7.h (renamed from storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/serializationhelper.h (renamed from storageapi/src/vespa/storageapi/mbusprot/serializationhelper.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagecommand.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/storagecommand.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagecommand.h (renamed from storageapi/src/vespa/storageapi/mbusprot/storagecommand.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagemessage.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/storagemessage.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagemessage.h (renamed from storageapi/src/vespa/storageapi/mbusprot/storagemessage.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storageprotocol.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storageprotocol.h (renamed from storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagereply.cpp (renamed from storageapi/src/vespa/storageapi/mbusprot/storagereply.cpp)0
-rw-r--r--storage/src/vespa/storageapi/mbusprot/storagereply.h (renamed from storageapi/src/vespa/storageapi/mbusprot/storagereply.h)0
-rw-r--r--storage/src/vespa/storageapi/message/.gitignore (renamed from storageapi/src/vespa/storageapi/message/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/message/CMakeLists.txt (renamed from storageapi/src/vespa/storageapi/message/CMakeLists.txt)0
-rw-r--r--storage/src/vespa/storageapi/message/bucket.cpp (renamed from storageapi/src/vespa/storageapi/message/bucket.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/bucket.h (renamed from storageapi/src/vespa/storageapi/message/bucket.h)0
-rw-r--r--storage/src/vespa/storageapi/message/bucketsplitting.cpp (renamed from storageapi/src/vespa/storageapi/message/bucketsplitting.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/bucketsplitting.h (renamed from storageapi/src/vespa/storageapi/message/bucketsplitting.h)0
-rw-r--r--storage/src/vespa/storageapi/message/datagram.cpp (renamed from storageapi/src/vespa/storageapi/message/datagram.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/datagram.h (renamed from storageapi/src/vespa/storageapi/message/datagram.h)0
-rw-r--r--storage/src/vespa/storageapi/message/documentsummary.cpp (renamed from storageapi/src/vespa/storageapi/message/documentsummary.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/documentsummary.h (renamed from storageapi/src/vespa/storageapi/message/documentsummary.h)0
-rw-r--r--storage/src/vespa/storageapi/message/internal.cpp (renamed from storageapi/src/vespa/storageapi/message/internal.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/internal.h (renamed from storageapi/src/vespa/storageapi/message/internal.h)0
-rw-r--r--storage/src/vespa/storageapi/message/persistence.cpp (renamed from storageapi/src/vespa/storageapi/message/persistence.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/persistence.h (renamed from storageapi/src/vespa/storageapi/message/persistence.h)0
-rw-r--r--storage/src/vespa/storageapi/message/queryresult.cpp (renamed from storageapi/src/vespa/storageapi/message/queryresult.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/queryresult.h (renamed from storageapi/src/vespa/storageapi/message/queryresult.h)0
-rw-r--r--storage/src/vespa/storageapi/message/removelocation.cpp (renamed from storageapi/src/vespa/storageapi/message/removelocation.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/removelocation.h (renamed from storageapi/src/vespa/storageapi/message/removelocation.h)0
-rw-r--r--storage/src/vespa/storageapi/message/searchresult.cpp (renamed from storageapi/src/vespa/storageapi/message/searchresult.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/searchresult.h (renamed from storageapi/src/vespa/storageapi/message/searchresult.h)0
-rw-r--r--storage/src/vespa/storageapi/message/stat.cpp (renamed from storageapi/src/vespa/storageapi/message/stat.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/stat.h (renamed from storageapi/src/vespa/storageapi/message/stat.h)0
-rw-r--r--storage/src/vespa/storageapi/message/state.cpp (renamed from storageapi/src/vespa/storageapi/message/state.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/state.h (renamed from storageapi/src/vespa/storageapi/message/state.h)0
-rw-r--r--storage/src/vespa/storageapi/message/visitor.cpp (renamed from storageapi/src/vespa/storageapi/message/visitor.cpp)0
-rw-r--r--storage/src/vespa/storageapi/message/visitor.h (renamed from storageapi/src/vespa/storageapi/message/visitor.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/.gitignore (renamed from storageapi/src/vespa/storageapi/messageapi/.gitignore)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/CMakeLists.txt (renamed from storageapi/src/vespa/storageapi/messageapi/CMakeLists.txt)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketcommand.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/bucketcommand.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketcommand.h (renamed from storageapi/src/vespa/storageapi/messageapi/bucketcommand.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketinfocommand.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketinfocommand.h (renamed from storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketinforeply.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketinforeply.h (renamed from storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketreply.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/bucketreply.h (renamed from storageapi/src/vespa/storageapi/messageapi/bucketreply.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/maintenancecommand.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/maintenancecommand.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/maintenancecommand.h (renamed from storageapi/src/vespa/storageapi/messageapi/maintenancecommand.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/messagehandler.h (renamed from storageapi/src/vespa/storageapi/messageapi/messagehandler.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/returncode.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/returncode.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/returncode.h (renamed from storageapi/src/vespa/storageapi/messageapi/returncode.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagecommand.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/storagecommand.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagecommand.h (renamed from storageapi/src/vespa/storageapi/messageapi/storagecommand.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagemessage.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagemessage.h (renamed from storageapi/src/vespa/storageapi/messageapi/storagemessage.h)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagereply.cpp (renamed from storageapi/src/vespa/storageapi/messageapi/storagereply.cpp)0
-rw-r--r--storage/src/vespa/storageapi/messageapi/storagereply.h (renamed from storageapi/src/vespa/storageapi/messageapi/storagereply.h)0
-rw-r--r--storageapi/.gitignore1
-rw-r--r--storageapi/CMakeLists.txt26
-rw-r--r--storageapi/OWNERS1
-rw-r--r--storageapi/README1
-rw-r--r--storageapi/src/.gitignore5
-rw-r--r--storageapi/src/tests/messageapi/.gitignore9
-rw-r--r--storageapi/src/vespa/storageapi/CMakeLists.txt14
-rw-r--r--streamingvisitors/CMakeLists.txt1
-rw-r--r--tenant-cd-api/src/main/java/org/apiguardian/api/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java9
-rw-r--r--tenant-cd-api/src/main/java/org/opentest4j/package-info.java9
-rw-r--r--vbench/CMakeLists.txt1
-rw-r--r--vdslib/CMakeLists.txt1
-rw-r--r--vespaclient/CMakeLists.txt1
-rw-r--r--vespajlib/src/main/java/com/yahoo/vespa/objects/Ids.java2
-rw-r--r--vespalib/CMakeLists.txt25
-rw-r--r--vespalib/src/tests/array/.gitignore1
-rw-r--r--vespalib/src/tests/array/CMakeLists.txt7
-rw-r--r--vespalib/src/tests/array/sort_benchmark.cpp (renamed from staging_vespalib/src/tests/array/sort_benchmark.cpp)0
-rw-r--r--vespalib/src/tests/benchmark/.gitignore4
-rw-r--r--vespalib/src/tests/benchmark/CMakeLists.txt12
-rw-r--r--vespalib/src/tests/benchmark/benchmark.cpp (renamed from staging_vespalib/src/tests/benchmark/benchmark.cpp)0
-rwxr-xr-xvespalib/src/tests/benchmark/benchmark_test.sh21
-rw-r--r--vespalib/src/tests/benchmark/testbase.cpp (renamed from staging_vespalib/src/tests/benchmark/testbase.cpp)0
-rw-r--r--vespalib/src/tests/benchmark/testbase.h (renamed from staging_vespalib/src/tests/benchmark/testbase.h)0
-rw-r--r--vespalib/src/tests/bits/.gitignore4
-rw-r--r--vespalib/src/tests/bits/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/bits/bits_test.cpp (renamed from staging_vespalib/src/tests/bits/bits_test.cpp)0
-rw-r--r--vespalib/src/tests/clock/.gitignore5
-rw-r--r--vespalib/src/tests/clock/CMakeLists.txt14
-rw-r--r--vespalib/src/tests/clock/clock_benchmark.cpp (renamed from staging_vespalib/src/tests/clock/clock_benchmark.cpp)0
-rw-r--r--vespalib/src/tests/clock/clock_test.cpp (renamed from staging_vespalib/src/tests/clock/clock_test.cpp)0
-rw-r--r--vespalib/src/tests/crc/.gitignore4
-rw-r--r--vespalib/src/tests/crc/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/crc/crc_test.cpp (renamed from staging_vespalib/src/tests/crc/crc_test.cpp)0
-rw-r--r--vespalib/src/tests/directio/.gitignore1
-rw-r--r--vespalib/src/tests/directio/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/directio/directio.cpp (renamed from staging_vespalib/src/tests/directio/directio.cpp)4
-rw-r--r--vespalib/src/tests/floatingpointtype/.gitignore4
-rw-r--r--vespalib/src/tests/floatingpointtype/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp (renamed from staging_vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp)0
-rw-r--r--vespalib/src/tests/growablebytebuffer/.gitignore4
-rw-r--r--vespalib/src/tests/growablebytebuffer/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp (renamed from staging_vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp)0
-rw-r--r--vespalib/src/tests/json/.gitignore1
-rw-r--r--vespalib/src/tests/json/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/json/json.cpp (renamed from staging_vespalib/src/tests/json/json.cpp)0
-rw-r--r--vespalib/src/tests/memorydatastore/.gitignore1
-rw-r--r--vespalib/src/tests/memorydatastore/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/memorydatastore/memorydatastore.cpp (renamed from staging_vespalib/src/tests/memorydatastore/memorydatastore.cpp)0
-rw-r--r--vespalib/src/tests/objects/identifiable/.gitignore (renamed from staging_vespalib/src/tests/objects/.gitignore)2
-rw-r--r--vespalib/src/tests/objects/identifiable/CMakeLists.txt9
-rw-r--r--vespalib/src/tests/objects/identifiable/identifiable_test.cpp (renamed from staging_vespalib/src/tests/objects/identifiable_test.cpp)4
-rw-r--r--vespalib/src/tests/objects/identifiable/namedobject.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/namedobject.cpp)0
-rw-r--r--vespalib/src/tests/objects/identifiable/namedobject.h (renamed from staging_vespalib/src/vespa/vespalib/objects/namedobject.h)0
-rw-r--r--vespalib/src/tests/objects/objectdump/.gitignore4
-rw-r--r--vespalib/src/tests/objects/objectdump/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/objects/objectdump/objectdump.cpp (renamed from staging_vespalib/src/tests/objectdump/objectdump.cpp)0
-rw-r--r--vespalib/src/tests/objects/objectselection/.gitignore4
-rw-r--r--vespalib/src/tests/objects/objectselection/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/objects/objectselection/objectselection.cpp (renamed from staging_vespalib/src/tests/objectselection/objectselection.cpp)0
-rw-r--r--vespalib/src/tests/polymorphicarray/.gitignore1
-rw-r--r--vespalib/src/tests/polymorphicarray/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp (renamed from staging_vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp)0
-rw-r--r--vespalib/src/tests/programoptions/.gitignore4
-rw-r--r--vespalib/src/tests/programoptions/CMakeLists.txt9
-rw-r--r--vespalib/src/tests/programoptions/programoptions_test.cpp (renamed from staging_vespalib/src/tests/programoptions/programoptions_test.cpp)4
-rw-r--r--vespalib/src/tests/programoptions/programoptions_testutils.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.cpp)2
-rw-r--r--vespalib/src/tests/programoptions/programoptions_testutils.h (renamed from staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.h)0
-rw-r--r--vespalib/src/tests/rusage/.gitignore1
-rw-r--r--vespalib/src/tests/rusage/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/rusage/rusage_test.cpp (renamed from staging_vespalib/src/tests/rusage/rusage_test.cpp)0
-rw-r--r--vespalib/src/tests/shutdownguard/.gitignore1
-rw-r--r--vespalib/src/tests/shutdownguard/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/shutdownguard/shutdownguard_test.cpp (renamed from staging_vespalib/src/tests/shutdownguard/shutdownguard_test.cpp)0
-rw-r--r--vespalib/src/tests/stllike/CMakeLists.txt14
-rw-r--r--vespalib/src/tests/stllike/cache_test.cpp (renamed from staging_vespalib/src/tests/stllike/cache_test.cpp)0
-rw-r--r--vespalib/src/tests/stllike/lrucache.cpp (renamed from staging_vespalib/src/tests/stllike/lrucache.cpp)0
-rw-r--r--vespalib/src/tests/util/process_memory_stats/.gitignore2
-rw-r--r--vespalib/src/tests/util/process_memory_stats/CMakeLists.txt9
-rw-r--r--vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp (renamed from staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp)0
-rwxr-xr-xvespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh (renamed from staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh)2
-rw-r--r--vespalib/src/tests/xmlserializable/.gitignore4
-rw-r--r--vespalib/src/tests/xmlserializable/CMakeLists.txt8
-rw-r--r--vespalib/src/tests/xmlserializable/xmlserializabletest.cpp (renamed from staging_vespalib/src/tests/xmlserializable/xmlserializabletest.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/CMakeLists.txt14
-rw-r--r--vespalib/src/vespa/vespalib/objects/asciiserializer.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/asciiserializer.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/asciiserializer.h (renamed from staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/deserializer.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/deserializer.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/deserializer.h (renamed from staging_vespalib/src/vespa/vespalib/objects/deserializer.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/deserializer.hpp (renamed from staging_vespalib/src/vespa/vespalib/objects/deserializer.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/floatingpointtype.h (renamed from staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/identifiable.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/identifiable.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/identifiable.h (renamed from staging_vespalib/src/vespa/vespalib/objects/identifiable.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/identifiable.hpp (renamed from staging_vespalib/src/vespa/vespalib/objects/identifiable.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/ids.h (renamed from staging_vespalib/src/vespa/vespalib/objects/ids.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/nboserializer.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/nboserializer.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/nboserializer.h (renamed from staging_vespalib/src/vespa/vespalib/objects/nboserializer.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/object2slime.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/object2slime.h (renamed from staging_vespalib/src/vespa/vespalib/objects/object2slime.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectdumper.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/objectdumper.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectdumper.h (renamed from staging_vespalib/src/vespa/vespalib/objects/objectdumper.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectoperation.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/objectoperation.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectoperation.h (renamed from staging_vespalib/src/vespa/vespalib/objects/objectoperation.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectpredicate.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/objectpredicate.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectpredicate.h (renamed from staging_vespalib/src/vespa/vespalib/objects/objectpredicate.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectvisitor.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/objectvisitor.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/objectvisitor.h (renamed from staging_vespalib/src/vespa/vespalib/objects/objectvisitor.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/serializer.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/serializer.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/serializer.h (renamed from staging_vespalib/src/vespa/vespalib/objects/serializer.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/serializer.hpp (renamed from staging_vespalib/src/vespa/vespalib/objects/serializer.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/visit.cpp (renamed from staging_vespalib/src/vespa/vespalib/objects/visit.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/visit.h (renamed from staging_vespalib/src/vespa/vespalib/objects/visit.h)0
-rw-r--r--vespalib/src/vespa/vespalib/objects/visit.hpp (renamed from staging_vespalib/src/vespa/vespalib/objects/visit.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/stllike/cache.h (renamed from staging_vespalib/src/vespa/vespalib/stllike/cache.h)0
-rw-r--r--vespalib/src/vespa/vespalib/stllike/cache.hpp (renamed from staging_vespalib/src/vespa/vespalib/stllike/cache.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/stllike/cache_stats.h (renamed from staging_vespalib/src/vespa/vespalib/stllike/cache_stats.h)0
-rw-r--r--vespalib/src/vespa/vespalib/stllike/lrucache_map.h (renamed from staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.h)0
-rw-r--r--vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp (renamed from staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/CMakeLists.txt16
-rw-r--r--vespalib/src/vespa/vespalib/util/alloc.cpp11
-rw-r--r--vespalib/src/vespa/vespalib/util/bits.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/bits.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/bits.h (renamed from staging_vespalib/src/vespa/vespalib/util/bits.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/clock.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/clock.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/clock.h (renamed from staging_vespalib/src/vespa/vespalib/util/clock.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/crc.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/crc.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/crc.h (renamed from staging_vespalib/src/vespa/vespalib/util/crc.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/document_runnable.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/document_runnable.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/document_runnable.h (renamed from staging_vespalib/src/vespa/vespalib/util/document_runnable.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/doom.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/doom.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/doom.h (renamed from staging_vespalib/src/vespa/vespalib/util/doom.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/growablebytebuffer.h (renamed from staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/jsonexception.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/jsonexception.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/jsonexception.h (renamed from staging_vespalib/src/vespa/vespalib/util/jsonexception.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/jsonstream.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/jsonstream.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/jsonstream.h (renamed from staging_vespalib/src/vespa/vespalib/util/jsonstream.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h (renamed from staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/polymorphicarray.h (renamed from staging_vespalib/src/vespa/vespalib/util/polymorphicarray.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/polymorphicarraybase.h (renamed from staging_vespalib/src/vespa/vespalib/util/polymorphicarraybase.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/polymorphicarrays.h (renamed from staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/process_memory_stats.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/process_memory_stats.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/process_memory_stats.h (renamed from staging_vespalib/src/vespa/vespalib/util/process_memory_stats.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/programoptions.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/programoptions.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/programoptions.h (renamed from staging_vespalib/src/vespa/vespalib/util/programoptions.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/rusage.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/rusage.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/rusage.h (renamed from staging_vespalib/src/vespa/vespalib/util/rusage.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/shutdownguard.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/shutdownguard.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/shutdownguard.h (renamed from staging_vespalib/src/vespa/vespalib/util/shutdownguard.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/sort.h (renamed from staging_vespalib/src/vespa/vespalib/util/sort.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/testclock.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/testclock.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/testclock.h (renamed from staging_vespalib/src/vespa/vespalib/util/testclock.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/varholder.h (renamed from staging_vespalib/src/vespa/vespalib/util/varholder.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/xmlserializable.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/xmlserializable.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/xmlserializable.h (renamed from staging_vespalib/src/vespa/vespalib/util/xmlserializable.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/xmlstream.cpp (renamed from staging_vespalib/src/vespa/vespalib/util/xmlstream.cpp)0
-rw-r--r--vespalib/src/vespa/vespalib/util/xmlstream.h (renamed from staging_vespalib/src/vespa/vespalib/util/xmlstream.h)0
-rw-r--r--vespalib/src/vespa/vespalib/util/xmlstream.hpp (renamed from staging_vespalib/src/vespa/vespalib/util/xmlstream.hpp)0
546 files changed, 637 insertions, 3308 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 85a2ac0d794..ec0fc4a4dda 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,7 +95,6 @@ add_subdirectory(jdisc_core)
add_subdirectory(jdisc-security-filters)
add_subdirectory(jdisc_jetty)
add_subdirectory(jrt_test)
-add_subdirectory(juniper)
add_subdirectory(linguistics)
add_subdirectory(linguistics-components)
add_subdirectory(logd)
@@ -113,7 +112,6 @@ add_subdirectory(node-repository)
add_subdirectory(orchestrator)
add_subdirectory(persistence)
add_subdirectory(predicate-search)
-add_subdirectory(searchcommon)
add_subdirectory(searchcore)
add_subdirectory(searchlib)
add_subdirectory(searchsummary)
@@ -121,10 +119,8 @@ add_subdirectory(security-tools)
add_subdirectory(security-utils)
add_subdirectory(service-monitor)
add_subdirectory(slobrok)
-add_subdirectory(staging_vespalib)
add_subdirectory(standalone-container)
add_subdirectory(storage)
-add_subdirectory(storageapi)
add_subdirectory(storageserver)
add_subdirectory(statistics)
add_subdirectory(streamingvisitors)
diff --git a/Code-map.md b/Code-map.md
index 247828f4e77..40307ef7e30 100644
--- a/Code-map.md
+++ b/Code-map.md
@@ -93,7 +93,6 @@ It is implemented in Java.
Libraries used throughput the code.
- [vespalib](https://github.com/vespa-engine/vespa/tree/master/vespalib) - general utility library for C++
-- [staging_vespalib](https://github.com/vespa-engine/vespa/tree/master/staging_vespalib) - general (less stable) utility library for C++
- [vespajlib](https://github.com/vespa-engine/vespa/tree/master/vespajlib) - general utility library for Java. Includes the Java implementation of the tensor library.
- [yolean](https://github.com/vespa-engine/vespa/tree/master/yolean) - another (more stable) general Java utility library
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
index 8166fb33b78..2f73bff83b8 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java
@@ -181,6 +181,7 @@ public class DeploymentSpecXmlReader {
int maxIdleHours = getWithFallback(instanceTag, parentTag, upgradeTag, "max-idle-hours", Integer::parseInt, 8);
List<DeploymentSpec.ChangeBlocker> changeBlockers = readChangeBlockers(instanceTag, parentTag);
Optional<AthenzService> athenzService = mostSpecificAttribute(instanceTag, athenzServiceAttribute).map(AthenzService::from);
+ Optional<CloudAccount> cloudAccount = mostSpecificAttribute(instanceTag, cloudAccountAttribute).map(CloudAccount::new);
Notifications notifications = readNotifications(instanceTag, parentTag);
// Values where there is no default
@@ -203,8 +204,7 @@ public class DeploymentSpecXmlReader {
changeBlockers,
Optional.ofNullable(prodAttributes.get(globalServiceIdAttribute)),
athenzService,
- Optional.ofNullable(prodAttributes.get(cloudAccountAttribute))
- .map(CloudAccount::new),
+ cloudAccount,
notifications,
endpoints,
now))
@@ -226,10 +226,8 @@ public class DeploymentSpecXmlReader {
if (prodTag.equals(stepTag.getTagName())) {
readGlobalServiceId(stepTag).ifPresent(id -> prodAttributes.put(globalServiceIdAttribute, id));
- readCloudAccount(stepTag).ifPresent(account -> prodAttributes.put(cloudAccountAttribute, account));
} else {
if (readGlobalServiceId(stepTag).isPresent()) illegal("Attribute '" + globalServiceIdAttribute + "' is only valid on 'prod' tag");
- if (!regionTag.equals(stepTag.getTagName()) && readCloudAccount(stepTag).isPresent()) illegal("Attribute '" + cloudAccountAttribute + "' is only valid on 'prod' or 'region' tag");
}
switch (stepTag.getTagName()) {
@@ -435,12 +433,7 @@ public class DeploymentSpecXmlReader {
Optional<String> testerFlavor, Element regionTag) {
return new DeclaredZone(environment, Optional.of(RegionName.from(XML.getValue(regionTag).trim())),
readActive(regionTag), athenzService, testerFlavor,
- readCloudAccount(regionTag).map(CloudAccount::new));
- }
-
- private Optional<String> readCloudAccount(Element tag) {
- return Optional.of(tag.getAttribute(cloudAccountAttribute))
- .filter(account -> !account.isEmpty());
+ stringAttribute(cloudAccountAttribute, regionTag).map(CloudAccount::new));
}
private Optional<String> readGlobalServiceId(Element environmentTag) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
index dfe8b324d1c..7f0e9b4cae8 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecTest.java
@@ -1513,22 +1513,24 @@ public class DeploymentSpecTest {
@Test
public void cloudAccount() {
StringReader r = new StringReader(
- "<deployment version='1.0'>" +
- " <instance id='beta'>" +
- " <prod cloud-account='219876543210'>" +
+ "<deployment version='1.0' cloud-account='100000000000'>" +
+ " <instance id='beta' cloud-account='200000000000'>" +
+ " <prod>" +
" <region>us-west-1</region>" +
" </prod>" +
" </instance>" +
" <instance id='main'>" +
- " <prod cloud-account='012345678912'>" +
- " <region>us-east-1</region>" +
+ " <prod>" +
+ " <region cloud-account='300000000000'>us-east-1</region>" +
+ " <region>eu-west-1</region>" +
" </prod>" +
" </instance>" +
"</deployment>"
);
DeploymentSpec spec = DeploymentSpec.fromXml(r);
- assertEquals(Optional.of(new CloudAccount("219876543210")), spec.requireInstance("beta").cloudAccount(Environment.prod, RegionName.from("us-east-1")));
- assertEquals(Optional.of(new CloudAccount("012345678912")), spec.requireInstance("main").cloudAccount(Environment.prod, RegionName.from("us-west-1")));
+ assertEquals(Optional.of(new CloudAccount("200000000000")), spec.requireInstance("beta").cloudAccount(Environment.prod, RegionName.from("us-west-1")));
+ assertEquals(Optional.of(new CloudAccount("300000000000")), spec.requireInstance("main").cloudAccount(Environment.prod, RegionName.from("us-east-1")));
+ assertEquals(Optional.of(new CloudAccount("100000000000")), spec.requireInstance("main").cloudAccount(Environment.prod, RegionName.from("eu-west-1")));
}
private static void assertInvalid(String deploymentSpec, String errorMessagePart) {
diff --git a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
index aa8946a9dca..1232f700fee 100644
--- a/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
+++ b/config-model-api/src/test/java/com/yahoo/config/application/api/DeploymentSpecWithoutInstanceTest.java
@@ -706,8 +706,8 @@ public class DeploymentSpecWithoutInstanceTest {
@Test
public void productionSpecWithCloudAccount() {
StringReader r = new StringReader(
- "<deployment version='1.0'>" +
- " <prod cloud-account='012345678912'>" +
+ "<deployment version='1.0' cloud-account='012345678912'>" +
+ " <prod>" +
" <region cloud-account='219876543210'>us-east-1</region>" +
" <region>us-west-1</region>" +
" </prod>" +
diff --git a/config-model/src/main/java/com/yahoo/schema/document/Attribute.java b/config-model/src/main/java/com/yahoo/schema/document/Attribute.java
index f2279a52855..5593c3f8cdf 100644
--- a/config-model/src/main/java/com/yahoo/schema/document/Attribute.java
+++ b/config-model/src/main/java/com/yahoo/schema/document/Attribute.java
@@ -232,7 +232,9 @@ public final class Attribute implements Cloneable, Serializable {
public void setEnableBitVectors(boolean enableBitVectors) { this.enableBitVectors = enableBitVectors; }
public void setEnableOnlyBitVector(boolean enableOnlyBitVector) { this.enableOnlyBitVector = enableOnlyBitVector; }
public void setFastRank(boolean value) {
- Supplier<IllegalArgumentException> badGen = () -> new IllegalArgumentException("fast-rank is only valid for tensor attributes, invalid for: "+this);
+ Supplier<IllegalArgumentException> badGen = () ->
+ new IllegalArgumentException("The " + toString() + " does not support 'fast-rank'. " +
+ "Only supported for tensor types with at least one mapped dimension");
var tt = tensorType.orElseThrow(badGen);
for (var dim : tt.dimensions()) {
if (dim.isMapped()) {
@@ -425,7 +427,7 @@ public final class Attribute implements Cloneable, Serializable {
@Override
public String toString() {
- return "attribute '" + name + "' (" + type + ")";
+ return "attribute '" + name + "' (" + (tensorType.isPresent() ? tensorType.get() : type) + ")";
}
public Set<String> getAliases() {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
index c2b0a358a54..b2df37c47b2 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/monitoring/Metric.java
@@ -1,9 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.admin.monitoring;
-import javax.annotation.concurrent.Immutable;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -13,7 +10,6 @@ import java.util.Map;
* @author trygve
* @author gjoranv
*/
-@Immutable
public class Metric {
public final String name;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
index 432424c8027..cfb641882f6 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidator.java
@@ -110,6 +110,7 @@ public class AttributeChangeValidator {
Attribute current = currentFields.getAttribute(next.getName());
if (current != null) {
validateAttributePredicate(id, current, next, Attribute::isFastSearch, "fast-search", result);
+ validateAttributePredicate(id, current, next, Attribute::isFastRank, "fast-rank", result);
validateAttributePredicate(id, current, next, Attribute::isFastAccess, "fast-access", result);
validateAttributeProperty(id, current, next, AttributeChangeValidator::extractDictionaryType, "dictionary: btree/hash", result);
validateAttributeProperty(id, current, next, AttributeChangeValidator::extractDictionaryCase, "dictionary: cased/uncased", result);
diff --git a/config-model/src/main/resources/schema/deployment.rnc b/config-model/src/main/resources/schema/deployment.rnc
index bda3f0c0896..3abced8e04a 100644
--- a/config-model/src/main/resources/schema/deployment.rnc
+++ b/config-model/src/main/resources/schema/deployment.rnc
@@ -7,6 +7,7 @@ start = element deployment {
attribute major-version { text }? &
attribute athenz-domain { xsd:string }? &
attribute athenz-service { xsd:string }? &
+ attribute cloud-account { xsd:string }? &
Step
}
@@ -33,6 +34,7 @@ PrimitiveStep =
Instance = element instance {
attribute id { xsd:string } &
attribute athenz-service { xsd:string }? &
+ attribute cloud-account { xsd:string }? &
StepExceptInstance
}
@@ -97,7 +99,6 @@ Prod = element prod {
attribute global-service-id { text }? &
attribute athenz-service { xsd:string }? &
attribute tester-flavor { xsd:string }? &
- attribute cloud-account { xsd:string }? &
Region* &
Delay* &
ProdTest* &
diff --git a/config-model/src/test/java/com/yahoo/schema/processing/TensorFieldTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/TensorFieldTestCase.java
index 67c77508e3b..9164f361a92 100644
--- a/config-model/src/test/java/com/yahoo/schema/processing/TensorFieldTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/processing/TensorFieldTestCase.java
@@ -55,6 +55,17 @@ public class TensorFieldTestCase {
}
@Test
+ public void requireThatIndexedTensorAttributeCannotBeFastRank() throws ParseException {
+ try {
+ createFromString(getSd("field f1 type tensor(x[3]) { indexing: attribute \n attribute: fast-rank }"));
+ fail("Expected exception");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("The attribute 'f1' (tensor(x[3])) does not support 'fast-rank'. Only supported for tensor types with at least one mapped dimension", e.getMessage());
+ }
+ }
+
+ @Test
public void requireThatIllegalTensorTypeSpecThrowsException() throws ParseException {
try {
createFromString(getSd("field f1 type tensor(invalid) { indexing: attribute }"));
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
index 3cfde4c4d19..c3aa387da54 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/search/AttributeChangeValidatorTest.java
@@ -76,6 +76,14 @@ public class AttributeChangeValidatorTest {
}
@Test
+ public void changing_fast_rank_require_restart() throws Exception {
+ new Fixture("field f1 type tensor(x{}) { indexing: attribute }",
+ "field f1 type tensor(x{}) { indexing: attribute \n attribute: fast-rank }").
+ assertValidation(newRestartAction(ClusterSpec.Id.from("test"),
+ "Field 'f1' changed: add attribute 'fast-rank'"));
+ }
+
+ @Test
public void changing_btree2hash_require_restart() throws Exception {
new Fixture("field f1 type long { indexing: attribute\n attribute: fast-search\n dictionary: btree}",
"field f1 type long { indexing: attribute\n attribute: fast-search\n dictionary: hash }").
diff --git a/configd/src/apps/sentinel/CMakeLists.txt b/configd/src/apps/sentinel/CMakeLists.txt
index de384e8a3cd..79d4af7b3a4 100644
--- a/configd/src/apps/sentinel/CMakeLists.txt
+++ b/configd/src/apps/sentinel/CMakeLists.txt
@@ -25,5 +25,5 @@ vespa_add_executable(configd_config-sentinel_app
DEPENDS
fnet
configdefinitions
- staging_vespalib
+ vespalib
)
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 6fac2f7f73a..b13d4542eba 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -507,7 +507,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
// ---------------- Application operations ----------------------------------------------------------------
/**
- * Deletes an application
+ * Deletes an application and associated resources
*
* @return true if the application was found and deleted, false if it was not present
* @throws RuntimeException if deleting the application fails. This method is exception safe.
@@ -522,17 +522,21 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
.map(lock -> new ApplicationTransaction(lock, transaction));
try (var applicationLock = tenantApplications.lock(applicationId)) {
Optional<Long> activeSession = tenantApplications.activeSessionOf(applicationId);
- if (activeSession.isEmpty()) return false;
-
- try {
- Session session = getRemoteSession(tenant, activeSession.get());
- transaction.add(tenant.getSessionRepository().createSetStatusTransaction(session, Session.Status.DELETE));
- } catch (NotFoundException e) {
- log.log(Level.INFO, TenantRepository.logPre(applicationId) + "Active session exists, but has not been deleted properly. Trying to cleanup");
+ CompletionWaiter waiter;
+ if (activeSession.isPresent()) {
+ try {
+ Session session = getRemoteSession(tenant, activeSession.get());
+ transaction.add(tenant.getSessionRepository().createSetStatusTransaction(session, Session.Status.DELETE));
+ } catch (NotFoundException e) {
+ log.log(Level.INFO, TenantRepository.logPre(applicationId) + "Active session exists, but has not been deleted properly. Trying to cleanup");
+ }
+ waiter = tenantApplications.createRemoveApplicationWaiter(applicationId);
+ } else {
+ // If there's no active session, we still want to clean up any resources created in a failing prepare
+ waiter = new NoopCompletionWaiter();
}
Curator curator = tenantRepository.getCurator();
- CompletionWaiter waiter = tenantApplications.createRemoveApplicationWaiter(applicationId);
transaction.add(new ContainerEndpointsCache(tenant.getPath(), curator).delete(applicationId)); // TODO: Not unit tested
// Delete any application roles
transaction.add(new ApplicationRolesStore(curator, tenant.getPath()).delete(applicationId));
@@ -553,7 +557,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
// Wait for app being removed on other servers
waiter.awaitCompletion(Duration.ofSeconds(30));
- return true;
+ return activeSession.isPresent();
} finally {
applicationTransaction.ifPresent(ApplicationTransaction::close);
}
@@ -1210,4 +1214,14 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
}
+ private static class NoopCompletionWaiter implements CompletionWaiter {
+
+ @Override
+ public void awaitCompletion(Duration timeout) {}
+
+ @Override
+ public void notifyCompletion() {}
+
+ }
+
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index 1ad0765a25f..17a0a2e3cab 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -333,14 +333,16 @@ public class ApplicationRepositoryTest {
assertTrue(applicationRepository.delete(applicationId()));
assertTrue(applicationRepository.getActiveSession(applicationId()).isEmpty());
assertEquals(Optional.empty(), sessionRepository.getRemoteSession(sessionId).applicationSet());
- assertTrue(provisioner.removed());
+ assertEquals(1, provisioner.removeCount());
assertEquals(tenant().getName(), provisioner.lastApplicationId().tenant());
assertEquals(applicationId(), provisioner.lastApplicationId());
assertTrue(curator.exists(sessionNode));
assertEquals(Session.Status.DELETE.name(), Utf8.toString(curator.getData(sessionNode.append("sessionState")).get()));
assertTrue(sessionFile.exists());
+ // Deleting a non-existent application still attempts to remove resources
assertFalse(applicationRepository.delete(applicationId()));
+ assertEquals(2, provisioner.removeCount());
}
{
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/MockProvisioner.java b/configserver/src/test/java/com/yahoo/vespa/config/server/MockProvisioner.java
index f08da1e65c2..0ba3a6d883c 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/MockProvisioner.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/MockProvisioner.java
@@ -23,7 +23,7 @@ import java.util.List;
public class MockProvisioner implements Provisioner {
private boolean activated = false;
- private boolean removed = false;
+ private int removeCount = 0;
private boolean restarted = false;
private ApplicationId lastApplicationId;
private Collection<HostSpec> lastHosts;
@@ -70,7 +70,7 @@ public class MockProvisioner implements Provisioner {
if (failureOnRemove)
throw new IllegalStateException("Unable to remove " + transaction.application());
- removed = true;
+ removeCount++;
lastApplicationId = transaction.application();
}
@@ -94,8 +94,8 @@ public class MockProvisioner implements Provisioner {
return activated;
}
- public boolean removed() {
- return removed;
+ public int removeCount() {
+ return removeCount;
}
public boolean restarted() {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
index ffdd6da83a9..5d1a677bf51 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
@@ -266,9 +266,14 @@ public class ApplicationPackageBuilder {
StringBuilder xml = new StringBuilder();
xml.append("<deployment version='1.0' ");
majorVersion.ifPresent(v -> xml.append("major-version='").append(v).append("' "));
- if(athenzIdentityAttributes != null) {
+ if (athenzIdentityAttributes != null) {
xml.append(athenzIdentityAttributes);
}
+ if (cloudAccount != null) {
+ xml.append(" cloud-account='");
+ xml.append(cloudAccount);
+ xml.append("'");
+ }
xml.append(">\n");
for (String instance : instances.split(",")) {
xml.append(" <instance id='").append(instance).append("'>\n");
@@ -292,11 +297,6 @@ public class ApplicationPackageBuilder {
xml.append(globalServiceId);
xml.append("'");
}
- if (cloudAccount != null) {
- xml.append(" cloud-account='");
- xml.append(cloudAccount);
- xml.append("'");
- }
xml.append(">\n");
xml.append(prodBody);
xml.append(" </prod>\n");
diff --git a/dist/vespa.spec b/dist/vespa.spec
index 56463477cd4..a4ede9bac67 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -620,7 +620,7 @@ rm -rf %{buildroot}
%if 0%{?installdir:1}
cp -r %{installdir} %{buildroot}
%if 0%{?source_base:1} && ! (0%{?amzn2} || 0%{?el7})
-find %{buildroot} -iname '*.so' -print0 | xargs --no-run-if-empty -0 -n1 /usr/lib/rpm/debugedit -b %{source_base} -d %{_builddir}/%{name}-%{version}
+find %{buildroot} -exec file {} \; | grep ': ELF ' | cut -d: -f1 | xargs --no-run-if-empty -n1 /usr/lib/rpm/debugedit -b %{source_base} -d %{_builddir}/%{name}-%{version}
%endif
%else
make install DESTDIR=%{buildroot}
@@ -822,7 +822,6 @@ fi
%dir %{_prefix}/lib64
%{_prefix}/lib64/libfastos.so
%{_prefix}/lib64/libfnet.so
-%{_prefix}/lib64/libstaging_vespalib.so
%{_prefix}/lib64/libvespadefaults.so
%{_prefix}/lib64/libvespalib.so
%{_prefix}/lib64/libvespalog.so
@@ -835,7 +834,6 @@ fi
%{_prefix}/lib64
%exclude %{_prefix}/lib64/libfastos.so
%exclude %{_prefix}/lib64/libfnet.so
-%exclude %{_prefix}/lib64/libstaging_vespalib.so
%exclude %{_prefix}/lib64/libvespadefaults.so
%exclude %{_prefix}/lib64/libvespalib.so
%exclude %{_prefix}/lib64/libvespalog.so
diff --git a/document/CMakeLists.txt b/document/CMakeLists.txt
index 15954e9bfb2..88dbe2816d9 100644
--- a/document/CMakeLists.txt
+++ b/document/CMakeLists.txt
@@ -4,7 +4,6 @@ vespa_define_module(
fastos
vespalog
vespalib
- staging_vespalib
config_cloudconfig
vespaeval
diff --git a/eval/CMakeLists.txt b/eval/CMakeLists.txt
index ff731158b21..56db263fed4 100644
--- a/eval/CMakeLists.txt
+++ b/eval/CMakeLists.txt
@@ -2,7 +2,6 @@
vespa_define_module(
DEPENDS
vespalib
- staging_vespalib
APPS
src/apps/analyze_onnx_model
diff --git a/fbench/CMakeLists.txt b/fbench/CMakeLists.txt
index 77d0a5e9080..851d6706247 100644
--- a/fbench/CMakeLists.txt
+++ b/fbench/CMakeLists.txt
@@ -3,7 +3,6 @@ vespa_define_module(
DEPENDS
fastos
vespalib
- staging_vespalib
APPS
src/fbench
diff --git a/hosted-tenant-base/pom.xml b/hosted-tenant-base/pom.xml
index 3c17bb840c1..ad61e1c28c0 100644
--- a/hosted-tenant-base/pom.xml
+++ b/hosted-tenant-base/pom.xml
@@ -235,12 +235,11 @@
<!-- note: ordering affects how overrides are evaluated! -->
<testBundleScopeOverrides>
${extraTestBundleScopeOverrides},
- com.yahoo.vespa:application:test,
- com.yahoo.vespa:container-test:runtime,
org.junit.jupiter:junit-jupiter-api:provided,
- org.opentest4j:opentest4j:test,
org.junit.jupiter:junit-jupiter-engine:test,
org.junit.vintage:junit-vintage-engine:test,
+ com.yahoo.vespa:application:test,
+ com.yahoo.vespa:container-test:runtime,
com.yahoo.vespa:vespa-feed-client:runtime, <!-- prevent effective compile scope of vespa-feed-client in test bundle -->
com.yahoo.vespa:vespa-feed-client-api:provided,
com.yahoo.vespa:tenant-cd-api:provided
diff --git a/juniper/.gitignore b/juniper/.gitignore
deleted file mode 100644
index a106509440d..00000000000
--- a/juniper/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-*.dsp
-Makefile.ini
-config_command.sh
-include
-lib
-project.dsw
-Makefile
diff --git a/juniper/CMakeLists.txt b/juniper/CMakeLists.txt
deleted file mode 100644
index 34dea870ec8..00000000000
--- a/juniper/CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_define_module(
- DEPENDS
- fastos
- fastlib_fast
- vespalog
-
- LIBS
- src/vespa/juniper
-
- TESTS
- src/test
-)
diff --git a/juniper/INSTALL.txt b/juniper/INSTALL.txt
deleted file mode 100644
index 284b3eb38b2..00000000000
--- a/juniper/INSTALL.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-Juniper configuration and build instructions
---------------------------------------------------
-
-Juniper basically adheres to the standard FastOS configure/build environment.
-
-configure --help
-
-gives a list of configure options.
-
-Juniper supports most of the common build targets.
-
-Default configure parameters are set to assume that other dependent Fast modules
-are located at the same directory level as this modul.
-Default is to expect the minimal required set of modules.
-
-Prerequisites:
-----------------
-Common module dependencies:
-
-fastos and fastlib must have been built and installed.
-
-This version of Juniper requires fastlib 1.5.16 or higher.
-To be able to utilize the functionality for building in a different
-directory, fastos <= 1.6.0 is required.
-
-Postgres Document Store (optional,obsolete)
----------------------------------------------
-To build with Document Store support, Postgres must have been installed and
-path to this installation provided with the --pgsql-dir option. Default is
-to view document store as external to this module.
-
-
-libiconv (optional)
---------------------------
-The 3rdparty module libiconv is needed to run the unit tests in the src/tests directory.
-
-
-To build/install this module:
------------------------------------
-
-1) run configure
-
- A shell script named config_command.sh / config_command.bat will be updated to contain last
- used configure command to avoid having to re-remember the configure
- options currently in use.
-
-2) make depend
-
-3) make install
diff --git a/juniper/OWNERS b/juniper/OWNERS
deleted file mode 100644
index 6aeaba5f2a8..00000000000
--- a/juniper/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-geirst
-baldersheim
diff --git a/juniper/README b/juniper/README
deleted file mode 100644
index f044cad83e8..00000000000
--- a/juniper/README
+++ /dev/null
@@ -1,36 +0,0 @@
-
-This module implements a result processing solution to create
-dynamic teasers and proximity boosting of documents based on the
-input query.
-
-The module offers the following main interface:
-
-rpinterface.h
-
- This interface provides access for Juniper to full query structure information.
- The query provider needs to implement the IQuery interface to allow Juniper
- to traverse the query and possibly obtain additional information about each term.
- (see query.h which is included by rpinterface.h)
-
- This is the preferred result processing interface to Juniper.
-
- src/rpclient/testclient.cpp
-
- is an example of use of this interface.
-
-
-Directory structure:
--------------------------
-build - contains the fbuild official build specification for Juniper
-doc - contains manually written and generated (doxygen) documentation
- for Juniper.
-include - default public include file location
-lib - default library location
-src - the main source directory
-src/rpclient - example and regression test client
-src/test - unit and submodule tests using the Fastlib test framework
-src/util - contains some debug utilities for debugging/converting between
- unicode/iso character sets.
-
-See INSTALL.txt for build instructions.
-
diff --git a/juniper/doc/written/fsearchparams.html b/juniper/doc/written/fsearchparams.html
deleted file mode 100644
index 1a968e55c41..00000000000
--- a/juniper/doc/written/fsearchparams.html
+++ /dev/null
@@ -1,488 +0,0 @@
-<!-- Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -->
-<title>Juniper Configuration Documentation</title>
-<h1>Juniper Configuration Documentation</h1>
-
-<b>Note:</b> This document describes in details the functionality of Juniper v.2.1.0.
-The document has gradually become more and more for internal use for
-instance for detailed tuning
-by Professional Service. A more high level and less detailed user level
-configuration documentation is also available.
-<p>
-Juniper implements a combined proximity ranking and dynamic teaser result
-processing module.This module is intended to be interfaced to by different
-Fast software modules on demand. Currently, the only available module that
-makes use of Juniper is the Fast Server module, in which Juniper currently
-is an integrated part of <dfn>fsearch</dfn> (the search engine executable
-that runs on each search node in the system).
-
-<h2>Juniper simple description of functionality/implementation</h2>
-
-The document body is stripped for markup during document processing and
-stored as an extended document summary field.
-A max limit of how much of the document that gets stored is configurable as
-of Fast Server v.4.17 (see the Fast Server�configuration documentation for
-details). For each document
-on the result page, this document extract is retrieved and fed through
-Juniper which will perform the following steps:
-
-<ol>
- <li> Scan the stripped document text (docsum) for matches of the query,
- create a data structure containing information about those matches,
- and provide a quality measure (rank boost value) that can be used as a
- metric to determine the quality of the document wrt. proximity and
- position of the search string in the document. The data structure
- contains ao. a list of matches of the query ordered by quality (see below
- for the quality measure). The document quality measure is computed from the
- quality measure of the best of the individual matches and the total
- number of hits within the document.
-
- <li> Generate a dynamic teaser based on the data structure previously
- generated. The dynamic teaser is composed of a number of text segments
- that include the "best" matches of the query in that
- document. The teaser is presented with the query words highlighted.
- The definition of highlight is configurable. If the document is short
- enough to fit completely into the configured teaser length, it will be
- provided as is, but with highlighting of the relevant keywords.
-</ol>
-
-Step 2 is only necessary if the teaser is going to be displayed, which
-might be a decision taken on basis of the quality measure provided in step 1.
-
-<h3>Quality measure</h3>
-The text segments matching the query are ranked by (in decreasing order of
-significance):
-
-<ol>
- <li> Completeness * keyword weight -
- higher ranking if more search words are present in
- the same context, and relatively higher weight on matches that
- contains "important" terms compared to matches with stop words if
- equal number of words.
- <li> Proximity - query terms occurring near each other is better
- <li> Position - earlier in document is better
-</ol>
-
-The number of matches selected is based on text segment lengths including
-a configurable amound of surrounding text, the number of matching segments
-to use (configurable) and the required total summary
-size (configurable). The final set of matches is
-returned with markup for the hits and the abbreviated sections
-(continuation symbol).
-
-The query used for teaser generation has undergone proper name recognition
-and English spell checking. Highlighting is done on individual terms of the
-query. In particular, phrases are broken down into individual terms, but
-the preference to proximal terms will maintain the phrasing in the
-generated teaser.
-
-Lemmatization by expanding documents with word inflections cannot be used
-by Juniper. In the future, Juniper would expand the query based on the
-original query and language information. This functionality is not
-available yet, thus lemmatized terms will in general not be highlighted by
-Juniper.
-
-Currently Juniper uses an alternative, simple brute force stemming
-algorithm that basically allows prefixes of the document words to match if
-the document word in question is no longer than P (configurable) bytes
-<i>longer</i> than the query keyword.
-This algorithm works well for keywords of a certain size, but not for very
-short keywords. Thus an additional configuration variable defines a lower
-bound for what lengths of keywords that will be subject to this algorithm.
-With this simple algorithm in place, typical weak form singular to plural
-mapping will get highlighted while the opposite, going from a long form to
-a shorter one will not work as might be expected. Eg. this algorithm does
-not change the keywords themselves. Consequently, the shorter forms of the
-keywords are more likely to give non-exact hits in the dynamic summary.
-
-
-<h2>Fast Search configuration of Juniper</h2>
-Enabling Juniper functionality within Fast Search is done on a per field
-basis by means of override specifications in summary.map.
-Currently the following override specs are supported by Juniper:
-<p>
-<ul>
-<li><pre>override &lt;outputfield&gt; dynamicteaser &lt;inputfield&gt;</pre>
-<li><pre>override &lt;outputfield&gt; dynamicteasermetric
-&lt;inputfield&gt;</pre>
-<li><pre>override &lt;outputfield&gt; juniperlog &lt;inputfield&gt;</pre>
-</ul>
-<p>
-Details of the override directive can be found in <i>Fast Search 4.13 -
-Dynamic Docsum Generation Framework</i>.
-The <tt>dynamicteasermetric</tt> field provides a ranking of the document
-based on a corresponding metric as that used to select between individual
-matches for dynamic teaser generation inside a document. See the section on
-using Juniper for proximity boosting <a href="#proximity">below</a>
-The <tt>juniperlog</tt> field is new as of Juniper 2.0, and is used to
-retrieve the information generated by Juniper by means of the log query
-option, see the runtime option table <a href="#dynpar">below</a>.
-
-Note that when integrated into Data Search 3.1 and later,
-this part of the configuration will be generated via
-<ol>
-<li>The index profile
-<li>The index configuration (indexConfig.xml) by the config server.
-</ol>
-
-<h3>Configuration levels</h3>
-When integrated into Fast Search, Juniper receives its default parameters from
-global settings in the <dfn>fsearchrc</dfn> config file.
-These configuration parameter settings must be preconfigured at
-<dfn>fsearch</dfn> process startup time. Two levels of system configuration
-is currently supported,
-<ol>
-<li><b>System default configuration:</b> This is the configuration settings
-exemplified by the parameter descriptions below.
-<li><b>Per field configuration:</b>By using the field names instead of the
-string "juniper" as prefix, the default setting can be overridden on a
-<dfn>result field</dfn> basis. Eg. setting for instance
-<pre>myfield.dynsum.length 512</pre> (see below) would allow the
-<tt>myfield</tt> result field to receive a different teaser length.
-</ol>
-In addition Juniper 2.x supports changing certain subset of the parameters
-on a per query basis. See <a href="#dynpar">separate section</a> on this below.
-<p>
-<b>Performance note:</b> The per field configuration possibility should be used with
-care since overriding some parameters may cause significant computation
-overhead in that Juniper would have to scan the whole text multiple times.
-Changing the <tt>dynsum</tt> group of fields is generally quite performance
-conservative (only the teaser generation phase would have to be repeated),
-while changing any of the <tt>stem</tt> or <tt>matcher</tt>
-fields would require a different text scan for each combination of
-parameters.
-
-<h3>Arbitrary byte sequences in markup parameters</h3>
-To allow arbitrary byte seqences (such as low ascii values) to be used to
-denote highlight on/off and continuation symbol(s), Juniper now accepts
-strings on the form \xNN where the N's are hex values [0-9a-fA-F].
-This will be converted into a byte value of NN. Note that Juniper exports
-UTF-8 text so this sequence should be a valid UTF-8 byte sequence. No
-checks are performed from Juniper on the validity of such strings in the
-<dfn>fsearch</dfn> domain.
-As a consequence of this, occurrences of backslash must be escaped
-accordingly (<dfn>\\</dfn>).
-
-
-<h3>Blanks in text parameters must be escaped</h3>
-Note that <dfn>fsearchrc</dfn> does not accept blanks in the
-parameters. To allow more complicated highlight markup, the sequence
-<dfn>\x20</dfn> must be used as space in text fields.
-
-<p>
-<h3><a name="em"></a>Escaping markup in the summary text</h3>
-Since Juniper may supply markup through the use of the
-highlight and continuation parameters, problems may occur if the
-analysed text itself contains markup. To avoid this, Juniper may be
-configured to escape the 5 XML/HTML markup symbols
-(<dfn>&quot;&amp;&lt;&apos;&gt;</dfn>) before adding the mentioned
-parametrized symbols. See the description of the
-juniper.dynsum.escape_markup parameter <a href="#empar">below</a>.
-<p>
-The following variables are available for static, global configuration for
-a particular search node:
-<p>
-
-<table><a name="conftable"></a>
- <tr bgcolor="#f0f0f0"><td><b>Parameter name</b></td><td><b>Default
- value</b></td><td><b>Description</b></td>
- </tr>
-
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.highlight_on</td><td>&lt;b&gt;</td>
- <td>A string to be included <i>before</i> each hit in the generated summary</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.highlight_off</td>
- <td>&lt;/b&gt;</td><td>A string to be included <i>after</i> each hit in
- the generated summary</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.continuation</td>
- <td>...</td><td>A string to be included to denote
- abbreviated/left out pieces of the original text in the generated summary</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.separators</td>
- <td>\x1D\x1F</td><td>A string containing characters that are added for
- word separation purposes (eg.CJK languages and German/Norwegian
- etc. word separation). This list should contain non-word characters
- only for this to be meaningful. Also, currently only single byte
- characters are supported. These characters wil be removed from the
- generated teaser by Juniper.</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.connectors</td>
- <td>-'</td><td>A string containing characters that may connect two word
- tokens to form a single word. Words connected by a single such
- character will not be splitted by Juniper when generating the teaser.</td>
- <tr bgcolor="#f0f0f0">
- <td><a name="empar"></a>juniper.dynsum.escape_markup</td>
- <td>auto</td><td>See <a href="#em">description</a> above. Accepted values:
- <dfn>on</dfn>,<dfn>off</dfn> or <dfn>auto</dfn>. If <dfn>auto</dfn> is
- used, Juniper will escape markup in the generated summary if any of the symbols
- <dfn>highlight_on</dfn>, <dfn>highlight_off</dfn> or
- <dfn>continuation</dfn> contains a <dfn>&lt;</dfn> as the first
- character.
- </td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.length</td>
- <td>256</td><td>Length of the generated summary in bytes. This is a
- hint to Juniper. The result may be slightly longer or shorter depending
- on the structure of the available document text and the submitted
- query.</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.max_matches</td>
- <td>4</td><td>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 <i>length</i> parameter, the more
- dense the keywords may appear in the summary.</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.min_length</td>
- <td>128</td><td>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 <i>min_length</i> bytes with
- <i>max_matches</i> matches, then additional matches will be used if available.</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.dynsum.surround_max</td>
- <td>80</td><td>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.</td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.stem.min_length</td>
- <td>5</td><td>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.
- </td>
- <tr bgcolor="#f0f0f0">
- <td>juniper.stem.max_extend</td>
- <td>3</td><td>The maximal number of bytes that a word in the document
- can be <i>longer</i> 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.
- </td>
- </tr>
- <tr bgcolor="#f0f0f0">
- <td>juniper.matcher.winsize</td>
- <td>400</td><td>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.
- </td>
- </tr>
- <tr bgcolor="#f0f0f0">
- <td>juniper.proximity.factor</td><td>0.25</td><td>
-A factor to multiply the internal Juniper metric with when producing
-proximity metric for a given field. A real/floating point value accepted
-Note that the QRserver (see <a href="#qrserver">below</a>)
-also supports a factor that is global to all proximity
-metric fields, and that is applied in addition. </td>
- </tr>
-
-</table>
-
-<h2><a name="dynpar"></a>Alternate behaviour of Juniper on a per query
-basis</h2>
-As of Juniper v.2.x and Fastserver v.4.17, and QRserver for Data Search
-3.2, Juniper supports a number of Juniper specific options that can be
-provided as part of the URL. The format of the option string is
-<pre>
- juniper=&lt;param_name&gt;.&lt;value&gt;[_&lt;param_name&gt;.&lt;value&gt;]*
-</pre>
-As an example, consider the following URL addition:
-<pre>
- juniper=near.2_dynlength.512_dynmatches.8
-</pre>
-If this string is present in the URL, Juniper would generate teasers that
-are up to twice as long and contains up to twice as many matches of the
-query compared to the default values.
-In addition, teasers (and <a href="#proximity">proximity metric</a>) will
-only be
-generated for those documents that fulfills the extra constraint that there
-exist at least one complete match of the query where the distance in words
-between the first and the last word of the query match is no more than 2 (+
-the number of words in the query).
-
-<h3>Supported per query options in Juniper 2.1.0</h3>
-
-<table>
- <tr bgcolor="#f0f0f0"><td><b>Parameter
- name</b></td><td><b>Corresponding config name, see <a href="#conftable">above</a></b></td><td><b>Description</b></td></tr>
- <tr bgcolor="#f0f0f0"><td>dynlength</td><td>dynsum.length</td>
- <td>The desired max length of the generated teaser</td></tr>
- <tr bgcolor="#f0f0f0"><td>dynmatches</td><td>dynsum.max_matches</td>
- <td>The number of matches to try to fit in the teaser</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>dynsurmax</td><td>dynsum.surround_max</td>
- <td>The maximal amount of surrounding context per keyword hit</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>near</td><td><i>N/A</i></td><td>Specifies a
- proximity search where keywords should occur closer than the specified
- value in number of words not counting the query terms themselves.</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>stemext</td><td>juniper.stem.max_extend</td><td>
- The maximal number of bytes that a word in the document can be longer
- than the keyword itself to yield a match.</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>stemmin</td><td>juniper.stem.min_length</td><td>
- The minimal number of bytes in a query keyword for it to be subject to
- the simple Juniper stemming algorithm.</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>within</td><td><i>N/A</i></td><td>Same as
- <i>near</i> with the additional constraint that matches of the query must
- have the same order of the query words as the original query.</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>winsize</td><td>juniper.matcher.winsize</td><td>
- The size of the sliding window used to determine if multiple query terms
- occur together.</td>
- </tr>
- <tr bgcolor="#f0f0f0"><td>log</td><td><i>N/A</i></td><td>Internal debug
- option (privileged port only). Value is a bitmap that allows selectively
- enabled log output to be generated by Juniper for output into a
- juniperlog override configured summary field. Useful only with a special
- template that makes use of this information. Currently the only
- supported bit is 0x8000 which will provide a html table with up to 20 of the
- topmost matches of each document, and their identified proximity
- (distance) and rank.
-</td>
-</table>
-
-<h3>Juniper debug template in Data Search</h3>
-Template support for the log parameter as well as extracting the whole
-juniper input document text is provided by Data Search 3.2 by means of the
-<tt>jsearch</tt> page from the qrserver port. Replace <tt>asearch</tt>
-with <tt>jsearch</tt>
-in the URL of a qrserver privileged port search.
-
-<h2>Using Juniper for proximity boosting with the QRserver</h2>
-In order to use Juniper to boost hits that have good proximity of the query
-(or to filter the hits based on NEAR or WITHIN constraints) the QRserver
-would need to be provided with the following URL addition:
-<pre>
-rpf_proximitybooster:enabled=1
-</pre>
-Note that Juniper will return 0 as proximity metric (dynamicteasermetric)
-if the query with juniper option constraints cannot be satisfied by
-the information in the configured input field. Thus if the selection of a
-hit is done solely on the basis of information not present in the Juniper input
-(such as the title in the default configuration)
-proximity boosting may demote such hits. A solution for this problem has
-been proposed for future versions of Juniper.
-
-<h3><a name="qrserver"></a>Supported QRserver options to use with proximity
-boosting via Juniper</h3>
-QRserver behaviour wrt. proximity boosting can be set both in configuration
-(at QRserver startup) or on a per query basis. In the below table, some of the
-default configuration settings are listed together with their corresponding
-runtime setting, if any. Consult QRserver documentation for the complete
-list of options.
-<p>
-<table>
- <tr bgcolor="#f0f0f0"><td><b>Config parameter
- name</b></td><td><b>Corresponding runtime (URL)
- syntax</a></b></td><td><b>Description</b></td></tr>
- <tr bgcolor="#f0f0f0"><td>rp.proximityboost.enabled=1</td><td>N/A</td><td>Configure for
- proximity boosting in the QRserver (not necessarily enable it)</td></tr>
- <tr
- bgcolor="#f0f0f0"><td>#rp.proximityboost.default</td>
- <td>rpf_proximityboost:enabled=1</td><td>Enable proximity
- boosting</td></tr>
- <tr
- bgcolor="#f0f0f0"><td>rp.proximityboost.factor=0.5</td>
- <td>N/A</td><td>A value that the combined proximity boost value
- calculated possibly from multiple fields, scaled by their individual
- factors are multipled with before adding it to the Fastserver rank value
- to be used to reorder hits.</td></tr>
- <tr bgcolor="#f0f0f0"><td>rp.proximityboost.hits=100</td>
- <td>rpf_proximityboost:hits=100</td><td>The number of Fastserver hits to
- retrieve as basis for the reordering.</td></tr>
- <tr
- bgcolor="#f0f0f0"><td>rp.proximityboost.maxoffset=100</td>
- <td>N/A</td><td>The maximal offset within the list of hits that will be
- subject to any proximity boost reordering/filtering. Hits above this
- range in the original result set will not be subject to proximity boosting.</td></tr>
-</table>
-
-<h2>Configuring Juniper within Data Search</h2>
-Except where explicitly noted, configuring Juniper for Data Search is
-similar to configuring for Real-Time Search. As of Data Search 3.0 Juniper
-is by default configured and enabled in Data Search.
-
-<h2>Configuring Juniper within Fast Real-Time Search</h2>
-Juniper is provided as part of Real-Time Search (through Fast Search)
-starting with version 2.4. To enable the Fast Search integrated Juniper in
-a Real-Time Search environment, see the documentation extensions to
-Real-Time Search 2.4. Note that to configure Juniper within Real-Time
-Search, the configuration variables should be put in the
-<tt>etc/fsearch.addon*</tt> file(s) which will be used as input when Real-Time
-Search generates <tt>fsearchrc</tt> files for all configured search
-engines. Also a proper <tt>summary.map</tt> file is needed to enable the
-dynamic summaries on particular fields.
-
-<h2>Configuring Juniper for Fast Search v.4.15 and higher</h2>
-Newer versions of Fast Search provide template support to allow different
-Juniper markup depending on the type of display desired (plain,html or
-xml).
-
-All the http frontends that needs an interpretation of the highlight
-information provided by Juniper should have the following setup for Juniper:
-<p>
-<table>
-<tr bgcolor="#f0f0f0"><td>juniper.dynsum.highlight_on</td><td>\02</td></tr>
-<tr bgcolor="#f0f0f0"><td>juniper.dynsum.highlight_off</td><td>\03</td></tr>
-<tr bgcolor="#f0f0f0"><td>juniper.dynsum.continuation</td><td>\1E</td></tr>
-</table>
-<p>
-The actual frontend markup configuration then takes place by setting
-variables such as
-<p>
-<table>
-<tr bgcolor="#f0f0f0"><td>tvm.dynsum.html.highlight_on</td></tr>
-<tr bgcolor="#f0f0f0"><td>tvm.dynsum.xml.highlight_off</td></tr>
-</table>
-<p>
-in the relevant rc file.
-
-<h2>How to report bugs/errors related to Juniper</h2>
-Errors/problems related to Juniper can be divided into two categories:
-<ol>
- <li> Problems with specific documents/teasers
- <li> System errors/instability etc.
-</ol>
-Due to the complexity of a full, running system it is much easier for all
-parts if the particular query/document pair triggering the problem can be
-identified and analysed off-line.
-
-<h3>Problems with specific teasers</h3>
-Problems of this category is likely to occur because there are so many
-combinations of queries and documents that it is not possible to
-test for all cases. To be able to analyse such problems, it is vital that
-the exact (byte-by-byte) teaser generation source (document summary input
-to Juniper) can be made available together with the exact query as
-presented to Juniper. To determine this requires the following information:
-<ol>
- <li> The teaser source docsum. The name of the docsum field is dependent
- on the configuration in summary.map. The data should be provided without
- any post processing performed, if possible, to avoid missing problems
- related to bad input data such as malformet UTF8 characters.
- <li> The original query as submitted by the user
- <li> The expanded query (available under <tt>var/log/querylogs/</tt>)
- <li> A corresponding <tt>fsearchrc</tt> (pure fastserver4) or
- <tt>fsearch.addon</tt> (Real Time Search/DS 3.x) file used by the
- fsearch process that performed the task.
-</ol>
-
-
-<h3>System errors/instability problems</h3>
-Problems of category 2 should, if occurring at all only be associated with
-development/beta releases. If such an unfortunate event should happen, the
-following information <dfn>in addition to the information associated with
-category 1</dfn> would be useful to pin down the problem:
-<ol>
- <li> Core file of <dfn>fsearch</dfn> accompanied with the associated
- <dfn>fsearch</dfn> binary.
- <li> Log files from the crashed process (in Data Search these will be
- present as <tt>var/fsearch-*.log</tt> and <tt>var/log/stdout.log</tt>.
-</ol>
diff --git a/juniper/src/Doxyfile b/juniper/src/Doxyfile
deleted file mode 100644
index fb848bfd931..00000000000
--- a/juniper/src/Doxyfile
+++ /dev/null
@@ -1,931 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-# Doxyfile 1.2.14
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# General configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = Juniper
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = ../doc/doxygen
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French,
-# German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Polish,
-# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
-
-OUTPUT_LANGUAGE = English
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = YES
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these class will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = YES
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited
-# members of a class in the documentation of that class as if those members were
-# ordinary class members. Constructors, destructors and assignment operators of
-# the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. It is allowed to use relative paths in the argument list.
-
-STRIP_FROM_PATH =
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower case letters. If set to YES upper case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# users are adviced to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explict @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = YES
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
-
-INHERIT_DOCS = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-#ENABLED_SECTIONS = simple \
-# juniper \
-# textproc
-# utils
-
-ENABLED_SECTIONS = juniper
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consist of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C.
-# For instance some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
-
-WARN_FORMAT =
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-# Result processing interface:
-#
-INPUT = rpinterface.h query.h IJuniperProperties.h dpinterface.h
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
-# *.h++ *.idl *.odl
-
-FILE_PATTERNS = *.h \
- *.hpp \
- *.txt
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories
-# that are symbolic links (a Unix filesystem feature) are excluded from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-
-INPUT_FILTER =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse.
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = NO
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT =
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the Html help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+,
-# or Internet explorer 4.0+). Note that for large projects the tree generation
-# can take a very long time. In such cases it is better to disable this feature.
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT =
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimised for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT =
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assigments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = YES
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT =
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION =
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_XML = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_PREDEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line and do not end with a semicolon. Such function macros are typically
-# used for boiler-plate code, and will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tagfiles.
-
-TAGFILES = ../../fastos/doc/doxygen/fastos.tag
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE = juniper.tag
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off. Note that this
-# option is superceded by the HAVE_DOT option below. This is only a fallback. It is
-# recommended to install and use dot, since it yield more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = NO
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are gif, jpg, and png
-# If left blank gif will be used.
-
-DOT_IMAGE_FORMAT = gif
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermedate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
-
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
-
-CGI_NAME = search.cgi
-
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
-
-CGI_URL =
-
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
-
-DOC_URL =
-
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
-
-DOC_ABSPATH =
-
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
-
-BIN_ABSPATH =
-
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
-
-EXT_DOC_PATHS =
diff --git a/juniper/src/testproject.el b/juniper/src/testproject.el
deleted file mode 100644
index fa8d580b0eb..00000000000
--- a/juniper/src/testproject.el
+++ /dev/null
@@ -1,98 +0,0 @@
-;; Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-;; testproject.el
-
-;; Local configurations for the cpptest Emacs unit-test
-;; framework. This is just an example of typical variables that one
-;; usually uses This file should be located in the same directory as
-;; the class(es) you want to test.
-
-;; $Revision: 1.2 $ $Date: 2003-02-27 12:32:24 $
-;; Author: Nils Sandøy <nils.sandoy@fast.no>
-
-;; Just a message to show that this file is beeing read. Look for this
-;; in the *Messages* buffer.
-(message "Setting local test configuration for the module")
-
-;; Don't use an underscore based naming scheme
-;; classes and method names will Upcase each word instead
-(setq cppt-use-underscore-p nil)
-
-;; Use author in documentation. Set this value to nil if not
-(setq cppt-doc-author-p "t")
-
-;; This is a subdirectory of the directory in which this file, along with
-;; the source code to test, resides
-(setq cppt-test-dir "test")
-
-;; Use this variable to include extra file in your test source, and
-;; application files. Typically this will hold headers for log
-;; functionality etc.
-;; Example: (setq cppt-extra-source-includes "#include \"../Log.h\"")
-(setq cppt-extra-source-includes "#include \"testenv.h\"")
-
-;; If the above source files are not part of a library, you will
-;; probably have to include them in the fastos.project file.
-;; Example: (setq cppt-extra-object-files '("../Log"))
-(setq cppt-extra-object-files '("testenv"))
-
-;; If the source code does not have a fastos.project file with all
-;; required libraries for linking an executable (typically the case
-;; when the source is part of a library itself), then you should use
-;; this variable to provide a list of libraries which will be appended
-;; to the EXTERNALLIBS section for all applications in the
-;; fastos.project file.
-;; Example: (setq cppt-extra-libraries '("fast"))
-(setq cppt-extra-libraries '("src/juniper"))
-(setq cppt-extra-external-libraries '("fast"))
-
-;; Include source file in test executables.
-;; Set this to nil if you are testing part of a library
-(setq cppt-include-source-p "t")
-
-
-;; If your initialisation code below requires special parameters for
-;; running the test executables, add them here
-;; Example: (setq cppt-test-parameters "--test-mode")
-(setq cppt-test-parameters "")
-
-;; If you support a special debug mode, which is executed through the
-;; cppt-suite-debug or cppt-run-test-debug methods, then you should
-;; add the parameter for identifying this here
-;; Example: (setq cppt-test-dbflags "-d")
-(setq cppt-test-dbflags "")
-
-;; If you support logging etc, you should include code here for
-;; insitializing this as part of the Main body of the test application
-;; Example:
-;; Add intialization code that turns on logging, and logs to stderr in debug
-;; mode
-;; (setq cppt-application-init-code
-;; "RTLogDistributor::GetInstance().RegisterDestination(
-;; new Fast_FileLogger(\"CLASSTest.log\"), FLOG_ALL);
-;; for (int i=0; i < argc; ++i) {
-;; if (strcmp(argv[i], \"-d\") == 0) {
-;; // Turn on debug mode (log to stderr)
-;; RTLogDistributor::GetInstance().RegisterDestination(
-;; new Fast_FileLogger(stderr), FLOG_ALL);
-;; LOG_DBG(\"Running in debug mode\");
-;; }
-;; }")
-(setq cppt-application-init-code "")
-
-;; Pretty much the same as the application init code, but this is used
-;; for the Main method of the test suite.
-;; Example:
-;; Add intialization code that turns on logging, and logs to stderr in debug
-;; mode
-;; (setq cppt-suite-init-code
-;; "RTLogDistributor::GetInstance().RegisterDestination(
-;; new Fast_FileLogger(\"SUITETest.log\"), FLOG_ALL);
-;; for (int i=0; i < argc; ++i) {
-;; if (strcmp(argv[i], \"-d\") == 0) {
-;; // Turn on debug mode (log to stderr)
-;; RTLogDistributor::GetInstance().RegisterDestination(
-;; new Fast_FileLogger(stderr), FLOG_ALL);
-;; LOG_DBG(\"Running in debug mode\");
-;; }
-;; }")
-(setq cppt-suite-init-code "")
diff --git a/logd/CMakeLists.txt b/logd/CMakeLists.txt
index 498efc36cf2..d02b99a393a 100644
--- a/logd/CMakeLists.txt
+++ b/logd/CMakeLists.txt
@@ -4,7 +4,6 @@ vespa_define_module(
fastos
vespalog
vespalib
- staging_vespalib
config_cloudconfig
APPS
diff --git a/messagebus/CMakeLists.txt b/messagebus/CMakeLists.txt
index 87cbcaa7f01..526a5a32880 100644
--- a/messagebus/CMakeLists.txt
+++ b/messagebus/CMakeLists.txt
@@ -5,7 +5,6 @@ vespa_define_module(
vespalog
config_cloudconfig
vespalib
- staging_vespalib
fnet
slobrok_slobrokserver
diff --git a/messagebus/src/vespa/messagebus/replygate.cpp b/messagebus/src/vespa/messagebus/replygate.cpp
index 1b37a542d49..d1bd6ef05c7 100644
--- a/messagebus/src/vespa/messagebus/replygate.cpp
+++ b/messagebus/src/vespa/messagebus/replygate.cpp
@@ -22,13 +22,13 @@ ReplyGate::handleMessage(Message::UP msg)
void
ReplyGate::close()
{
- _open = false;
+ _open.store(false, std::memory_order_relaxed);
}
void
ReplyGate::handleReply(Reply::UP reply)
{
- if (_open) {
+ if (_open.load(std::memory_order_relaxed)) {
IReplyHandler &handler = reply->getCallStack().pop(*reply);
handler.handleReply(std::move(reply));
} else {
diff --git a/messagebus/src/vespa/messagebus/replygate.h b/messagebus/src/vespa/messagebus/replygate.h
index d432afa4b8b..0c487de3ecf 100644
--- a/messagebus/src/vespa/messagebus/replygate.h
+++ b/messagebus/src/vespa/messagebus/replygate.h
@@ -6,6 +6,7 @@
#include "imessagehandler.h"
#include "ireplyhandler.h"
#include <vespa/vespalib/util/referencecounter.h>
+#include <atomic>
namespace mbus {
@@ -26,7 +27,7 @@ class ReplyGate : public vespalib::ReferenceCounter,
{
private:
IMessageHandler &_sender;
- bool _open;
+ std::atomic<bool> _open;
public:
/**
diff --git a/metrics/CMakeLists.txt b/metrics/CMakeLists.txt
index c5dcf89c02f..d75c17d4a00 100644
--- a/metrics/CMakeLists.txt
+++ b/metrics/CMakeLists.txt
@@ -4,7 +4,6 @@ vespa_define_module(
fastos
vespalog
vespalib
- staging_vespalib
config_cloudconfig
LIBS
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
index c3c4771ec1d..4476befe70a 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java
@@ -492,6 +492,12 @@ public final class Node implements Nodelike {
return this.with(newStatus).with(newHistory);
}
+ /** Returns a copy of this node with wanted OS version set to given version */
+ public Node withWantedOsVersion(Optional<Version> version) {
+ if (status.osVersion().wanted().equals(version)) return this;
+ return with(status.withOsVersion(status.osVersion().withWanted(version)));
+ }
+
/** Returns a copy of this node with firmware verified at the given instant */
public Node withFirmwareVerifiedAt(Instant instant) {
var newStatus = status.withFirmwareVerifiedAt(instant);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
index cb5d8dd5042..36b32f0b099 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Limits.java
@@ -63,7 +63,7 @@ public class Limits {
public Limits fullySpecified(ClusterSpec clusterSpec, NodeRepository nodeRepository, ApplicationId applicationId) {
if (this.isEmpty()) throw new IllegalStateException("Unspecified limits can not be made fully specified");
- var defaultResources = new CapacityPolicies(nodeRepository).defaultNodeResources(clusterSpec, applicationId);
+ var defaultResources = new CapacityPolicies(nodeRepository).defaultNodeResources(clusterSpec, applicationId, clusterSpec.isExclusive());
var specifiedMin = min.nodeResources().isUnspecified() ? min.with(defaultResources) : min;
var specifiedMax = max.nodeResources().isUnspecified() ? max.with(defaultResources) : max;
return new Limits(specifiedMin, specifiedMax);
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
index 3aa09b1b667..8292b9590d7 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
@@ -628,10 +628,7 @@ public class Nodes {
* @return the nodes in their new state
*/
public List<Node> upgradeOs(Predicate<Node> filter, Optional<Version> version) {
- return performOn(filter, (node, lock) -> {
- var newStatus = node.status().withOsVersion(node.status().osVersion().withWanted(version));
- return write(node.with(newStatus), lock);
- });
+ return performOn(filter, (node, lock) -> write(node.withWantedOsVersion(version), lock));
}
/** Retire nodes matching given filter */
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
index 4aeb6722ba9..12df01a7538 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/CapacityPolicies.java
@@ -9,17 +9,17 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.Zone;
-import com.yahoo.vespa.flags.FlagSource;
+import com.yahoo.vespa.flags.JacksonFlag;
import com.yahoo.vespa.flags.PermanentFlags;
+import com.yahoo.vespa.flags.StringFlag;
+import com.yahoo.vespa.flags.custom.SharedHost;
import com.yahoo.vespa.hosted.provision.NodeRepository;
import java.util.Map;
import java.util.TreeMap;
-import java.util.function.Function;
import static com.yahoo.config.provision.NodeResources.Architecture;
import static com.yahoo.vespa.flags.FetchVector.Dimension.APPLICATION_ID;
-import static com.yahoo.vespa.flags.PermanentFlags.ADMIN_CLUSTER_NODE_ARCHITECTURE;
import static java.util.Objects.requireNonNull;
/**
@@ -31,13 +31,13 @@ import static java.util.Objects.requireNonNull;
public class CapacityPolicies {
private final Zone zone;
- private final Function<ClusterSpec.Type, Boolean> sharedHosts;
- private final FlagSource flagSource;
+ private final JacksonFlag<SharedHost> sharedHosts;
+ private final StringFlag adminClusterNodeArchitecture;
public CapacityPolicies(NodeRepository nodeRepository) {
this.zone = nodeRepository.zone();
- this.sharedHosts = type -> PermanentFlags.SHARED_HOST.bindTo(nodeRepository.flagSource()).value().isEnabled(type.name());
- this.flagSource = nodeRepository.flagSource();
+ this.sharedHosts = PermanentFlags.SHARED_HOST.bindTo(nodeRepository.flagSource());
+ this.adminClusterNodeArchitecture = PermanentFlags.ADMIN_CLUSTER_NODE_ARCHITECTURE.bindTo(nodeRepository.flagSource());
}
public Capacity applyOn(Capacity capacity, ApplicationId application, boolean exclusive) {
@@ -80,22 +80,25 @@ public class CapacityPolicies {
return target;
}
- public NodeResources defaultNodeResources(ClusterSpec clusterSpec, ApplicationId applicationId) {
+ public NodeResources defaultNodeResources(ClusterSpec clusterSpec, ApplicationId applicationId, boolean exclusive) {
if (clusterSpec.type() == ClusterSpec.Type.admin) {
- Architecture architecture = Architecture.valueOf(
- ADMIN_CLUSTER_NODE_ARCHITECTURE.bindTo(flagSource)
- .with(APPLICATION_ID, applicationId.serializedForm())
- .value());
+ Architecture architecture = architecture(applicationId);
+
+ // The lowest amount resources that can be exclusive allocated (i.e. a matching host flavor for this exists)
+ NodeResources smallestExclusiveResources = new NodeResources(0.5, 4, 50, 0.3);
if (clusterSpec.id().value().equals("cluster-controllers")) {
+ if (requiresExclusiveHost(clusterSpec.type(), exclusive)) {
+ return versioned(clusterSpec, Map.of(new Version("0"), smallestExclusiveResources)).with(architecture);
+ }
return versioned(clusterSpec, Map.of(new Version("0"), new NodeResources(0.25, 1.14, 10, 0.3),
new Version("7.586.50"), new NodeResources(0.25, 1.333, 10, 0.3),
new Version("7.586.54"), new NodeResources(0.25, 1.14, 10, 0.3)))
.with(architecture);
}
- return (zone.getCloud().dynamicProvisioning() && ! sharedHosts.apply(clusterSpec.type())
- ? versioned(clusterSpec, Map.of(new Version("0"), new NodeResources(0.5, 4, 50, 0.3)))
+ return (requiresExclusiveHost(clusterSpec.type(), exclusive)
+ ? versioned(clusterSpec, Map.of(new Version("0"), smallestExclusiveResources))
: versioned(clusterSpec, Map.of(new Version("0"), new NodeResources(0.5, 2, 50, 0.3))))
.with(architecture);
}
@@ -105,6 +108,15 @@ public class CapacityPolicies {
: versioned(clusterSpec, Map.of(new Version("0"), new NodeResources(1.5, 8, 50, 0.3)));
}
+ private Architecture architecture(ApplicationId instance) {
+ return Architecture.valueOf(adminClusterNodeArchitecture.with(APPLICATION_ID, instance.serializedForm()).value());
+ }
+
+ /** Returns whether an exclusive host is required for given cluster type and exclusivity requirement */
+ private boolean requiresExclusiveHost(ClusterSpec.Type type, boolean exclusive) {
+ return zone.getCloud().dynamicProvisioning() && (exclusive || !sharedHosts.value().isEnabled(type.name()));
+ }
+
/** Returns the resources for the newest version not newer than that requested in the cluster spec. */
static NodeResources versioned(ClusterSpec spec, Map<Version, NodeResources> resources) {
return requireNonNull(new TreeMap<>(resources).floorEntry(spec.vespaVersion()),
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
index c7bb42ded2e..64865c15529 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
@@ -104,20 +104,20 @@ public class NodeRepositoryProvisioner implements Provisioner {
logIfDownscaled(requested.minResources().nodes(), actual.minResources().nodes(), cluster, logger);
groups = target.groups();
- resources = getNodeResources(cluster, target.nodeResources(), application);
+ resources = getNodeResources(cluster, target.nodeResources(), application, exclusive);
nodeSpec = NodeSpec.from(target.nodes(), resources, exclusive, actual.canFail(), requested.cloudAccount());
}
else {
groups = 1; // type request with multiple groups is not supported
- resources = getNodeResources(cluster, requested.minResources().nodeResources(), application);
+ resources = getNodeResources(cluster, requested.minResources().nodeResources(), application, true);
nodeSpec = NodeSpec.from(requested.type());
}
return asSortedHosts(preparer.prepare(application, cluster, nodeSpec, groups), resources);
}
- private NodeResources getNodeResources(ClusterSpec cluster, NodeResources nodeResources, ApplicationId applicationId) {
+ private NodeResources getNodeResources(ClusterSpec cluster, NodeResources nodeResources, ApplicationId applicationId, boolean exclusive) {
return nodeResources.isUnspecified()
- ? capacityPolicies.defaultNodeResources(cluster, applicationId)
+ ? capacityPolicies.defaultNodeResources(cluster, applicationId, exclusive)
: nodeResources;
}
@@ -178,7 +178,8 @@ public class NodeRepositoryProvisioner implements Provisioner {
private ClusterResources initialResourcesFrom(Capacity requested, ClusterSpec clusterSpec, ApplicationId applicationId) {
var initial = requested.minResources();
if (initial.nodeResources().isUnspecified())
- initial = initial.with(capacityPolicies.defaultNodeResources(clusterSpec, applicationId));
+ initial = initial.with(capacityPolicies.defaultNodeResources(clusterSpec, applicationId,
+ capacityPolicies.decideExclusivity(requested, clusterSpec.isExclusive())));
return initial;
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java
index d8e1828b10c..15ba96caa70 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java
@@ -154,6 +154,8 @@ public class NodePatcher {
return node.with(node.status().withVespaVersion(Version.fromString(asString(value))));
case "currentOsVersion" :
return node.withCurrentOsVersion(Version.fromString(asString(value)), clock.instant());
+ case "wantedOsVersion": // Node repository manages this field internally. Setting this manually should only be used for debugging purposes
+ return node.withWantedOsVersion(value.type() == Type.NIX ? Optional.empty() : Optional.of(Version.fromString(value.asString())));
case "currentFirmwareCheck":
return node.withFirmwareVerifiedAt(Instant.ofEpochMilli(asLong(value)));
case "failCount" :
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
index f28b76ab31f..4140588d1c8 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
@@ -239,7 +239,7 @@ public class AutoscalingTest {
ClusterSpec cluster1 = tester.clusterSpec(ClusterSpec.Type.container, "cluster1");
NodeResources defaultResources =
- new CapacityPolicies(tester.nodeRepository()).defaultNodeResources(cluster1, application1);
+ new CapacityPolicies(tester.nodeRepository()).defaultNodeResources(cluster1, application1, false);
// deploy
tester.deploy(application1, cluster1, Capacity.from(min, max));
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java
index 5ac79a1cc24..6b1853b3893 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiTest.java
@@ -777,7 +777,7 @@ public class NodesV2ApiTest {
// Other node type does not return wanted OS version
Response r = tester.container().handleRequest(new Request("http://localhost:8080/nodes/v2/node/host1.yahoo.com"));
- assertFalse("Response omits wantedOsVersions field", r.getBodyAsString().contains("wantedOsVersion"));
+ assertFalse("Response omits wantedOsVersion field", r.getBodyAsString().contains("wantedOsVersion"));
// Node updates its node object after upgrading OS
assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost1.yahoo.com",
@@ -786,6 +786,16 @@ public class NodesV2ApiTest {
"{\"message\":\"Updated dockerhost1.yahoo.com\"}");
assertFile(new Request("http://localhost:8080/nodes/v2/node/dockerhost1.yahoo.com"), "docker-node1-os-upgrade-complete.json");
+ // Override wantedOsVersion
+ assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost1.yahoo.com",
+ Utf8.toBytes("{\"wantedOsVersion\": \"7.5.3\"}"),
+ Request.Method.PATCH),
+ "{\"message\":\"Updated dockerhost1.yahoo.com\"}");
+ assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost1.yahoo.com",
+ Utf8.toBytes("{\"wantedOsVersion\": \"7.5.2\"}"),
+ Request.Method.PATCH),
+ "{\"message\":\"Updated dockerhost1.yahoo.com\"}");
+
// Another node upgrades
assertResponse(new Request("http://localhost:8080/nodes/v2/node/dockerhost2.yahoo.com",
Utf8.toBytes("{\"currentOsVersion\": \"7.5.2\"}"),
diff --git a/searchcommon/.gitignore b/searchcommon/.gitignore
deleted file mode 100644
index f3c7a7c5da6..00000000000
--- a/searchcommon/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/searchcommon/CMakeLists.txt b/searchcommon/CMakeLists.txt
deleted file mode 100644
index e5260ecb69e..00000000000
--- a/searchcommon/CMakeLists.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_define_module(
- DEPENDS
- fastos
- vespalog
- vespalib
- config_cloudconfig
- configdefinitions
- vespaeval
-
- TESTS
- src/tests/attribute/config
- src/tests/schema
-
- LIBS
- src/vespa/searchcommon
- src/vespa/searchcommon/attribute
- src/vespa/searchcommon/common
- src/vespa/searchcommon/config
-)
diff --git a/searchcommon/OWNERS b/searchcommon/OWNERS
deleted file mode 100644
index cf65e9c8229..00000000000
--- a/searchcommon/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-geirst
-baldersheim
-toregge
diff --git a/searchcommon/src/.gitignore b/searchcommon/src/.gitignore
deleted file mode 100644
index 2e8e6fd906a..00000000000
--- a/searchcommon/src/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/Makefile.ini
-/config_command.sh
-/project.dsw
diff --git a/searchcommon/src/vespa/searchcommon/CMakeLists.txt b/searchcommon/src/vespa/searchcommon/CMakeLists.txt
deleted file mode 100644
index 4d0d900bdf2..00000000000
--- a/searchcommon/src/vespa/searchcommon/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(searchcommon
- SOURCES
- $<TARGET_OBJECTS:searchcommon_searchcommon_common>
- $<TARGET_OBJECTS:searchcommon_searchcommon_attribute>
- INSTALL lib64
- DEPENDS
-)
diff --git a/searchcommon/src/vespa/searchcommon/config/.gitignore b/searchcommon/src/vespa/searchcommon/config/.gitignore
deleted file mode 100644
index 7e7c0fe7fae..00000000000
--- a/searchcommon/src/vespa/searchcommon/config/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/.depend
-/Makefile
diff --git a/searchcommon/src/vespa/searchcommon/config/CMakeLists.txt b/searchcommon/src/vespa/searchcommon/config/CMakeLists.txt
deleted file mode 100644
index e97068a5662..00000000000
--- a/searchcommon/src/vespa/searchcommon/config/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(searchcommon_config INTERFACE
- SOURCES
- INSTALL lib64
- DEPENDS
-)
diff --git a/searchcommon/testrun/.gitignore b/searchcommon/testrun/.gitignore
deleted file mode 100644
index 8f0724a7dba..00000000000
--- a/searchcommon/testrun/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-/test-report.html
-/test-report.html.bottom
-/test-report.html.entry
-/test-report.html.summary
-/test-report.html.top
-test.*.*.desc
-test.*.*.file.*
-test.*.*.files.html
-test.*.*.log
-tmp.*
-/test.*.*.result
-/Makefile
diff --git a/searchcore/CMakeLists.txt b/searchcore/CMakeLists.txt
index c0b86b509b3..48a5e03fca0 100644
--- a/searchcore/CMakeLists.txt
+++ b/searchcore/CMakeLists.txt
@@ -8,12 +8,10 @@ vespa_define_module(
metrics
config_cloudconfig
fastlib_fast
- juniper
configdefinitions
document
searchlib
messagebus
- documentapi
persistence
searchsummary
fileacquirer
@@ -48,7 +46,6 @@ vespa_define_module(
src/apps/proton
src/apps/tests
src/apps/verify_ranksetup
- src/apps/vespa-dump-feed
src/apps/vespa-feed-bm
src/apps/vespa-gen-testdocs
src/apps/vespa-proton-cmd
diff --git a/searchcore/src/apps/vespa-dump-feed/.gitignore b/searchcore/src/apps/vespa-dump-feed/.gitignore
deleted file mode 100644
index ea7ed317d25..00000000000
--- a/searchcore/src/apps/vespa-dump-feed/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/.depend
-/Makefile
-/vespa-dump-feed
-searchcore_vespa-dump-feed_app
diff --git a/searchcore/src/apps/vespa-dump-feed/CMakeLists.txt b/searchcore/src/apps/vespa-dump-feed/CMakeLists.txt
deleted file mode 100644
index 086b047c55a..00000000000
--- a/searchcore/src/apps/vespa-dump-feed/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(searchcore_vespa-dump-feed_app
- SOURCES
- vespa-dump-feed.cpp
- DEPENDS
-)
diff --git a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp b/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
deleted file mode 100644
index 98574752929..00000000000
--- a/searchcore/src/apps/vespa-dump-feed/vespa-dump-feed.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-#include <vespa/config/print/fileconfigwriter.h>
-#include <vespa/document/config/config-documenttypes.h>
-#include <vespa/document/repo/documenttyperepo.h>
-#include <vespa/document/fieldvalue/document.h>
-#include <vespa/documentapi/documentapi.h>
-#include <vespa/messagebus/destinationsession.h>
-#include <vespa/messagebus/rpcmessagebus.h>
-#include <vespa/messagebus/network/rpcnetworkparams.h>
-#include <vespa/vespalib/io/fileutil.h>
-#include <vespa/vespalib/util/signalhandler.h>
-#include <vespa/vespalib/process/process.h>
-#include <vespa/vespalib/util/stringfmt.h>
-#include <vespa/vespalib/objects/nbostream.h>
-#include <vespa/config/common/exceptions.h>
-#include <vespa/config/helper/configgetter.hpp>
-#include <vespa/vespalib/util/signalhandler.h>
-
-typedef vespalib::SignalHandler SIG;
-
-//-----------------------------------------------------------------------------
-
-class OutputFile
-{
-private:
- FILE *file;
-
-public:
- OutputFile(const std::string &name)
- : file(fopen(name.c_str(), "w")) {}
- bool valid() const { return (file != 0); }
- void write(const char *data, size_t length) {
- size_t res = fwrite(data, 1, length, file);
- assert(res == length);
- (void) res;
- }
- ~OutputFile() { fclose(file); }
-};
-
-//-----------------------------------------------------------------------------
-
-class FeedHandler : public mbus::IMessageHandler
-{
-private:
- mbus::RPCMessageBus _mbus;
- mbus::DestinationSession::UP _session;
- OutputFile &_idx;
- OutputFile &_dat;
- size_t _numDocs;
-
- void handleDocumentPut(const document::Document::SP & doc);
- virtual void handleMessage(mbus::Message::UP message) override;
-
-public:
- FeedHandler(std::shared_ptr<const document::DocumentTypeRepo> repo, OutputFile &idx, OutputFile &dat);
- std::string getRoute() { return _session->getConnectionSpec(); }
- virtual ~FeedHandler();
-};
-
-void
-FeedHandler::handleDocumentPut(const document::Document::SP & doc)
-{
- if (doc) {
- vespalib::nbostream datStream(12345);
- vespalib::nbostream idxStream(12);
- doc->serialize(datStream);
- idxStream << uint64_t(datStream.size());
- _dat.write(datStream.peek(), datStream.size());
- _idx.write(idxStream.peek(), idxStream.size());
- ++_numDocs;
- }
-}
-
-void
-FeedHandler::handleMessage(mbus::Message::UP message)
-{
- mbus::Reply::UP reply;
- documentapi::DocumentMessage::UP msg((documentapi::DocumentMessage*)message.release());
- switch (msg->getType()) {
- case documentapi::DocumentProtocol::MESSAGE_PUTDOCUMENT:
- handleDocumentPut(((documentapi::PutDocumentMessage&)(*msg)).getDocumentSP());
- break;
- default:
- break;
- }
- reply = msg->createReply(); // use default reply for all messages
- msg->swapState(*reply);
- _session->reply(std::move(reply)); // handle all messages synchronously
-}
-
-FeedHandler::FeedHandler(std::shared_ptr<const document::DocumentTypeRepo> repo, OutputFile &idx, OutputFile &dat)
- : _mbus(mbus::MessageBusParams().addProtocol(std::make_shared<documentapi::DocumentProtocol>(repo)),
- mbus::RPCNetworkParams()),
- _session(_mbus.getMessageBus()
- .createDestinationSession(mbus::DestinationSessionParams()
- .setBroadcastName(false)
- .setMessageHandler(*this)
- .setName("dump-feed"))),
- _idx(idx),
- _dat(dat),
- _numDocs()
-{
-}
-
-FeedHandler::~FeedHandler()
-{
- _session.reset();
- fprintf(stderr, "%zu document puts dumped to disk\n", _numDocs);
-}
-
-//-----------------------------------------------------------------------------
-
-class App
-{
-public:
- int main(int argc, char **argv);
-};
-
-template <typename CFG>
-bool writeConfig(std::unique_ptr<CFG> cfg, const std::string &dirName) {
- if (cfg.get() == 0) {
- return false;
- }
- std::string fileName = dirName + "/" + CFG::CONFIG_DEF_NAME + ".cfg";
- try {
- config::FileConfigWriter w(fileName);
- return w.write(*cfg);
- } catch (config::ConfigWriteException & e) {
- fprintf(stderr, "Unable to write config to disk: %s\n", e.what());
- }
- return false;
-}
-
-template <typename CFG>
-std::unique_ptr<CFG> getConfig() {
- std::unique_ptr<CFG> ret(config::ConfigGetter<CFG>::getConfig("client"));
- if (ret.get() == 0) {
- fprintf(stderr, "error: could not obtain config (%s)\n", CFG::CONFIG_DEF_NAME.c_str());
- }
- return ret;
-}
-
-std::shared_ptr<const document::DocumentTypeRepo> getRepo() {
- typedef document::config::DocumenttypesConfig DCFG;
- std::unique_ptr<DCFG> dcfg = getConfig<DCFG>();
- std::shared_ptr<const document::DocumentTypeRepo> ret;
- if (dcfg.get() != 0) {
- ret.reset(new document::DocumentTypeRepo(*dcfg));
- }
- return ret;
-}
-
-void setupSignals() {
- SIG::PIPE.ignore();
-}
-
-int usage() {
- fprintf(stderr, "Usage: vespa-dump-feed <input-feed> <output-directory>\n\n");
- fprintf(stderr, " Takes an XML vespa feed as input and dumps its contents as serialized documents.\n");
- fprintf(stderr, " In addition to the actual documents, an index file containing document sizes\n");
- fprintf(stderr, " and the appropriate config file(s) needed for deserialization are also stored.\n");
- fprintf(stderr, " This utility can be run anywhere vespa-feeder can be run with default config id.\n");
- return 1;
-}
-
-int
-App::main(int argc, char **argv)
-{
- setupSignals();
- if (argc != 3) {
- return usage();
- }
- std::string feedFile = argv[1];
- std::string dirName = argv[2];
- fprintf(stderr, "input feed: %s\n", feedFile.c_str());
- fprintf(stderr, "output directory: %s\n", dirName.c_str());
- vespalib::mkdir(dirName);
- typedef document::config::DocumenttypesConfig DCFG;
- if (!writeConfig(getConfig<DCFG>(), dirName)) {
- fprintf(stderr, "error: could not save config to disk\n");
- return 1;
- }
- std::shared_ptr<const document::DocumentTypeRepo> repo = getRepo();
- if (repo.get() == 0) {
- fprintf(stderr, "error: could not create document type repo\n");
- return 1;
- }
- {
- OutputFile idxFile(dirName + "/doc.idx");
- OutputFile datFile(dirName + "/doc.dat");
- if (!idxFile.valid() || !datFile.valid()) {
- fprintf(stderr, "error: could not open output document files\n");
- return 1;
- }
- FeedHandler feedHooks(repo, idxFile, datFile);
- std::string route = feedHooks.getRoute();
- fprintf(stderr, "route to self: %s\n", route.c_str());
- std::string feedCmd(vespalib::make_string("vespa-feeder --route \"%s\" %s",
- route.c_str(), feedFile.c_str()));
- fprintf(stderr, "running feed command: %s\n", feedCmd.c_str());
- vespalib::string feederOutput;
- bool feedingOk = vespalib::Process::run(feedCmd, feederOutput);
- if (!feedingOk) {
- fprintf(stderr, "error: feed command failed\n");
- fprintf(stderr, "feed command output:\n-----\n%s\n-----\n", feederOutput.c_str());
- return 1;
- }
- }
- return 0;
-}
-
-//-----------------------------------------------------------------------------
-
-int main(int argc, char **argv) {
- App app;
- return app.main(argc, argv);
-}
diff --git a/searchcore/src/tests/proton/common/timer/.gitignore b/searchcore/src/tests/proton/common/timer/.gitignore
index 9031e40152a..f0f08dcd650 100644
--- a/searchcore/src/tests/proton/common/timer/.gitignore
+++ b/searchcore/src/tests/proton/common/timer/.gitignore
@@ -1 +1 @@
-staging_vespalib_timer_test_app
+searchcore_common_timer_test_app
diff --git a/searchcore/src/tests/proton/common/timer/CMakeLists.txt b/searchcore/src/tests/proton/common/timer/CMakeLists.txt
index 7afd366ed89..89b9ecc688a 100644
--- a/searchcore/src/tests/proton/common/timer/CMakeLists.txt
+++ b/searchcore/src/tests/proton/common/timer/CMakeLists.txt
@@ -1,8 +1,8 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_timer_test_app TEST
+vespa_add_executable(searchcore_common_timer_test_app TEST
SOURCES
timer_test.cpp
DEPENDS
searchcore_pcommon
)
-vespa_add_test(NAME staging_vespalib_timer_test_app COMMAND staging_vespalib_timer_test_app)
+vespa_add_test(NAME searchcore_common_timer_test_app COMMAND searchcore_common_timer_test_app)
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastoreflushtarget.cpp b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastoreflushtarget.cpp
index 9164797b86f..9f6b1befcdd 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastoreflushtarget.cpp
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/documentmetastoreflushtarget.cpp
@@ -223,6 +223,7 @@ DocumentMetaStoreFlushTarget::initFlush(SerialNum currentSerial, std::shared_ptr
uint64_t
DocumentMetaStoreFlushTarget::getApproxBytesToWriteToDisk() const
{
+ auto guard = _dms->getGuard();
return _dms->getEstimatedSaveByteSize();
}
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
index 6b1356da50e..2736a1eaa6f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp
@@ -142,7 +142,11 @@ StoreOnlyDocSubDB::clearViews() {
size_t
StoreOnlyDocSubDB::getNumDocs() const
{
- return (_metaStoreCtx) ? _metaStoreCtx->get().getNumUsedLids() : 0u;
+ if (_metaStoreCtx) {
+ auto guard = _metaStoreCtx->getReadGuard();
+ return guard->get().getNumUsedLids();
+ }
+ return 0u;
}
size_t
diff --git a/searchlib/CMakeLists.txt b/searchlib/CMakeLists.txt
index 412d00a1c6a..7c67508a196 100644
--- a/searchlib/CMakeLists.txt
+++ b/searchlib/CMakeLists.txt
@@ -4,7 +4,6 @@ vespa_define_module(
fastos
vespalog
vespalib
- staging_vespalib
vespaeval
fnet
configdefinitions
@@ -12,7 +11,6 @@ vespa_define_module(
fastlib_fast
document
config_cloudconfig
- searchcommon
EXTERNAL_DEPENDS
${VESPA_GLIBC_RT_LIB}
@@ -53,6 +51,8 @@ vespa_define_module(
src/vespa/searchlib/transactionlog
src/vespa/searchlib/uca
src/vespa/searchlib/util
+ src/vespa/searchcommon/attribute
+ src/vespa/searchcommon/common
APPS
src/apps/docstore
@@ -213,6 +213,8 @@ vespa_define_module(
src/tests/rankingexpression/intrinsic_blueprint_adapter
src/tests/ranksetup
src/tests/ranksetup/verify_feature
+ src/tests/searchcommon/attribute/config
+ src/tests/searchcommon/schema
src/tests/sort
src/tests/sortresults
src/tests/sortspec
diff --git a/searchcommon/src/tests/.gitignore b/searchlib/src/tests/searchcommon/.gitignore
index a3e9c375723..a3e9c375723 100644
--- a/searchcommon/src/tests/.gitignore
+++ b/searchlib/src/tests/searchcommon/.gitignore
diff --git a/searchcommon/src/tests/attribute/config/.gitignore b/searchlib/src/tests/searchcommon/attribute/config/.gitignore
index ffdb7b1e933..ffdb7b1e933 100644
--- a/searchcommon/src/tests/attribute/config/.gitignore
+++ b/searchlib/src/tests/searchcommon/attribute/config/.gitignore
diff --git a/searchcommon/src/tests/attribute/config/CMakeLists.txt b/searchlib/src/tests/searchcommon/attribute/config/CMakeLists.txt
index 71df8414aee..f61138c5d73 100644
--- a/searchcommon/src/tests/attribute/config/CMakeLists.txt
+++ b/searchlib/src/tests/searchcommon/attribute/config/CMakeLists.txt
@@ -3,6 +3,6 @@ vespa_add_executable(searchcommon_attribute_config_test_app TEST
SOURCES
attribute_config_test.cpp
DEPENDS
- searchcommon
+ searchlib
)
vespa_add_test(NAME searchcommon_attribute_config_test_app NO_VALGRIND COMMAND searchcommon_attribute_config_test_app)
diff --git a/searchcommon/src/tests/attribute/config/attribute_config_test.cpp b/searchlib/src/tests/searchcommon/attribute/config/attribute_config_test.cpp
index 918e14546e6..918e14546e6 100644
--- a/searchcommon/src/tests/attribute/config/attribute_config_test.cpp
+++ b/searchlib/src/tests/searchcommon/attribute/config/attribute_config_test.cpp
diff --git a/searchcommon/src/tests/schema/.gitignore b/searchlib/src/tests/searchcommon/schema/.gitignore
index e000f0ca2c8..e000f0ca2c8 100644
--- a/searchcommon/src/tests/schema/.gitignore
+++ b/searchlib/src/tests/searchcommon/schema/.gitignore
diff --git a/searchcommon/src/tests/schema/CMakeLists.txt b/searchlib/src/tests/searchcommon/schema/CMakeLists.txt
index 515a5206f04..2304c319dea 100644
--- a/searchcommon/src/tests/schema/CMakeLists.txt
+++ b/searchlib/src/tests/searchcommon/schema/CMakeLists.txt
@@ -3,7 +3,7 @@ vespa_add_executable(searchcommon_schema_test_app TEST
SOURCES
schema_test.cpp
DEPENDS
- searchcommon
+ searchlib
GTest::GTest
)
vespa_add_test(NAME searchcommon_schema_test_app NO_VALGRIND COMMAND searchcommon_schema_test_app)
diff --git a/searchcommon/src/tests/schema/imported-fields-cfg/attributes.cfg b/searchlib/src/tests/searchcommon/schema/imported-fields-cfg/attributes.cfg
index 9a08f7e2324..9a08f7e2324 100644
--- a/searchcommon/src/tests/schema/imported-fields-cfg/attributes.cfg
+++ b/searchlib/src/tests/searchcommon/schema/imported-fields-cfg/attributes.cfg
diff --git a/searchcommon/src/tests/schema/load-save-cfg/attributes.cfg b/searchlib/src/tests/searchcommon/schema/load-save-cfg/attributes.cfg
index 09f711b6a65..09f711b6a65 100644
--- a/searchcommon/src/tests/schema/load-save-cfg/attributes.cfg
+++ b/searchlib/src/tests/searchcommon/schema/load-save-cfg/attributes.cfg
diff --git a/searchcommon/src/tests/schema/load-save-cfg/indexschema.cfg b/searchlib/src/tests/searchcommon/schema/load-save-cfg/indexschema.cfg
index b9d82b9b569..b9d82b9b569 100644
--- a/searchcommon/src/tests/schema/load-save-cfg/indexschema.cfg
+++ b/searchlib/src/tests/searchcommon/schema/load-save-cfg/indexschema.cfg
diff --git a/searchcommon/src/tests/schema/load-save-cfg/summary.cfg b/searchlib/src/tests/searchcommon/schema/load-save-cfg/summary.cfg
index 0c2de33d076..0c2de33d076 100644
--- a/searchcommon/src/tests/schema/load-save-cfg/summary.cfg
+++ b/searchlib/src/tests/searchcommon/schema/load-save-cfg/summary.cfg
diff --git a/searchcommon/src/tests/schema/schema-without-index-field-properties.txt b/searchlib/src/tests/searchcommon/schema/schema-without-index-field-properties.txt
index 4491b1242e0..4491b1242e0 100644
--- a/searchcommon/src/tests/schema/schema-without-index-field-properties.txt
+++ b/searchlib/src/tests/searchcommon/schema/schema-without-index-field-properties.txt
diff --git a/searchcommon/src/tests/schema/schema_test.cpp b/searchlib/src/tests/searchcommon/schema/schema_test.cpp
index 09a7359bac7..09a7359bac7 100644
--- a/searchcommon/src/tests/schema/schema_test.cpp
+++ b/searchlib/src/tests/searchcommon/schema/schema_test.cpp
diff --git a/searchcommon/src/vespa/searchcommon/.gitignore b/searchlib/src/vespa/searchcommon/.gitignore
index f76a9d84bed..f76a9d84bed 100644
--- a/searchcommon/src/vespa/searchcommon/.gitignore
+++ b/searchlib/src/vespa/searchcommon/.gitignore
diff --git a/searchcommon/src/vespa/searchcommon/attribute/.gitignore b/searchlib/src/vespa/searchcommon/attribute/.gitignore
index 7e7c0fe7fae..7e7c0fe7fae 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/.gitignore
+++ b/searchlib/src/vespa/searchcommon/attribute/.gitignore
diff --git a/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt b/searchlib/src/vespa/searchcommon/attribute/CMakeLists.txt
index 704fe238ed5..704fe238ed5 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/CMakeLists.txt
+++ b/searchlib/src/vespa/searchcommon/attribute/CMakeLists.txt
diff --git a/searchcommon/src/vespa/searchcommon/attribute/attribute_utils.cpp b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp
index cd5cc58c75c..cd5cc58c75c 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/attribute_utils.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/attribute_utils.h b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.h
index e4c2a8e4727..e4c2a8e4727 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/attribute_utils.h
+++ b/searchlib/src/vespa/searchcommon/attribute/attribute_utils.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/attributecontent.h b/searchlib/src/vespa/searchcommon/attribute/attributecontent.h
index f5960ce358b..f5960ce358b 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/attributecontent.h
+++ b/searchlib/src/vespa/searchcommon/attribute/attributecontent.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/basictype.cpp b/searchlib/src/vespa/searchcommon/attribute/basictype.cpp
index 5bab2fc06d2..5bab2fc06d2 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/basictype.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/basictype.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/basictype.h b/searchlib/src/vespa/searchcommon/attribute/basictype.h
index bd7b4a2b4bc..bd7b4a2b4bc 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/basictype.h
+++ b/searchlib/src/vespa/searchcommon/attribute/basictype.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/collectiontype.cpp b/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp
index b77382f6126..b77382f6126 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/collectiontype.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/collectiontype.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/collectiontype.h b/searchlib/src/vespa/searchcommon/attribute/collectiontype.h
index 35cb7612ed0..35cb7612ed0 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/collectiontype.h
+++ b/searchlib/src/vespa/searchcommon/attribute/collectiontype.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/config.cpp b/searchlib/src/vespa/searchcommon/attribute/config.cpp
index 0a50faa04c0..0a50faa04c0 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/config.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/config.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/config.h b/searchlib/src/vespa/searchcommon/attribute/config.h
index f572f5038fc..f572f5038fc 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/config.h
+++ b/searchlib/src/vespa/searchcommon/attribute/config.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/distance_metric.h b/searchlib/src/vespa/searchcommon/attribute/distance_metric.h
index 26efa30bba4..26efa30bba4 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/distance_metric.h
+++ b/searchlib/src/vespa/searchcommon/attribute/distance_metric.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h b/searchlib/src/vespa/searchcommon/attribute/hnsw_index_params.h
index 4f9d3c5593c..4f9d3c5593c 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h
+++ b/searchlib/src/vespa/searchcommon/attribute/hnsw_index_params.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/i_attribute_functor.h b/searchlib/src/vespa/searchcommon/attribute/i_attribute_functor.h
index da5127de8ee..da5127de8ee 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/i_attribute_functor.h
+++ b/searchlib/src/vespa/searchcommon/attribute/i_attribute_functor.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/i_multi_value_attribute.h b/searchlib/src/vespa/searchcommon/attribute/i_multi_value_attribute.h
index ea1fbe0b2b4..ea1fbe0b2b4 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/i_multi_value_attribute.h
+++ b/searchlib/src/vespa/searchcommon/attribute/i_multi_value_attribute.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/i_multi_value_read_view.h b/searchlib/src/vespa/searchcommon/attribute/i_multi_value_read_view.h
index 8e5005eae8d..8e5005eae8d 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/i_multi_value_read_view.h
+++ b/searchlib/src/vespa/searchcommon/attribute/i_multi_value_read_view.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/i_search_context.h b/searchlib/src/vespa/searchcommon/attribute/i_search_context.h
index ff62c535e7f..ff62c535e7f 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/i_search_context.h
+++ b/searchlib/src/vespa/searchcommon/attribute/i_search_context.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/iattributecontext.h b/searchlib/src/vespa/searchcommon/attribute/iattributecontext.h
index bb349057ca9..bb349057ca9 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/iattributecontext.h
+++ b/searchlib/src/vespa/searchcommon/attribute/iattributecontext.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h b/searchlib/src/vespa/searchcommon/attribute/iattributevector.h
index fa91f301b92..fa91f301b92 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/iattributevector.h
+++ b/searchlib/src/vespa/searchcommon/attribute/iattributevector.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/multi_value_traits.h b/searchlib/src/vespa/searchcommon/attribute/multi_value_traits.h
index f03b031f991..f03b031f991 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/multi_value_traits.h
+++ b/searchlib/src/vespa/searchcommon/attribute/multi_value_traits.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/multivalue.h b/searchlib/src/vespa/searchcommon/attribute/multivalue.h
index 2ed8309188e..2ed8309188e 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/multivalue.h
+++ b/searchlib/src/vespa/searchcommon/attribute/multivalue.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h b/searchlib/src/vespa/searchcommon/attribute/persistent_predicate_params.h
index d81eb9c5d3c..d81eb9c5d3c 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/persistent_predicate_params.h
+++ b/searchlib/src/vespa/searchcommon/attribute/persistent_predicate_params.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/predicate_params.h b/searchlib/src/vespa/searchcommon/attribute/predicate_params.h
index 133b7331689..133b7331689 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/predicate_params.h
+++ b/searchlib/src/vespa/searchcommon/attribute/predicate_params.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp b/searchlib/src/vespa/searchcommon/attribute/search_context_params.cpp
index 2e8aba6f5f8..2e8aba6f5f8 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/search_context_params.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.h b/searchlib/src/vespa/searchcommon/attribute/search_context_params.h
index 168f4215ef6..168f4215ef6 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/search_context_params.h
+++ b/searchlib/src/vespa/searchcommon/attribute/search_context_params.h
diff --git a/searchcommon/src/vespa/searchcommon/attribute/status.cpp b/searchlib/src/vespa/searchcommon/attribute/status.cpp
index a7d1f5b3d38..a7d1f5b3d38 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/status.cpp
+++ b/searchlib/src/vespa/searchcommon/attribute/status.cpp
diff --git a/searchcommon/src/vespa/searchcommon/attribute/status.h b/searchlib/src/vespa/searchcommon/attribute/status.h
index f2212d4c76a..f2212d4c76a 100644
--- a/searchcommon/src/vespa/searchcommon/attribute/status.h
+++ b/searchlib/src/vespa/searchcommon/attribute/status.h
diff --git a/searchcommon/src/vespa/searchcommon/common/.gitignore b/searchlib/src/vespa/searchcommon/common/.gitignore
index 7e7c0fe7fae..7e7c0fe7fae 100644
--- a/searchcommon/src/vespa/searchcommon/common/.gitignore
+++ b/searchlib/src/vespa/searchcommon/common/.gitignore
diff --git a/searchcommon/src/vespa/searchcommon/common/CMakeLists.txt b/searchlib/src/vespa/searchcommon/common/CMakeLists.txt
index 6cc02ae7884..6cc02ae7884 100644
--- a/searchcommon/src/vespa/searchcommon/common/CMakeLists.txt
+++ b/searchlib/src/vespa/searchcommon/common/CMakeLists.txt
diff --git a/searchcommon/src/vespa/searchcommon/common/datatype.cpp b/searchlib/src/vespa/searchcommon/common/datatype.cpp
index 1fe3a488aac..1fe3a488aac 100644
--- a/searchcommon/src/vespa/searchcommon/common/datatype.cpp
+++ b/searchlib/src/vespa/searchcommon/common/datatype.cpp
diff --git a/searchcommon/src/vespa/searchcommon/common/datatype.h b/searchlib/src/vespa/searchcommon/common/datatype.h
index e1c6a44b620..e1c6a44b620 100644
--- a/searchcommon/src/vespa/searchcommon/common/datatype.h
+++ b/searchlib/src/vespa/searchcommon/common/datatype.h
diff --git a/searchcommon/src/vespa/searchcommon/common/dictionary_config.cpp b/searchlib/src/vespa/searchcommon/common/dictionary_config.cpp
index e1b990e5660..e1b990e5660 100644
--- a/searchcommon/src/vespa/searchcommon/common/dictionary_config.cpp
+++ b/searchlib/src/vespa/searchcommon/common/dictionary_config.cpp
diff --git a/searchcommon/src/vespa/searchcommon/common/dictionary_config.h b/searchlib/src/vespa/searchcommon/common/dictionary_config.h
index f51341ad799..f51341ad799 100644
--- a/searchcommon/src/vespa/searchcommon/common/dictionary_config.h
+++ b/searchlib/src/vespa/searchcommon/common/dictionary_config.h
diff --git a/searchcommon/src/vespa/searchcommon/common/growstrategy.cpp b/searchlib/src/vespa/searchcommon/common/growstrategy.cpp
index f35cdbaa640..f35cdbaa640 100644
--- a/searchcommon/src/vespa/searchcommon/common/growstrategy.cpp
+++ b/searchlib/src/vespa/searchcommon/common/growstrategy.cpp
diff --git a/searchcommon/src/vespa/searchcommon/common/growstrategy.h b/searchlib/src/vespa/searchcommon/common/growstrategy.h
index b9b4a42cf72..b9b4a42cf72 100644
--- a/searchcommon/src/vespa/searchcommon/common/growstrategy.h
+++ b/searchlib/src/vespa/searchcommon/common/growstrategy.h
diff --git a/searchcommon/src/vespa/searchcommon/common/iblobconverter.h b/searchlib/src/vespa/searchcommon/common/iblobconverter.h
index 6581c3e5ccb..6581c3e5ccb 100644
--- a/searchcommon/src/vespa/searchcommon/common/iblobconverter.h
+++ b/searchlib/src/vespa/searchcommon/common/iblobconverter.h
diff --git a/searchcommon/src/vespa/searchcommon/common/range.h b/searchlib/src/vespa/searchcommon/common/range.h
index ea2553c129b..ea2553c129b 100644
--- a/searchcommon/src/vespa/searchcommon/common/range.h
+++ b/searchlib/src/vespa/searchcommon/common/range.h
diff --git a/searchcommon/src/vespa/searchcommon/common/schema.cpp b/searchlib/src/vespa/searchcommon/common/schema.cpp
index c6a2a4532a3..c6a2a4532a3 100644
--- a/searchcommon/src/vespa/searchcommon/common/schema.cpp
+++ b/searchlib/src/vespa/searchcommon/common/schema.cpp
diff --git a/searchcommon/src/vespa/searchcommon/common/schema.h b/searchlib/src/vespa/searchcommon/common/schema.h
index 3a9bcbdd904..3a9bcbdd904 100644
--- a/searchcommon/src/vespa/searchcommon/common/schema.h
+++ b/searchlib/src/vespa/searchcommon/common/schema.h
diff --git a/searchcommon/src/vespa/searchcommon/common/schemaconfigurer.cpp b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp
index ff69ca9818a..8fbebe80b4b 100644
--- a/searchcommon/src/vespa/searchcommon/common/schemaconfigurer.cpp
+++ b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.cpp
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "schemaconfigurer.h"
+#include "subscriptionproxyng.h"
#include <vespa/config-attributes.h>
#include <vespa/config-imported-fields.h>
#include <vespa/config-indexschema.h>
@@ -9,8 +10,6 @@
#include <vespa/searchcommon/attribute/collectiontype.h>
#include <vespa/searchcommon/attribute/basictype.h>
-#include <vespa/searchcommon/config/subscriptionproxyng.h>
-
#include <vespa/log/log.h>
LOG_SETUP(".index.schemaconfigurer");
diff --git a/searchcommon/src/vespa/searchcommon/common/schemaconfigurer.h b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h
index 925aefcfa25..925aefcfa25 100644
--- a/searchcommon/src/vespa/searchcommon/common/schemaconfigurer.h
+++ b/searchlib/src/vespa/searchcommon/common/schemaconfigurer.h
diff --git a/searchcommon/src/vespa/searchcommon/config/subscriptionproxyng.h b/searchlib/src/vespa/searchcommon/common/subscriptionproxyng.h
index dd24480f689..dd24480f689 100644
--- a/searchcommon/src/vespa/searchcommon/config/subscriptionproxyng.h
+++ b/searchlib/src/vespa/searchcommon/common/subscriptionproxyng.h
diff --git a/searchcommon/src/vespa/searchcommon/common/undefinedvalues.h b/searchlib/src/vespa/searchcommon/common/undefinedvalues.h
index bbe3198a8dc..bbe3198a8dc 100644
--- a/searchcommon/src/vespa/searchcommon/common/undefinedvalues.h
+++ b/searchlib/src/vespa/searchcommon/common/undefinedvalues.h
diff --git a/searchlib/src/vespa/searchlib/CMakeLists.txt b/searchlib/src/vespa/searchlib/CMakeLists.txt
index dac40e0ab5f..91813a17379 100644
--- a/searchlib/src/vespa/searchlib/CMakeLists.txt
+++ b/searchlib/src/vespa/searchlib/CMakeLists.txt
@@ -29,10 +29,12 @@ vespa_add_library(searchlib
$<TARGET_OBJECTS:searchlib_tensor>
$<TARGET_OBJECTS:searchlib_transactionlog>
$<TARGET_OBJECTS:searchlib_util>
+ $<TARGET_OBJECTS:searchcommon_searchcommon_common>
+ $<TARGET_OBJECTS:searchcommon_searchcommon_attribute>
INSTALL lib64
DEPENDS
- staging_vespalib
+ vespalib
${VESPA_ATOMIC_LIB}
)
diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
index b991773c50f..51a4d392839 100644
--- a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
@@ -450,7 +450,10 @@ void LogDataStore::compactFile(FileId fileId)
IWriteData::UP compacter;
FileId destinationFileId = FileId::active();
if (_bucketizer) {
- if ( ! shouldCompactToActiveFile(fc->getDiskFootprint() - fc->getDiskBloat())) {
+ size_t disk_footprint = fc->getDiskFootprint();
+ size_t disk_bloat = fc->getDiskBloat();
+ size_t compacted_size = (disk_footprint <= disk_bloat) ? 0u : (disk_footprint - disk_bloat);
+ if ( ! shouldCompactToActiveFile(compacted_size)) {
MonitorGuard guard(_updateLock);
destinationFileId = allocateFileId(guard);
setNewFileChunk(guard, createWritableFile(destinationFileId, fc->getLastPersistedSerialNum(), fc->getNameId().next()));
@@ -464,9 +467,8 @@ void LogDataStore::compactFile(FileId fileId)
fc->appendTo(_executor, *this, *compacter, fc->getNumChunks(), nullptr, CpuCategory::COMPACT);
- if (destinationFileId.isActive()) {
- flushActiveAndWait(0);
- } else {
+ flushActiveAndWait(0);
+ if (!destinationFileId.isActive()) {
MonitorGuard guard(_updateLock);
auto & compactTo = dynamic_cast<WriteableFileChunk &>(*_fileChunks[destinationFileId.getId()]);
flushFileAndWait(std::move(guard), compactTo, 0);
diff --git a/searchlib/src/vespa/searchlib/index/field_length_calculator.h b/searchlib/src/vespa/searchlib/index/field_length_calculator.h
index 35a18b432f9..15d4c5ec285 100644
--- a/searchlib/src/vespa/searchlib/index/field_length_calculator.h
+++ b/searchlib/src/vespa/searchlib/index/field_length_calculator.h
@@ -15,7 +15,7 @@ namespace search::index {
*/
class FieldLengthCalculator {
std::atomic<double> _average_field_length;
- uint32_t _num_samples; // Capped by _max_num_samples
+ std::atomic<uint32_t> _num_samples; // Capped by _max_num_samples
uint32_t _max_num_samples;
public:
@@ -39,7 +39,7 @@ public:
}
double get_average_field_length() const { return _average_field_length.load(std::memory_order_relaxed); }
- uint32_t get_num_samples() const { return _num_samples; }
+ uint32_t get_num_samples() const { return _num_samples.load(std::memory_order_relaxed); }
uint32_t get_max_num_samples() const { return _max_num_samples; }
FieldLengthInfo get_info() const {
@@ -47,10 +47,12 @@ public:
}
void add_field_length(uint32_t field_length) {
- if (_num_samples < _max_num_samples) {
- ++_num_samples;
+ auto num_samples = get_num_samples();
+ if (num_samples < _max_num_samples) {
+ ++num_samples;
+ _num_samples.store(num_samples, std::memory_order_relaxed);
}
- _average_field_length.store((_average_field_length.load(std::memory_order_relaxed) * (_num_samples - 1) + field_length) / _num_samples, std::memory_order_relaxed);
+ _average_field_length.store((_average_field_length.load(std::memory_order_relaxed) * (num_samples - 1) + field_length) / num_samples, std::memory_order_relaxed);
}
};
diff --git a/searchsummary/CMakeLists.txt b/searchsummary/CMakeLists.txt
index 0a5c7ed4c99..84633bee262 100644
--- a/searchsummary/CMakeLists.txt
+++ b/searchsummary/CMakeLists.txt
@@ -6,11 +6,10 @@ vespa_define_module(
configdefinitions
fastlib_fast
document
- searchcommon
searchlib
- juniper
LIBS
+ src/vespa/juniper
src/vespa/searchsummary
src/vespa/searchsummary/config
src/vespa/searchsummary/docsummary
@@ -24,4 +23,5 @@ vespa_define_module(
src/tests/docsummary/matched_elements_filter
src/tests/docsummary/slime_summary
src/tests/extractkeywords
+ src/tests/juniper
)
diff --git a/juniper/src/test/.gitignore b/searchsummary/src/tests/juniper/.gitignore
index 46b307da632..46b307da632 100644
--- a/juniper/src/test/.gitignore
+++ b/searchsummary/src/tests/juniper/.gitignore
diff --git a/juniper/src/test/CMakeLists.txt b/searchsummary/src/tests/juniper/CMakeLists.txt
index 73c6b222220..d15e91f1f63 100644
--- a/juniper/src/test/CMakeLists.txt
+++ b/searchsummary/src/tests/juniper/CMakeLists.txt
@@ -5,9 +5,7 @@ vespa_add_executable(juniper_mcandTest_app TEST
mcandTestApp.cpp
testenv.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_mcandTest_app COMMAND juniper_mcandTest_app)
@@ -18,9 +16,7 @@ vespa_add_executable(juniper_queryparserTest_app TEST
fakerewriter.cpp
testenv.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_queryparserTest_app COMMAND juniper_queryparserTest_app)
@@ -31,9 +27,7 @@ vespa_add_executable(juniper_matchobjectTest_app TEST
testenv.cpp
fakerewriter.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_matchobjectTest_app COMMAND juniper_matchobjectTest_app)
@@ -41,9 +35,7 @@ vespa_add_executable(juniper_appender_test_app TEST
SOURCES
appender_test.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_appender_test_app COMMAND juniper_appender_test_app)
@@ -51,9 +43,7 @@ vespa_add_executable(juniper_queryvisitor_test_app TEST
SOURCES
queryvisitor_test.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_queryvisitor_test_app COMMAND juniper_queryvisitor_test_app)
@@ -63,9 +53,7 @@ vespa_add_executable(juniper_auxTest_app TEST
auxTestApp.cpp
testenv.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_auxTest_app COMMAND juniper_auxTest_app)
@@ -79,9 +67,7 @@ vespa_add_executable(juniper_SrcTestSuite_app TEST
auxTest.cpp
testenv.cpp
DEPENDS
- juniper
- vespalib
- fastlib_fast
+ searchsummary
fastlib_fast_testsuite
)
vespa_add_test(NAME juniper_SrcTestSuite_app COMMAND juniper_SrcTestSuite_app)
diff --git a/juniper/src/test/SrcTestSuite.cpp b/searchsummary/src/tests/juniper/SrcTestSuite.cpp
index 1fcaa6e29de..c1e4dc2cd19 100644
--- a/juniper/src/test/SrcTestSuite.cpp
+++ b/searchsummary/src/tests/juniper/SrcTestSuite.cpp
@@ -29,7 +29,7 @@ SrcTestSuite::SrcTestSuite() :
}
int main(int argc, char **argv) {
- juniper::TestEnv te(argc, argv, TEST_PATH("../rpclient/testclient.rc").c_str());
+ juniper::TestEnv te(argc, argv, TEST_PATH("./testclient.rc").c_str());
SrcTestSuite suite;
suite.Run();
long failures = suite.Report();
diff --git a/juniper/src/test/appender_test.cpp b/searchsummary/src/tests/juniper/appender_test.cpp
index 65e876f1a35..65e876f1a35 100644
--- a/juniper/src/test/appender_test.cpp
+++ b/searchsummary/src/tests/juniper/appender_test.cpp
diff --git a/juniper/src/test/auxTest.cpp b/searchsummary/src/tests/juniper/auxTest.cpp
index 15f5ad1749e..15f5ad1749e 100644
--- a/juniper/src/test/auxTest.cpp
+++ b/searchsummary/src/tests/juniper/auxTest.cpp
diff --git a/juniper/src/test/auxTest.h b/searchsummary/src/tests/juniper/auxTest.h
index dd6d79e024a..dd6d79e024a 100644
--- a/juniper/src/test/auxTest.h
+++ b/searchsummary/src/tests/juniper/auxTest.h
diff --git a/juniper/src/test/auxTestApp.cpp b/searchsummary/src/tests/juniper/auxTestApp.cpp
index 1c85796bb1f..5090e2d7dfc 100644
--- a/juniper/src/test/auxTestApp.cpp
+++ b/searchsummary/src/tests/juniper/auxTestApp.cpp
@@ -9,7 +9,7 @@ void Usage(char* s)
int main(int argc, char **argv) {
- juniper::TestEnv te(argc, argv, TEST_PATH("../rpclient/testclient.rc").c_str());
+ juniper::TestEnv te(argc, argv, TEST_PATH("./testclient.rc").c_str());
AuxTest pta;
pta.SetStream(&std::cout);
pta.Run(argc, argv);
diff --git a/juniper/src/test/fakerewriter.cpp b/searchsummary/src/tests/juniper/fakerewriter.cpp
index bbaf7079525..bbaf7079525 100644
--- a/juniper/src/test/fakerewriter.cpp
+++ b/searchsummary/src/tests/juniper/fakerewriter.cpp
diff --git a/juniper/src/test/fakerewriter.h b/searchsummary/src/tests/juniper/fakerewriter.h
index e1e5de59feb..e1e5de59feb 100644
--- a/juniper/src/test/fakerewriter.h
+++ b/searchsummary/src/tests/juniper/fakerewriter.h
diff --git a/juniper/src/test/largeblockchinese.input.utf8 b/searchsummary/src/tests/juniper/largeblockchinese.input.utf8
index 9b85e8d06e6..9b85e8d06e6 100644
--- a/juniper/src/test/largeblockchinese.input.utf8
+++ b/searchsummary/src/tests/juniper/largeblockchinese.input.utf8
diff --git a/juniper/src/test/matchobjectTest.cpp b/searchsummary/src/tests/juniper/matchobjectTest.cpp
index 07e3cf84767..07e3cf84767 100644
--- a/juniper/src/test/matchobjectTest.cpp
+++ b/searchsummary/src/tests/juniper/matchobjectTest.cpp
diff --git a/juniper/src/test/matchobjectTest.h b/searchsummary/src/tests/juniper/matchobjectTest.h
index 5bfd29a371f..5bfd29a371f 100644
--- a/juniper/src/test/matchobjectTest.h
+++ b/searchsummary/src/tests/juniper/matchobjectTest.h
diff --git a/juniper/src/test/matchobjectTestApp.cpp b/searchsummary/src/tests/juniper/matchobjectTestApp.cpp
index 525f7b9446a..8bdebfe7207 100644
--- a/juniper/src/test/matchobjectTestApp.cpp
+++ b/searchsummary/src/tests/juniper/matchobjectTestApp.cpp
@@ -34,7 +34,7 @@ test_wildcard()
int main(int argc, char **argv) {
test_wildcard();
- juniper::TestEnv te(argc, argv, TEST_PATH("../rpclient/testclient.rc").c_str());
+ juniper::TestEnv te(argc, argv, TEST_PATH("./testclient.rc").c_str());
MatchObjectTest test;
test.SetStream(&std::cout);
test.Run(argc, argv);
diff --git a/juniper/src/test/mcandTest.cpp b/searchsummary/src/tests/juniper/mcandTest.cpp
index 5a465275a80..5a465275a80 100644
--- a/juniper/src/test/mcandTest.cpp
+++ b/searchsummary/src/tests/juniper/mcandTest.cpp
diff --git a/juniper/src/test/mcandTest.h b/searchsummary/src/tests/juniper/mcandTest.h
index cdb01e91e3b..cdb01e91e3b 100644
--- a/juniper/src/test/mcandTest.h
+++ b/searchsummary/src/tests/juniper/mcandTest.h
diff --git a/juniper/src/test/mcandTestApp.cpp b/searchsummary/src/tests/juniper/mcandTestApp.cpp
index 825dc61da06..7b1a15934d3 100644
--- a/juniper/src/test/mcandTestApp.cpp
+++ b/searchsummary/src/tests/juniper/mcandTestApp.cpp
@@ -4,7 +4,7 @@
#include <vespa/vespalib/testkit/testapp.h>
int main(int argc, char **argv) {
- juniper::TestEnv te(argc, argv, TEST_PATH("../rpclient/testclient.rc").c_str());
+ juniper::TestEnv te(argc, argv, TEST_PATH("./testclient.rc").c_str());
MatchCandidateTest test;
test.SetStream(&std::cout);
test.Run(argc, argv);
diff --git a/juniper/src/test/partialutf8.input.utf8 b/searchsummary/src/tests/juniper/partialutf8.input.utf8
index df25fbb8c60..df25fbb8c60 100644
--- a/juniper/src/test/partialutf8.input.utf8
+++ b/searchsummary/src/tests/juniper/partialutf8.input.utf8
diff --git a/juniper/src/test/queryparserTest.cpp b/searchsummary/src/tests/juniper/queryparserTest.cpp
index e8afbcc0cee..e8afbcc0cee 100644
--- a/juniper/src/test/queryparserTest.cpp
+++ b/searchsummary/src/tests/juniper/queryparserTest.cpp
diff --git a/juniper/src/test/queryparserTest.h b/searchsummary/src/tests/juniper/queryparserTest.h
index 7dc4dda63fa..7dc4dda63fa 100644
--- a/juniper/src/test/queryparserTest.h
+++ b/searchsummary/src/tests/juniper/queryparserTest.h
diff --git a/juniper/src/test/queryparserTestApp.cpp b/searchsummary/src/tests/juniper/queryparserTestApp.cpp
index a2c551a4730..c34f0b77ae9 100644
--- a/juniper/src/test/queryparserTestApp.cpp
+++ b/searchsummary/src/tests/juniper/queryparserTestApp.cpp
@@ -6,7 +6,7 @@
int main(int argc, char **argv) {
- juniper::TestEnv te(argc, argv, TEST_PATH("../rpclient/testclient.rc").c_str());
+ juniper::TestEnv te(argc, argv, TEST_PATH("./testclient.rc").c_str());
QueryParserTest test;
test.SetStream(&std::cout);
test.Run(argc, argv);
diff --git a/juniper/src/test/queryvisitor_test.cpp b/searchsummary/src/tests/juniper/queryvisitor_test.cpp
index 0b99bf6583c..0b99bf6583c 100644
--- a/juniper/src/test/queryvisitor_test.cpp
+++ b/searchsummary/src/tests/juniper/queryvisitor_test.cpp
diff --git a/juniper/src/rpclient/testclient.rc b/searchsummary/src/tests/juniper/testclient.rc
index d04262c364c..d04262c364c 100644
--- a/juniper/src/rpclient/testclient.rc
+++ b/searchsummary/src/tests/juniper/testclient.rc
diff --git a/juniper/src/test/testenv.cpp b/searchsummary/src/tests/juniper/testenv.cpp
index 769c24b829c..769c24b829c 100644
--- a/juniper/src/test/testenv.cpp
+++ b/searchsummary/src/tests/juniper/testenv.cpp
diff --git a/juniper/src/test/testenv.h b/searchsummary/src/tests/juniper/testenv.h
index a43f4a11bec..a43f4a11bec 100644
--- a/juniper/src/test/testenv.h
+++ b/searchsummary/src/tests/juniper/testenv.h
diff --git a/juniper/src/vespa/juniper/.gitignore b/searchsummary/src/vespa/juniper/.gitignore
index d4d35b71c0f..d4d35b71c0f 100644
--- a/juniper/src/vespa/juniper/.gitignore
+++ b/searchsummary/src/vespa/juniper/.gitignore
diff --git a/juniper/src/vespa/juniper/CMakeLists.txt b/searchsummary/src/vespa/juniper/CMakeLists.txt
index 5420aa203ea..3d6b72ef511 100644
--- a/juniper/src/vespa/juniper/CMakeLists.txt
+++ b/searchsummary/src/vespa/juniper/CMakeLists.txt
@@ -1,5 +1,5 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(juniper
+vespa_add_library(searchsummary_juniper OBJECT
SOURCES
Matcher.cpp
appender.cpp
@@ -25,6 +25,5 @@ vespa_add_library(juniper
expcache.cpp
reducematcher.cpp
specialtokenregistry.cpp
- INSTALL lib64
DEPENDS
)
diff --git a/juniper/src/vespa/juniper/IJuniperProperties.h b/searchsummary/src/vespa/juniper/IJuniperProperties.h
index 63ada17684c..63ada17684c 100644
--- a/juniper/src/vespa/juniper/IJuniperProperties.h
+++ b/searchsummary/src/vespa/juniper/IJuniperProperties.h
diff --git a/juniper/src/vespa/juniper/ITokenProcessor.h b/searchsummary/src/vespa/juniper/ITokenProcessor.h
index fbb9a93075c..fbb9a93075c 100644
--- a/juniper/src/vespa/juniper/ITokenProcessor.h
+++ b/searchsummary/src/vespa/juniper/ITokenProcessor.h
diff --git a/juniper/src/vespa/juniper/Matcher.cpp b/searchsummary/src/vespa/juniper/Matcher.cpp
index e286068038b..e286068038b 100644
--- a/juniper/src/vespa/juniper/Matcher.cpp
+++ b/searchsummary/src/vespa/juniper/Matcher.cpp
diff --git a/juniper/src/vespa/juniper/Matcher.h b/searchsummary/src/vespa/juniper/Matcher.h
index 5564537ae4a..5564537ae4a 100644
--- a/juniper/src/vespa/juniper/Matcher.h
+++ b/searchsummary/src/vespa/juniper/Matcher.h
diff --git a/juniper/src/vespa/juniper/SummaryConfig.cpp b/searchsummary/src/vespa/juniper/SummaryConfig.cpp
index 5b009ea5cd2..5b009ea5cd2 100644
--- a/juniper/src/vespa/juniper/SummaryConfig.cpp
+++ b/searchsummary/src/vespa/juniper/SummaryConfig.cpp
diff --git a/juniper/src/vespa/juniper/SummaryConfig.h b/searchsummary/src/vespa/juniper/SummaryConfig.h
index fdf4cdcaae1..fdf4cdcaae1 100644
--- a/juniper/src/vespa/juniper/SummaryConfig.h
+++ b/searchsummary/src/vespa/juniper/SummaryConfig.h
diff --git a/juniper/src/vespa/juniper/appender.cpp b/searchsummary/src/vespa/juniper/appender.cpp
index 4d55f62a27a..4d55f62a27a 100644
--- a/juniper/src/vespa/juniper/appender.cpp
+++ b/searchsummary/src/vespa/juniper/appender.cpp
diff --git a/juniper/src/vespa/juniper/appender.h b/searchsummary/src/vespa/juniper/appender.h
index 760fd18feca..760fd18feca 100644
--- a/juniper/src/vespa/juniper/appender.h
+++ b/searchsummary/src/vespa/juniper/appender.h
diff --git a/juniper/src/vespa/juniper/charutil.h b/searchsummary/src/vespa/juniper/charutil.h
index 859bb6e6ed9..859bb6e6ed9 100644
--- a/juniper/src/vespa/juniper/charutil.h
+++ b/searchsummary/src/vespa/juniper/charutil.h
diff --git a/juniper/src/vespa/juniper/config.cpp b/searchsummary/src/vespa/juniper/config.cpp
index b9213bb21f1..b9213bb21f1 100644
--- a/juniper/src/vespa/juniper/config.cpp
+++ b/searchsummary/src/vespa/juniper/config.cpp
diff --git a/juniper/src/vespa/juniper/config.h b/searchsummary/src/vespa/juniper/config.h
index a9dabdd91d1..a9dabdd91d1 100644
--- a/juniper/src/vespa/juniper/config.h
+++ b/searchsummary/src/vespa/juniper/config.h
diff --git a/juniper/src/vespa/juniper/dpinterface.cpp b/searchsummary/src/vespa/juniper/dpinterface.cpp
index 7b7c5aa7120..7b7c5aa7120 100644
--- a/juniper/src/vespa/juniper/dpinterface.cpp
+++ b/searchsummary/src/vespa/juniper/dpinterface.cpp
diff --git a/juniper/src/vespa/juniper/dpinterface.h b/searchsummary/src/vespa/juniper/dpinterface.h
index 8f538cee05d..8f538cee05d 100644
--- a/juniper/src/vespa/juniper/dpinterface.h
+++ b/searchsummary/src/vespa/juniper/dpinterface.h
diff --git a/juniper/src/vespa/juniper/expcache.cpp b/searchsummary/src/vespa/juniper/expcache.cpp
index 7436054932b..7436054932b 100644
--- a/juniper/src/vespa/juniper/expcache.cpp
+++ b/searchsummary/src/vespa/juniper/expcache.cpp
diff --git a/juniper/src/vespa/juniper/expcache.h b/searchsummary/src/vespa/juniper/expcache.h
index 5f16397d69a..5f16397d69a 100644
--- a/juniper/src/vespa/juniper/expcache.h
+++ b/searchsummary/src/vespa/juniper/expcache.h
diff --git a/juniper/src/vespa/juniper/foreach_utils.h b/searchsummary/src/vespa/juniper/foreach_utils.h
index ebbf1f41049..ebbf1f41049 100644
--- a/juniper/src/vespa/juniper/foreach_utils.h
+++ b/searchsummary/src/vespa/juniper/foreach_utils.h
diff --git a/juniper/src/vespa/juniper/hashbase.h b/searchsummary/src/vespa/juniper/hashbase.h
index 2cdfc02800f..2cdfc02800f 100644
--- a/juniper/src/vespa/juniper/hashbase.h
+++ b/searchsummary/src/vespa/juniper/hashbase.h
diff --git a/juniper/src/vespa/juniper/juniperdebug.h b/searchsummary/src/vespa/juniper/juniperdebug.h
index cf6a3c971f8..cf6a3c971f8 100644
--- a/juniper/src/vespa/juniper/juniperdebug.h
+++ b/searchsummary/src/vespa/juniper/juniperdebug.h
diff --git a/juniper/src/vespa/juniper/juniperparams.cpp b/searchsummary/src/vespa/juniper/juniperparams.cpp
index e600c23f7c4..e600c23f7c4 100644
--- a/juniper/src/vespa/juniper/juniperparams.cpp
+++ b/searchsummary/src/vespa/juniper/juniperparams.cpp
diff --git a/juniper/src/vespa/juniper/juniperparams.h b/searchsummary/src/vespa/juniper/juniperparams.h
index 44980ce8b43..44980ce8b43 100644
--- a/juniper/src/vespa/juniper/juniperparams.h
+++ b/searchsummary/src/vespa/juniper/juniperparams.h
diff --git a/juniper/src/vespa/juniper/keyocc.cpp b/searchsummary/src/vespa/juniper/keyocc.cpp
index 7214bc72fe9..7214bc72fe9 100644
--- a/juniper/src/vespa/juniper/keyocc.cpp
+++ b/searchsummary/src/vespa/juniper/keyocc.cpp
diff --git a/juniper/src/vespa/juniper/keyocc.h b/searchsummary/src/vespa/juniper/keyocc.h
index 8c79e51e3a3..8c79e51e3a3 100644
--- a/juniper/src/vespa/juniper/keyocc.h
+++ b/searchsummary/src/vespa/juniper/keyocc.h
diff --git a/juniper/src/vespa/juniper/matchelem.cpp b/searchsummary/src/vespa/juniper/matchelem.cpp
index 27c4c9516e9..27c4c9516e9 100644
--- a/juniper/src/vespa/juniper/matchelem.cpp
+++ b/searchsummary/src/vespa/juniper/matchelem.cpp
diff --git a/juniper/src/vespa/juniper/matchelem.h b/searchsummary/src/vespa/juniper/matchelem.h
index 7948eabb8ed..7948eabb8ed 100644
--- a/juniper/src/vespa/juniper/matchelem.h
+++ b/searchsummary/src/vespa/juniper/matchelem.h
diff --git a/juniper/src/vespa/juniper/matchobject.cpp b/searchsummary/src/vespa/juniper/matchobject.cpp
index 376f970d73b..376f970d73b 100644
--- a/juniper/src/vespa/juniper/matchobject.cpp
+++ b/searchsummary/src/vespa/juniper/matchobject.cpp
diff --git a/juniper/src/vespa/juniper/matchobject.h b/searchsummary/src/vespa/juniper/matchobject.h
index 3278448e0f7..3278448e0f7 100644
--- a/juniper/src/vespa/juniper/matchobject.h
+++ b/searchsummary/src/vespa/juniper/matchobject.h
diff --git a/juniper/src/vespa/juniper/mcand.cpp b/searchsummary/src/vespa/juniper/mcand.cpp
index f67788d59ed..f67788d59ed 100644
--- a/juniper/src/vespa/juniper/mcand.cpp
+++ b/searchsummary/src/vespa/juniper/mcand.cpp
diff --git a/juniper/src/vespa/juniper/mcand.h b/searchsummary/src/vespa/juniper/mcand.h
index a09a18267c1..a09a18267c1 100644
--- a/juniper/src/vespa/juniper/mcand.h
+++ b/searchsummary/src/vespa/juniper/mcand.h
diff --git a/juniper/src/vespa/juniper/propreader.cpp b/searchsummary/src/vespa/juniper/propreader.cpp
index 99a6e580126..99a6e580126 100644
--- a/juniper/src/vespa/juniper/propreader.cpp
+++ b/searchsummary/src/vespa/juniper/propreader.cpp
diff --git a/juniper/src/vespa/juniper/propreader.h b/searchsummary/src/vespa/juniper/propreader.h
index fbc6f53bfb1..fbc6f53bfb1 100644
--- a/juniper/src/vespa/juniper/propreader.h
+++ b/searchsummary/src/vespa/juniper/propreader.h
diff --git a/juniper/src/vespa/juniper/query.h b/searchsummary/src/vespa/juniper/query.h
index 8208b234d6b..8208b234d6b 100644
--- a/juniper/src/vespa/juniper/query.h
+++ b/searchsummary/src/vespa/juniper/query.h
diff --git a/juniper/src/vespa/juniper/queryhandle.cpp b/searchsummary/src/vespa/juniper/queryhandle.cpp
index ab2e24970fd..ab2e24970fd 100644
--- a/juniper/src/vespa/juniper/queryhandle.cpp
+++ b/searchsummary/src/vespa/juniper/queryhandle.cpp
diff --git a/juniper/src/vespa/juniper/queryhandle.h b/searchsummary/src/vespa/juniper/queryhandle.h
index d0b266e99ce..d0b266e99ce 100644
--- a/juniper/src/vespa/juniper/queryhandle.h
+++ b/searchsummary/src/vespa/juniper/queryhandle.h
diff --git a/juniper/src/vespa/juniper/querymodifier.cpp b/searchsummary/src/vespa/juniper/querymodifier.cpp
index 797617b605a..797617b605a 100644
--- a/juniper/src/vespa/juniper/querymodifier.cpp
+++ b/searchsummary/src/vespa/juniper/querymodifier.cpp
diff --git a/juniper/src/vespa/juniper/querymodifier.h b/searchsummary/src/vespa/juniper/querymodifier.h
index ec0d20778fb..ec0d20778fb 100644
--- a/juniper/src/vespa/juniper/querymodifier.h
+++ b/searchsummary/src/vespa/juniper/querymodifier.h
diff --git a/juniper/src/vespa/juniper/querynode.cpp b/searchsummary/src/vespa/juniper/querynode.cpp
index 1a7a80333c7..1a7a80333c7 100644
--- a/juniper/src/vespa/juniper/querynode.cpp
+++ b/searchsummary/src/vespa/juniper/querynode.cpp
diff --git a/juniper/src/vespa/juniper/querynode.h b/searchsummary/src/vespa/juniper/querynode.h
index c6fecaf1b9f..c6fecaf1b9f 100644
--- a/juniper/src/vespa/juniper/querynode.h
+++ b/searchsummary/src/vespa/juniper/querynode.h
diff --git a/juniper/src/vespa/juniper/queryparser.cpp b/searchsummary/src/vespa/juniper/queryparser.cpp
index 9b8169bee44..9b8169bee44 100644
--- a/juniper/src/vespa/juniper/queryparser.cpp
+++ b/searchsummary/src/vespa/juniper/queryparser.cpp
diff --git a/juniper/src/vespa/juniper/queryparser.h b/searchsummary/src/vespa/juniper/queryparser.h
index 5715daa3661..5715daa3661 100644
--- a/juniper/src/vespa/juniper/queryparser.h
+++ b/searchsummary/src/vespa/juniper/queryparser.h
diff --git a/juniper/src/vespa/juniper/queryvisitor.cpp b/searchsummary/src/vespa/juniper/queryvisitor.cpp
index dcd716c0c0f..dcd716c0c0f 100644
--- a/juniper/src/vespa/juniper/queryvisitor.cpp
+++ b/searchsummary/src/vespa/juniper/queryvisitor.cpp
diff --git a/juniper/src/vespa/juniper/queryvisitor.h b/searchsummary/src/vespa/juniper/queryvisitor.h
index 7c82d3fa50a..7c82d3fa50a 100644
--- a/juniper/src/vespa/juniper/queryvisitor.h
+++ b/searchsummary/src/vespa/juniper/queryvisitor.h
diff --git a/juniper/src/vespa/juniper/reducematcher.cpp b/searchsummary/src/vespa/juniper/reducematcher.cpp
index 642daae9773..642daae9773 100644
--- a/juniper/src/vespa/juniper/reducematcher.cpp
+++ b/searchsummary/src/vespa/juniper/reducematcher.cpp
diff --git a/juniper/src/vespa/juniper/reducematcher.h b/searchsummary/src/vespa/juniper/reducematcher.h
index cfdc252b17e..cfdc252b17e 100644
--- a/juniper/src/vespa/juniper/reducematcher.h
+++ b/searchsummary/src/vespa/juniper/reducematcher.h
diff --git a/juniper/src/vespa/juniper/result.cpp b/searchsummary/src/vespa/juniper/result.cpp
index 653e692e015..653e692e015 100644
--- a/juniper/src/vespa/juniper/result.cpp
+++ b/searchsummary/src/vespa/juniper/result.cpp
diff --git a/juniper/src/vespa/juniper/result.h b/searchsummary/src/vespa/juniper/result.h
index f0dcf3d4335..f0dcf3d4335 100644
--- a/juniper/src/vespa/juniper/result.h
+++ b/searchsummary/src/vespa/juniper/result.h
diff --git a/juniper/src/vespa/juniper/rewriter.h b/searchsummary/src/vespa/juniper/rewriter.h
index 92542da5acc..92542da5acc 100644
--- a/juniper/src/vespa/juniper/rewriter.h
+++ b/searchsummary/src/vespa/juniper/rewriter.h
diff --git a/juniper/src/vespa/juniper/rpinterface.cpp b/searchsummary/src/vespa/juniper/rpinterface.cpp
index 75a441fb957..75a441fb957 100644
--- a/juniper/src/vespa/juniper/rpinterface.cpp
+++ b/searchsummary/src/vespa/juniper/rpinterface.cpp
diff --git a/juniper/src/vespa/juniper/rpinterface.h b/searchsummary/src/vespa/juniper/rpinterface.h
index 6cda324ae5c..6cda324ae5c 100644
--- a/juniper/src/vespa/juniper/rpinterface.h
+++ b/searchsummary/src/vespa/juniper/rpinterface.h
diff --git a/juniper/src/vespa/juniper/simplemap.h b/searchsummary/src/vespa/juniper/simplemap.h
index 079637de231..079637de231 100644
--- a/juniper/src/vespa/juniper/simplemap.h
+++ b/searchsummary/src/vespa/juniper/simplemap.h
diff --git a/juniper/src/vespa/juniper/specialtokenregistry.cpp b/searchsummary/src/vespa/juniper/specialtokenregistry.cpp
index cda8bc0fcd7..cda8bc0fcd7 100644
--- a/juniper/src/vespa/juniper/specialtokenregistry.cpp
+++ b/searchsummary/src/vespa/juniper/specialtokenregistry.cpp
diff --git a/juniper/src/vespa/juniper/specialtokenregistry.h b/searchsummary/src/vespa/juniper/specialtokenregistry.h
index 2240dcf65b0..2240dcf65b0 100644
--- a/juniper/src/vespa/juniper/specialtokenregistry.h
+++ b/searchsummary/src/vespa/juniper/specialtokenregistry.h
diff --git a/juniper/src/vespa/juniper/stringmap.cpp b/searchsummary/src/vespa/juniper/stringmap.cpp
index 3cb9e9b62e0..3cb9e9b62e0 100644
--- a/juniper/src/vespa/juniper/stringmap.cpp
+++ b/searchsummary/src/vespa/juniper/stringmap.cpp
diff --git a/juniper/src/vespa/juniper/stringmap.h b/searchsummary/src/vespa/juniper/stringmap.h
index 4b6265695ad..4b6265695ad 100644
--- a/juniper/src/vespa/juniper/stringmap.h
+++ b/searchsummary/src/vespa/juniper/stringmap.h
diff --git a/juniper/src/vespa/juniper/sumdesc.cpp b/searchsummary/src/vespa/juniper/sumdesc.cpp
index fcee1eb605f..fcee1eb605f 100644
--- a/juniper/src/vespa/juniper/sumdesc.cpp
+++ b/searchsummary/src/vespa/juniper/sumdesc.cpp
diff --git a/juniper/src/vespa/juniper/sumdesc.h b/searchsummary/src/vespa/juniper/sumdesc.h
index d91bf160e04..d91bf160e04 100644
--- a/juniper/src/vespa/juniper/sumdesc.h
+++ b/searchsummary/src/vespa/juniper/sumdesc.h
diff --git a/juniper/src/vespa/juniper/tokenizer.cpp b/searchsummary/src/vespa/juniper/tokenizer.cpp
index db6e1ecfccd..db6e1ecfccd 100644
--- a/juniper/src/vespa/juniper/tokenizer.cpp
+++ b/searchsummary/src/vespa/juniper/tokenizer.cpp
diff --git a/juniper/src/vespa/juniper/tokenizer.h b/searchsummary/src/vespa/juniper/tokenizer.h
index 34ed1dba5bb..34ed1dba5bb 100644
--- a/juniper/src/vespa/juniper/tokenizer.h
+++ b/searchsummary/src/vespa/juniper/tokenizer.h
diff --git a/juniper/src/vespa/juniper/wildcard_match.h b/searchsummary/src/vespa/juniper/wildcard_match.h
index 2cde4364693..2cde4364693 100644
--- a/juniper/src/vespa/juniper/wildcard_match.h
+++ b/searchsummary/src/vespa/juniper/wildcard_match.h
diff --git a/searchsummary/src/vespa/searchsummary/CMakeLists.txt b/searchsummary/src/vespa/searchsummary/CMakeLists.txt
index 917e8b017da..6ec91622980 100644
--- a/searchsummary/src/vespa/searchsummary/CMakeLists.txt
+++ b/searchsummary/src/vespa/searchsummary/CMakeLists.txt
@@ -3,6 +3,7 @@ vespa_add_library(searchsummary
SOURCES
$<TARGET_OBJECTS:searchsummary_config>
$<TARGET_OBJECTS:searchsummary_docsummary>
+ $<TARGET_OBJECTS:searchsummary_juniper>
INSTALL lib64
DEPENDS
z
diff --git a/slobrok/CMakeLists.txt b/slobrok/CMakeLists.txt
index 9a8f73c6e86..332e1e90282 100644
--- a/slobrok/CMakeLists.txt
+++ b/slobrok/CMakeLists.txt
@@ -5,7 +5,6 @@ vespa_define_module(
vespalib
fnet
configdefinitions
- staging_vespalib
LIBS
src/vespa/slobrok
diff --git a/slobrok/src/vespa/slobrok/sbmirror.cpp b/slobrok/src/vespa/slobrok/sbmirror.cpp
index 9207eb3f56f..62d288d40dc 100644
--- a/slobrok/src/vespa/slobrok/sbmirror.cpp
+++ b/slobrok/src/vespa/slobrok/sbmirror.cpp
@@ -217,8 +217,8 @@ MirrorAPI::handleReconfig()
bool
MirrorAPI::handleReqDone()
{
- if (_reqDone) {
- _reqDone = false;
+ if (_reqDone.load(std::memory_order_relaxed)) {
+ _reqDone.store(false, std::memory_order_relaxed);
_reqPending = false;
bool reconn = _req->IsError() ? true : handleIncrementalFetch();
@@ -321,9 +321,9 @@ MirrorAPI::PerformTask()
void
MirrorAPI::RequestDone(FRT_RPCRequest *req)
{
- LOG_ASSERT(req == _req && !_reqDone);
+ LOG_ASSERT(req == _req && !_reqDone.load(std::memory_order_relaxed));
(void) req;
- _reqDone = true;
+ _reqDone.store(true, std::memory_order_relaxed);
ScheduleNow();
}
diff --git a/slobrok/src/vespa/slobrok/sbmirror.h b/slobrok/src/vespa/slobrok/sbmirror.h
index 58258ecf023..d13a52f2b49 100644
--- a/slobrok/src/vespa/slobrok/sbmirror.h
+++ b/slobrok/src/vespa/slobrok/sbmirror.h
@@ -7,6 +7,7 @@
#include <vespa/vespalib/util/gencnt.h>
#include <vespa/vespalib/stllike/hash_map.h>
#include <vespa/fnet/frt/invoker.h>
+#include <atomic>
class FRT_Target;
@@ -92,7 +93,7 @@ private:
mutable std::mutex _lock;
bool _reqPending;
bool _scheduled;
- bool _reqDone;
+ std::atomic<bool> _reqDone;
bool _logOnSuccess;
SpecMap _specs;
vespalib::GenCnt _specsGen;
diff --git a/slobrok/src/vespa/slobrok/sbregister.cpp b/slobrok/src/vespa/slobrok/sbregister.cpp
index cdab4d4009d..c1948a24aa8 100644
--- a/slobrok/src/vespa/slobrok/sbregister.cpp
+++ b/slobrok/src/vespa/slobrok/sbregister.cpp
@@ -125,8 +125,8 @@ RegisterAPI::unregisterName(vespalib::stringref name)
void
RegisterAPI::handleReqDone()
{
- if (_reqDone) {
- _reqDone = false;
+ if (_reqDone.load(std::memory_order_relaxed)) {
+ _reqDone.store(false, std::memory_order_relaxed);
if (_req->IsError()) {
if (_req->GetErrorCode() != FRTE_RPC_METHOD_FAILED) {
LOG(debug, "register failed: %s (code %d)",
@@ -270,9 +270,9 @@ RegisterAPI::PerformTask()
void
RegisterAPI::RequestDone(FRT_RPCRequest *req)
{
- LOG_ASSERT(req == _req && !_reqDone);
+ LOG_ASSERT(req == _req && !_reqDone.load(std::memory_order_relaxed));
(void) req;
- _reqDone = true;
+ _reqDone.store(true, std::memory_order_relaxed);
ScheduleNow();
}
diff --git a/slobrok/src/vespa/slobrok/sbregister.h b/slobrok/src/vespa/slobrok/sbregister.h
index 7590cbc0afa..16f14446234 100644
--- a/slobrok/src/vespa/slobrok/sbregister.h
+++ b/slobrok/src/vespa/slobrok/sbregister.h
@@ -86,7 +86,7 @@ private:
FRT_Supervisor &_orb;
RPCHooks _hooks;
std::mutex _lock;
- bool _reqDone;
+ std::atomic<bool> _reqDone;
bool _logOnSuccess;
std::atomic<bool> _busy;
SlobrokList _slobrokSpecs;
diff --git a/staging_vespalib/.gitignore b/staging_vespalib/.gitignore
deleted file mode 100644
index 65e000de4f0..00000000000
--- a/staging_vespalib/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-doc
-lib
-Makefile
diff --git a/staging_vespalib/CMakeLists.txt b/staging_vespalib/CMakeLists.txt
deleted file mode 100644
index 6d65c5046df..00000000000
--- a/staging_vespalib/CMakeLists.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
-set(STAGING_VESPALIB_DIRECTIO_TESTDIR src/tests/directio)
-set(STAGING_VESPALIB_PROCESS_MEMORY_STATS_TESTDIR src/tests/util/process_memory_stats)
-endif()
-
-vespa_define_module(
- DEPENDS
- fastos
- vespalog
- vespalib
-
- TESTS
- src/tests/array
- src/tests/benchmark
- src/tests/bits
- src/tests/clock
- src/tests/crc
- ${STAGING_VESPALIB_DIRECTIO_TESTDIR}
- src/tests/floatingpointtype
- src/tests/growablebytebuffer
- src/tests/json
- src/tests/memorydatastore
- src/tests/objectdump
- src/tests/objects
- src/tests/objectselection
- src/tests/polymorphicarray
- src/tests/programoptions
- src/tests/rusage
- src/tests/shutdownguard
- src/tests/stllike
- ${STAGING_VESPALIB_PROCESS_MEMORY_STATS_TESTDIR}
- src/tests/xmlserializable
-
- LIBS
- src/vespa/vespalib
- src/vespa/vespalib/objects
- src/vespa/vespalib/stllike
- src/vespa/vespalib/util
-)
diff --git a/staging_vespalib/OWNERS b/staging_vespalib/OWNERS
deleted file mode 100644
index 3853ae0ffae..00000000000
--- a/staging_vespalib/OWNERS
+++ /dev/null
@@ -1,3 +0,0 @@
-arnej27959
-havardpe
-baldersheim
diff --git a/staging_vespalib/README b/staging_vespalib/README
deleted file mode 100644
index 4cb562d8b79..00000000000
--- a/staging_vespalib/README
+++ /dev/null
@@ -1,3 +0,0 @@
-Vespalib is the location for common and generic vespa utility classes.
-This is the staging location for classes that are intended to be added
-to vespalib, but aren't finished enough yet. \ No newline at end of file
diff --git a/staging_vespalib/src/.gitignore b/staging_vespalib/src/.gitignore
deleted file mode 100644
index 7871665637b..00000000000
--- a/staging_vespalib/src/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.dsp
-Makefile.ini
-config_command.sh
-project.dsw
-/module.conf
diff --git a/staging_vespalib/src/Doxyfile b/staging_vespalib/src/Doxyfile
deleted file mode 100644
index 6ad88d3127b..00000000000
--- a/staging_vespalib/src/Doxyfile
+++ /dev/null
@@ -1,225 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-# Doxyfile 1.4.6
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = vespalib
-PROJECT_NUMBER =
-OUTPUT_DIRECTORY = ../doc/doxygen
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF =
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = YES
-STRIP_FROM_PATH =
-STRIP_FROM_INC_PATH = ./
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-SEPARATE_MEMBER_PAGES = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = NO
-OPTIMIZE_OUTPUT_JAVA = NO
-BUILTIN_STL_SUPPORT = NO
-DISTRIBUTE_GROUP_DOC = NO
-SUBGROUPING = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = NO
-EXTRACT_LOCAL_CLASSES = YES
-EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = YES
-HIDE_UNDOC_CLASSES = YES
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = NO
-CASE_SENSE_NAMES = YES
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = NO
-FILE_VERSION_FILTER =
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = vespalib/util \
- vespalib/testkit
-FILE_PATTERNS =
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = YES
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION = NO
-USE_HTAGS = NO
-VERBATIM_HEADERS = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = YES
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = NO
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
-XML_PROGRAMLISTING = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = NO
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = IAM_DOXYGEN
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE = ../doc/doxygen/vespalib.tag
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = YES
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-GROUP_GRAPHS = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = NO
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
-DOT_TRANSPARENT = NO
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
diff --git a/staging_vespalib/src/tests/.gitignore b/staging_vespalib/src/tests/.gitignore
deleted file mode 100644
index c473b24b98a..00000000000
--- a/staging_vespalib/src/tests/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-testrunner
-*_test
diff --git a/staging_vespalib/src/tests/array/.gitignore b/staging_vespalib/src/tests/array/.gitignore
deleted file mode 100644
index 154e6464c50..00000000000
--- a/staging_vespalib/src/tests/array/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/sort_benchmark
-/allocinarray_benchmark
-staging_vespalib_allocinarray_test_app
-staging_vespalib_allocinarray_benchmark_app
-staging_vespalib_sort_benchmark_app
diff --git a/staging_vespalib/src/tests/array/CMakeLists.txt b/staging_vespalib/src/tests/array/CMakeLists.txt
deleted file mode 100644
index 74ed249c099..00000000000
--- a/staging_vespalib/src/tests/array/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_allocinarray_test_app TEST
- SOURCES
- allocinarray_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_allocinarray_test_app COMMAND staging_vespalib_allocinarray_test_app)
-vespa_add_executable(staging_vespalib_sort_benchmark_app
- SOURCES
- sort_benchmark.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_sort_benchmark_app COMMAND staging_vespalib_sort_benchmark_app BENCHMARK)
-vespa_add_executable(staging_vespalib_allocinarray_benchmark_app
- SOURCES
- allocinarray_benchmark.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_allocinarray_benchmark_app COMMAND staging_vespalib_allocinarray_benchmark_app BENCHMARK)
diff --git a/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp b/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp
deleted file mode 100644
index 801f946687c..00000000000
--- a/staging_vespalib/src/tests/array/allocinarray_benchmark.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/testapp.h>
-#include <vespa/vespalib/util/rusage.h>
-#include <vespa/vespalib/util/optimized.h>
-#include <vespa/vespalib/util/allocinarray.h>
-#include <vespa/vespalib/util/array.hpp>
-#include <csignal>
-
-#include <vespa/log/log.h>
-LOG_SETUP("allocinarray_benchmark");
-
-using namespace vespalib;
-
-class Test : public TestApp
-{
-public:
-private:
- void benchmarkTree(size_t count);
- void benchmarkTreeInArray(size_t count);
- int Main() override;
-};
-
-template <typename T>
-class TreeNode
-{
-public:
- typedef TreeNode * P;
- TreeNode(const T & p) :_left(NULL), _right(NULL), _payLoad(p) { }
- ~TreeNode() {
- if (_left) {
- delete _left;
- }
- if (_right) {
- delete _right;
- }
- }
- P left() { return _left; }
- P right() { return _right; }
- void left(P l) { _left = l; }
- void right(P l) { _right = l; }
-private:
- P _left;
- P _right;
- T _payLoad;
-};
-
-template <typename T>
-class RefTreeNode
-{
-public:
- typedef uint32_t P;
- RefTreeNode(const T & p) :_left(-1), _right(-1), _payLoad(p) { }
- P left() { return _left; }
- P right() { return _right; }
- void left(P l) { _left = l; }
- void right(P l) { _right = l; }
-private:
- P _left;
- P _right;
- T _payLoad;
-};
-
-typedef TreeNode<long> N;
-typedef RefTreeNode<long> R;
-typedef AllocInArray<R, vespalib::Array<R> > Store;
-
-void populate(Store & store, uint32_t parent, size_t depth)
-{
- if (depth > 0) {
- store[parent].left(store.alloc(R(0)));
- populate(store, store[parent].left(), depth-1);
- store[parent].right(store.alloc(R(1)));
- populate(store, store[parent].right(), depth-1);
- }
-}
-
-void populate(N * parent, size_t depth)
-{
- if (depth > 0) {
- parent->left(new N(0));
- populate(parent->left(), depth-1);
- parent->right(new N(1));
- populate(parent->right(), depth-1);
- }
-}
-
-void Test::benchmarkTree(size_t count)
-{
- N root(0);
- size_t depth = Optimized::msbIdx(count);
- populate(&root, depth);
-}
-
-void Test::benchmarkTreeInArray(size_t count)
-{
- Store store;
- store.alloc(R(0));
- size_t depth = Optimized::msbIdx(count);
- populate(store, 0, depth);
-}
-
-int
-Test::Main()
-{
- std::string type("direct");
- size_t count = 1000000;
- if (_argc > 1) {
- type = _argv[1];
- }
- if (_argc > 2) {
- count = strtol(_argv[2], NULL, 0);
- }
- TEST_INIT("allocinarray_benchmark");
- steady_time start(steady_clock::now());
- if (type == "direct") {
- benchmarkTree(count);
- } else {
- benchmarkTreeInArray(count);
- }
- LOG(info, "rusage = {\n%s\n}", vespalib::RUsage::createSelf(start).toString().c_str());
- ASSERT_EQUAL(0, kill(0, SIGPROF));
- TEST_DONE();
-}
-
-TEST_APPHOOK(Test);
-
diff --git a/staging_vespalib/src/tests/array/allocinarray_test.cpp b/staging_vespalib/src/tests/array/allocinarray_test.cpp
deleted file mode 100644
index b6acd9e7e78..00000000000
--- a/staging_vespalib/src/tests/array/allocinarray_test.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/util/array.h>
-#include <vespa/vespalib/util/allocinarray.h>
-#include <vespa/vespalib/stllike/string.h>
-#include <vespa/vespalib/testkit/testapp.h>
-#include <deque>
-
-using namespace vespalib;
-
-class Test : public TestApp
-{
-public:
- int Main() override;
-private:
- template <typename T, typename V>
- void testAllocInArray();
-};
-
-int
-Test::Main()
-{
- TEST_INIT("allocinarray_test");
-
- testAllocInArray<int64_t, vespalib::Array<int64_t> >();
- testAllocInArray<int64_t, vespalib::Array<int64_t> >();
- testAllocInArray<int64_t, std::vector<int64_t> >();
- testAllocInArray<int64_t, std::deque<int64_t> >();
-
- TEST_DONE();
-}
-
-template <typename T, typename V>
-void Test::testAllocInArray()
-{
- typedef AllocInArray<T, V> AA;
- AA alloc;
- EXPECT_EQUAL(0ul, alloc.size());
- EXPECT_EQUAL(0ul, alloc.alloc(1));
- EXPECT_EQUAL(1ul, alloc.size());
- EXPECT_EQUAL(1, alloc[0]);
- alloc.free(0);
- EXPECT_EQUAL(0ul, alloc.size());
- alloc.free(0);
- EXPECT_EQUAL(0ul, alloc.size());
- alloc.free(1);
- EXPECT_EQUAL(0ul, alloc.size());
-
- alloc.alloc(7);
- alloc.alloc(17);
- alloc.alloc(-17);
- EXPECT_EQUAL(3ul, alloc.size());
- EXPECT_EQUAL(7, alloc[0]);
- EXPECT_EQUAL(17, alloc[1]);
- EXPECT_EQUAL(-17, alloc[2]);
- alloc[1] = 99;
- EXPECT_EQUAL(99, alloc[1]);
- alloc.free(1);
- EXPECT_EQUAL(2ul, alloc.size());
- EXPECT_EQUAL(7, alloc[0]);
- EXPECT_EQUAL(-17, alloc[2]);
- EXPECT_EQUAL(1ul, alloc.alloc(103));
- EXPECT_EQUAL(3ul, alloc.size());
- EXPECT_EQUAL(7, alloc[0]);
- EXPECT_EQUAL(103, alloc[1]);
- EXPECT_EQUAL(-17, alloc[2]);
-
- alloc.clear();
- EXPECT_EQUAL(0ul, alloc.size());
-}
-
-TEST_APPHOOK(Test)
diff --git a/staging_vespalib/src/tests/benchmark/.gitignore b/staging_vespalib/src/tests/benchmark/.gitignore
deleted file mode 100644
index 789e52c1370..00000000000
--- a/staging_vespalib/src/tests/benchmark/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-benchmark_test
-staging_vespalib_benchmark_test_app
diff --git a/staging_vespalib/src/tests/benchmark/CMakeLists.txt b/staging_vespalib/src/tests/benchmark/CMakeLists.txt
deleted file mode 100644
index 95d61495047..00000000000
--- a/staging_vespalib/src/tests/benchmark/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_benchmark_test_app
- SOURCES
- benchmark.cpp
- testbase.cpp
- DEPENDS
- staging_vespalib
- EXTERNAL_DEPENDS
- ${VESPA_GLIBC_RT_LIB}
-)
-vespa_add_test(NAME staging_vespalib_benchmark_test NO_VALGRIND COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/benchmark_test.sh BENCHMARK
- DEPENDS staging_vespalib_benchmark_test_app)
diff --git a/staging_vespalib/src/tests/benchmark/benchmark_test.sh b/staging_vespalib/src/tests/benchmark/benchmark_test.sh
deleted file mode 100755
index 172a8a1379b..00000000000
--- a/staging_vespalib/src/tests/benchmark/benchmark_test.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-set -e
-TIME=time
-
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ParamByReferenceVectorInt 200000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ParamByValueVectorInt 4000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ParamByReferenceVectorString 30000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ParamByValueVectorString 40 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ReturnByReferenceVectorString 10 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ReturnByValueVectorString 10 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ReturnByValueMultiVectorString 10 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockSystem 1000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockGToD 1000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockGToD 20000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockREALTIME 1000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockMONOTONIC 1000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockMONOTONIC_RAW 1000 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockPROCESS_CPUTIME_ID 2500 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::ClockTHREAD_CPUTIME_ID 2500 1
-$TIME ./staging_vespalib_benchmark_test_app vespalib::CreateVespalibString 20000 1
diff --git a/staging_vespalib/src/tests/bits/.gitignore b/staging_vespalib/src/tests/bits/.gitignore
deleted file mode 100644
index 82481fe3c30..00000000000
--- a/staging_vespalib/src/tests/bits/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-bits_test
-staging_vespalib_bits_test_app
diff --git a/staging_vespalib/src/tests/bits/CMakeLists.txt b/staging_vespalib/src/tests/bits/CMakeLists.txt
deleted file mode 100644
index 36edcf3bb8f..00000000000
--- a/staging_vespalib/src/tests/bits/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_bits_test_app TEST
- SOURCES
- bits_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_bits_test_app COMMAND staging_vespalib_bits_test_app)
diff --git a/staging_vespalib/src/tests/clock/.gitignore b/staging_vespalib/src/tests/clock/.gitignore
deleted file mode 100644
index b0fcd343176..00000000000
--- a/staging_vespalib/src/tests/clock/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.depend
-Makefile
-clock_test
-staging_vespalib_clock_test_app
-staging_vespalib_clock_benchmark_app
diff --git a/staging_vespalib/src/tests/clock/CMakeLists.txt b/staging_vespalib/src/tests/clock/CMakeLists.txt
deleted file mode 100644
index 240ad8d0a55..00000000000
--- a/staging_vespalib/src/tests/clock/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_clock_benchmark_app TEST
- SOURCES
- clock_benchmark.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_executable(staging_vespalib_clock_test_app TEST
- SOURCES
- clock_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_clock_test_app COMMAND staging_vespalib_clock_test_app)
diff --git a/staging_vespalib/src/tests/crc/.gitignore b/staging_vespalib/src/tests/crc/.gitignore
deleted file mode 100644
index 448fa141b03..00000000000
--- a/staging_vespalib/src/tests/crc/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-crc_test
-staging_vespalib_crc_test_app
diff --git a/staging_vespalib/src/tests/crc/CMakeLists.txt b/staging_vespalib/src/tests/crc/CMakeLists.txt
deleted file mode 100644
index b6c89d00c54..00000000000
--- a/staging_vespalib/src/tests/crc/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_crc_test_app TEST
- SOURCES
- crc_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_crc_test_app COMMAND staging_vespalib_crc_test_app boost)
diff --git a/staging_vespalib/src/tests/directio/.gitignore b/staging_vespalib/src/tests/directio/.gitignore
deleted file mode 100644
index 6e6dbe13324..00000000000
--- a/staging_vespalib/src/tests/directio/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_directio_test_app
diff --git a/staging_vespalib/src/tests/directio/CMakeLists.txt b/staging_vespalib/src/tests/directio/CMakeLists.txt
deleted file mode 100644
index 64da387d950..00000000000
--- a/staging_vespalib/src/tests/directio/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_directio_test_app TEST
- SOURCES
- directio.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_directio_test_app COMMAND staging_vespalib_directio_test_app)
diff --git a/staging_vespalib/src/tests/floatingpointtype/.gitignore b/staging_vespalib/src/tests/floatingpointtype/.gitignore
deleted file mode 100644
index f99dd0fd707..00000000000
--- a/staging_vespalib/src/tests/floatingpointtype/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-floatingpointtype_test
-staging_vespalib_floatingpointtype_test_app
diff --git a/staging_vespalib/src/tests/floatingpointtype/CMakeLists.txt b/staging_vespalib/src/tests/floatingpointtype/CMakeLists.txt
deleted file mode 100644
index eca27430e0b..00000000000
--- a/staging_vespalib/src/tests/floatingpointtype/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_floatingpointtype_test_app TEST
- SOURCES
- floatingpointtypetest.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_floatingpointtype_test_app COMMAND staging_vespalib_floatingpointtype_test_app)
diff --git a/staging_vespalib/src/tests/growablebytebuffer/.gitignore b/staging_vespalib/src/tests/growablebytebuffer/.gitignore
deleted file mode 100644
index 8df98f682b8..00000000000
--- a/staging_vespalib/src/tests/growablebytebuffer/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-growablebytebuffer_test
-staging_vespalib_growablebytebuffer_test_app
diff --git a/staging_vespalib/src/tests/growablebytebuffer/CMakeLists.txt b/staging_vespalib/src/tests/growablebytebuffer/CMakeLists.txt
deleted file mode 100644
index 9126bd1cd07..00000000000
--- a/staging_vespalib/src/tests/growablebytebuffer/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_growablebytebuffer_test_app TEST
- SOURCES
- growablebytebuffer_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_growablebytebuffer_test_app COMMAND staging_vespalib_growablebytebuffer_test_app)
diff --git a/staging_vespalib/src/tests/json/.gitignore b/staging_vespalib/src/tests/json/.gitignore
deleted file mode 100644
index 963bafed038..00000000000
--- a/staging_vespalib/src/tests/json/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_json_test_app
diff --git a/staging_vespalib/src/tests/json/CMakeLists.txt b/staging_vespalib/src/tests/json/CMakeLists.txt
deleted file mode 100644
index 2ca20be9258..00000000000
--- a/staging_vespalib/src/tests/json/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_json_test_app TEST
- SOURCES
- json.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_json_test_app COMMAND staging_vespalib_json_test_app boost)
diff --git a/staging_vespalib/src/tests/memorydatastore/.gitignore b/staging_vespalib/src/tests/memorydatastore/.gitignore
deleted file mode 100644
index 634cea1ae88..00000000000
--- a/staging_vespalib/src/tests/memorydatastore/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_memorydatastore_test_app
diff --git a/staging_vespalib/src/tests/memorydatastore/CMakeLists.txt b/staging_vespalib/src/tests/memorydatastore/CMakeLists.txt
deleted file mode 100644
index f3709aeea65..00000000000
--- a/staging_vespalib/src/tests/memorydatastore/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_memorydatastore_test_app TEST
- SOURCES
- memorydatastore.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_memorydatastore_test_app COMMAND staging_vespalib_memorydatastore_test_app)
diff --git a/staging_vespalib/src/tests/objectdump/.gitignore b/staging_vespalib/src/tests/objectdump/.gitignore
deleted file mode 100644
index d243567aea6..00000000000
--- a/staging_vespalib/src/tests/objectdump/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-objectdump_test
-staging_vespalib_objectdump_test_app
diff --git a/staging_vespalib/src/tests/objectdump/CMakeLists.txt b/staging_vespalib/src/tests/objectdump/CMakeLists.txt
deleted file mode 100644
index 29fc8a748ee..00000000000
--- a/staging_vespalib/src/tests/objectdump/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_objectdump_test_app TEST
- SOURCES
- objectdump.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_objectdump_test_app COMMAND staging_vespalib_objectdump_test_app)
diff --git a/staging_vespalib/src/tests/objects/CMakeLists.txt b/staging_vespalib/src/tests/objects/CMakeLists.txt
deleted file mode 100644
index f1313da4bae..00000000000
--- a/staging_vespalib/src/tests/objects/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_identifiable_test_app TEST
- SOURCES
- identifiable_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_identifiable_test_app COMMAND staging_vespalib_identifiable_test_app)
diff --git a/staging_vespalib/src/tests/objectselection/.gitignore b/staging_vespalib/src/tests/objectselection/.gitignore
deleted file mode 100644
index 3dece3fbbfe..00000000000
--- a/staging_vespalib/src/tests/objectselection/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-objectselection_test
-staging_vespalib_objectselection_test_app
diff --git a/staging_vespalib/src/tests/objectselection/CMakeLists.txt b/staging_vespalib/src/tests/objectselection/CMakeLists.txt
deleted file mode 100644
index 63f33d05e62..00000000000
--- a/staging_vespalib/src/tests/objectselection/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_objectselection_test_app TEST
- SOURCES
- objectselection.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_objectselection_test_app COMMAND staging_vespalib_objectselection_test_app)
diff --git a/staging_vespalib/src/tests/polymorphicarray/.gitignore b/staging_vespalib/src/tests/polymorphicarray/.gitignore
deleted file mode 100644
index b3a74390312..00000000000
--- a/staging_vespalib/src/tests/polymorphicarray/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_polymorphicarray_test_app
diff --git a/staging_vespalib/src/tests/polymorphicarray/CMakeLists.txt b/staging_vespalib/src/tests/polymorphicarray/CMakeLists.txt
deleted file mode 100644
index 3c7e6074b88..00000000000
--- a/staging_vespalib/src/tests/polymorphicarray/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_polymorphicarray_test_app TEST
- SOURCES
- polymorphicarray_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_polymorphicarray_test_app COMMAND staging_vespalib_polymorphicarray_test_app)
diff --git a/staging_vespalib/src/tests/programoptions/.gitignore b/staging_vespalib/src/tests/programoptions/.gitignore
deleted file mode 100644
index 31f3aa61556..00000000000
--- a/staging_vespalib/src/tests/programoptions/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.depend
-Makefile
-programoptions_test
-staging_vespalib_programoptions_test_app
diff --git a/staging_vespalib/src/tests/programoptions/CMakeLists.txt b/staging_vespalib/src/tests/programoptions/CMakeLists.txt
deleted file mode 100644
index a4d71815621..00000000000
--- a/staging_vespalib/src/tests/programoptions/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_programoptions_test_app TEST
- SOURCES
- programoptions_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_programoptions_test_app COMMAND staging_vespalib_programoptions_test_app)
diff --git a/staging_vespalib/src/tests/rusage/.gitignore b/staging_vespalib/src/tests/rusage/.gitignore
deleted file mode 100644
index 195922a9ced..00000000000
--- a/staging_vespalib/src/tests/rusage/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_rusage_test_app
diff --git a/staging_vespalib/src/tests/rusage/CMakeLists.txt b/staging_vespalib/src/tests/rusage/CMakeLists.txt
deleted file mode 100644
index b52a47183b0..00000000000
--- a/staging_vespalib/src/tests/rusage/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_rusage_test_app TEST
- SOURCES
- rusage_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_rusage_test_app COMMAND staging_vespalib_rusage_test_app)
diff --git a/staging_vespalib/src/tests/shutdownguard/.gitignore b/staging_vespalib/src/tests/shutdownguard/.gitignore
deleted file mode 100644
index a596164ac7b..00000000000
--- a/staging_vespalib/src/tests/shutdownguard/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-staging_vespalib_shutdownguard_test_app
diff --git a/staging_vespalib/src/tests/shutdownguard/CMakeLists.txt b/staging_vespalib/src/tests/shutdownguard/CMakeLists.txt
deleted file mode 100644
index b1d43788957..00000000000
--- a/staging_vespalib/src/tests/shutdownguard/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_shutdownguard_test_app TEST
- SOURCES
- shutdownguard_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_shutdownguard_test_app NO_VALGRIND COMMAND staging_vespalib_shutdownguard_test_app)
diff --git a/staging_vespalib/src/tests/stllike/.gitignore b/staging_vespalib/src/tests/stllike/.gitignore
deleted file mode 100644
index 268b9e88393..00000000000
--- a/staging_vespalib/src/tests/stllike/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.depend
-Makefile
-lrucache_test
-cache_test
-staging_vespalib_cache_test_app
-staging_vespalib_lrucache_test_app
diff --git a/staging_vespalib/src/tests/stllike/CMakeLists.txt b/staging_vespalib/src/tests/stllike/CMakeLists.txt
deleted file mode 100644
index 40dc7a8a438..00000000000
--- a/staging_vespalib/src/tests/stllike/CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_lrucache_test_app TEST
- SOURCES
- lrucache.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_lrucache_test_app COMMAND staging_vespalib_lrucache_test_app)
-vespa_add_executable(staging_vespalib_cache_test_app TEST
- SOURCES
- cache_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_cache_test_app COMMAND staging_vespalib_cache_test_app)
diff --git a/staging_vespalib/src/tests/util/process_memory_stats/.gitignore b/staging_vespalib/src/tests/util/process_memory_stats/.gitignore
deleted file mode 100644
index e32e9f22dd3..00000000000
--- a/staging_vespalib/src/tests/util/process_memory_stats/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-mapfile
-staging_vespalib_process_memory_stats_test_app
diff --git a/staging_vespalib/src/tests/util/process_memory_stats/CMakeLists.txt b/staging_vespalib/src/tests/util/process_memory_stats/CMakeLists.txt
deleted file mode 100644
index 6709c7bac1b..00000000000
--- a/staging_vespalib/src/tests/util/process_memory_stats/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_process_memory_stats_test_app TEST
- SOURCES
- process_memory_stats_test.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_process_memory_stats_test_app COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/process_memory_stats_test.sh
- DEPENDS staging_vespalib_process_memory_stats_test_app)
diff --git a/staging_vespalib/src/tests/xmlserializable/.gitignore b/staging_vespalib/src/tests/xmlserializable/.gitignore
deleted file mode 100644
index d2910cb7407..00000000000
--- a/staging_vespalib/src/tests/xmlserializable/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*_test
-.depend
-Makefile
-staging_vespalib_xmlserializable_test_app
diff --git a/staging_vespalib/src/tests/xmlserializable/CMakeLists.txt b/staging_vespalib/src/tests/xmlserializable/CMakeLists.txt
deleted file mode 100644
index 999bc45ad66..00000000000
--- a/staging_vespalib/src/tests/xmlserializable/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_executable(staging_vespalib_xmlserializable_test_app TEST
- SOURCES
- xmlserializabletest.cpp
- DEPENDS
- staging_vespalib
-)
-vespa_add_test(NAME staging_vespalib_xmlserializable_test_app COMMAND staging_vespalib_xmlserializable_test_app)
diff --git a/staging_vespalib/src/vespa/vespalib/.gitignore b/staging_vespalib/src/vespa/vespalib/.gitignore
deleted file mode 100644
index fae8ae72fc9..00000000000
--- a/staging_vespalib/src/vespa/vespalib/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.so.*
-.depend
-Makefile
diff --git a/staging_vespalib/src/vespa/vespalib/CMakeLists.txt b/staging_vespalib/src/vespa/vespalib/CMakeLists.txt
deleted file mode 100644
index 053c04064ca..00000000000
--- a/staging_vespalib/src/vespa/vespalib/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(staging_vespalib
- SOURCES
- $<TARGET_OBJECTS:staging_vespalib_vespalib_util>
- $<TARGET_OBJECTS:staging_vespalib_vespalib_objects>
- $<TARGET_OBJECTS:staging_vespalib_vespalib_stllike>
- INSTALL lib64
- DEPENDS
-)
diff --git a/staging_vespalib/src/vespa/vespalib/objects/.gitignore b/staging_vespalib/src/vespa/vespalib/objects/.gitignore
deleted file mode 100644
index ee8938b6bf4..00000000000
--- a/staging_vespalib/src/vespa/vespalib/objects/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.So
-*.exe
-*.ilk
-*.pdb
-.depend*
-Makefile
diff --git a/staging_vespalib/src/vespa/vespalib/objects/CMakeLists.txt b/staging_vespalib/src/vespa/vespalib/objects/CMakeLists.txt
deleted file mode 100644
index 6300cad0c72..00000000000
--- a/staging_vespalib/src/vespa/vespalib/objects/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(staging_vespalib_vespalib_objects OBJECT
- SOURCES
- identifiable.cpp
- namedobject.cpp
- objectvisitor.cpp
- objectdumper.cpp
- object2slime.cpp
- visit.cpp
- objectpredicate.cpp
- objectoperation.cpp
- nboserializer.cpp
- serializer.cpp
- deserializer.cpp
- asciiserializer.cpp
- floatingpointtype.cpp
- DEPENDS
-)
diff --git a/staging_vespalib/src/vespa/vespalib/objects/memberinfo.h b/staging_vespalib/src/vespa/vespalib/objects/memberinfo.h
deleted file mode 100644
index 4f2736cdbf3..00000000000
--- a/staging_vespalib/src/vespa/vespalib/objects/memberinfo.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#pragma once
-
-namespace vespalib {
-
-#define MI_TYPEID(t) MemberInfo::##t##_id
-#define MI_M_OFFSET(c, m) static_cast<long>(&static_cast<const c *>(0)->m)
-#define MI_M_SIZEOF(c, m) sizeof(static_cast<const c *>(0)->m)
-#define MI_BASE_OFFSET(c,b) static_cast<long>(static_cast<const b *>(static_cast<const * c>(1)) - 1)
-
-#define MI_DECLARE \
- static const MemberInfo _memberInfo[]; \
- static const unsigned _memberCount;
-
-#define MI_IMPL_BEGIN(c) const MemberInfo c::_memberInfo[] = { \
-#define MI_IMPL_MEM(c, t, m) {#m, MI_TYPEID(t), MI_M_OFFSET(c, m), sizeof(m) }
-#define MI_IMPL_END(c) }; const unsigned c::_memberCount = sizeof(cl::__memberDescription)/sizeof(cl::__memberDescription[0])
-
-
-class MemberInfo {
- public:
- enum TypeId {
- bool_id = 1,
- char_id,
- int8_t_id,
- uint8_t_id,
- int16_t_id,
- uint16_t_id,
- int32_t_id,
- uint32_t_id,
- int64_t_id,
- uint64_t_id,
- float_id,
- double_id,
- std_string_id,
- vespalib_Identifiable_id
- };
- const char * _name;
- TypeId _type;
- size_t _offset
- size_t _sizeof;
-};
-
-}
-
diff --git a/staging_vespalib/src/vespa/vespalib/objects/simpledynamicdata.h b/staging_vespalib/src/vespa/vespalib/objects/simpledynamicdata.h
deleted file mode 100644
index f07832465e7..00000000000
--- a/staging_vespalib/src/vespa/vespalib/objects/simpledynamicdata.h
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#pragma once
-
-#include <vector>
-#include <algorithm>
-#include <memory>
-#include "dynamicdatavalue.h"
-
-namespace vespalib
-{
-
-class SimpleDynamicData : public DynamicDataValue
-{
-private:
- struct DataUnit {
- uint32_t id;
- Value *v;
- DataUnit(uint32_t id_, Value *v_) : id(id_), v(v_) {}
- };
- typedef std::vector<DataUnit> DataUnits;
- DataUnits _values;
-
- virtual bool setValueIfExisting(uint32_t id, const Value& v) {
- for (DataUnits::iterator it = _values.begin(); it != _values.end(); ++it) {
- if (it->id == id) {
- delete it->v;
- it->v = v.clone();
- return true;
- }
- }
- return false;
- }
- virtual void addNewValue(uint32_t id, const Value& v) {
- _values.push_back(DataUnit(id, v.clone()));
- }
-
- void swap(SimpleDynamicData& other) {
- std::swap(_values, other._values);
- }
-
-public:
- virtual ~SimpleDynamicData() {
- // we own contained data, must delete it
- for (DataUnits::iterator it = _values.begin(); it != _values.end(); ++it) {
- delete it->v;
- }
- }
- virtual bool hasValue(uint32_t id) const {
- for (DataUnits::const_iterator it = _values.begin(); it != _values.end(); ++it) {
- if (it->id == id) return true;
- }
- return false;
- }
- virtual void deleteValue(uint32_t id) {
- for (DataUnits::iterator it = _values.begin(); it != _values.end(); ++it) {
- if (it->id == id) {
- delete it->v;
- _values.erase(it);
- return;
- }
- }
- }
- virtual const Value& getValue(uint32_t id) const {
- for (DataUnits::const_iterator it = _values.begin(); it != _values.end(); ++it) {
- if (it->id == id) {
- return *(it->v);
- }
- }
- throw IllegalArgumentException("id not found");
- }
- virtual Value *getValueRef(uint32_t id) const {
- for (DataUnits::const_iterator it = _values.begin(); it != _values.end(); ++it) {
- if (it->id == id) {
- return it->v;
- }
- }
- return NULL;
- }
- virtual void visitValues(ValueReceiverI& visitor) const {
- for (DataUnits::const_iterator it = _values.begin(); it != _values.end(); ++it) {
- visitor(it->id, *(it->v));
- }
- }
-
- SimpleDynamicData() : _values() {}
- SimpleDynamicData(const SimpleDynamicData& other) :
- DynamicDataValue(),
- _values()
- {
- for (DataUnits::const_iterator it = other._values.begin();
- it != other._values.end();
- ++it)
- {
- addNewValue(it->id, *(it->v));
- }
- }
-
- SimpleDynamicData& operator= (const SimpleDynamicData& other) {
- SimpleDynamicData tmp(other);
- swap(tmp);
- return *this;
- }
-
- virtual SimpleDynamicData *clone() const {
- SimpleDynamicData *ret = new SimpleDynamicData(*this);
- return ret;
- }
-};
-
-
-
-} // namespace vespalib
-
diff --git a/staging_vespalib/src/vespa/vespalib/objects/valuetype.cpp b/staging_vespalib/src/vespa/vespalib/objects/valuetype.cpp
deleted file mode 100644
index 96cf3fa22e1..00000000000
--- a/staging_vespalib/src/vespa/vespalib/objects/valuetype.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include "valuetype.h"
-
-namespace vespalib {
-
-const StringValueType StringValueType::t;
-const DynamicDataValueType DynamicDataValueType::t;
-const Int16ValueType Int16ValueType::t;
-const Int32ValueType Int32ValueType::t;
-const Int64ValueType Int64ValueType::t;
-const UnsignedByteValueType UnsignedByteValueType::t;
-const Uint128ValueType Uint128ValueType::t;
-const Uint256ValueType Uint256ValueType::t;
-const Uint96ValueType Uint96ValueType::t;
-const ArrayOfStringValueType ArrayOfStringValueType::t;
-const ArrayOfDynamicDataValueType ArrayOfDynamicDataValueType::t;
-const ArrayOfInt16ValueType ArrayOfInt16ValueType::t;
-const ArrayOfInt32ValueType ArrayOfInt32ValueType::t;
-const ArrayOfInt64ValueType ArrayOfInt64ValueType::t;
-const ArrayOfUnsignedByteValueType ArrayOfUnsignedByteValueType::t;
-const ArrayOfUint128ValueType ArrayOfUint128ValueType::t;
-const ArrayOfUint256ValueType ArrayOfUint256ValueType::t;
-const ArrayOfUint96ValueType ArrayOfUint96ValueType::t;
-
-} // namespace vespalib
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/.gitignore b/staging_vespalib/src/vespa/vespalib/stllike/.gitignore
deleted file mode 100644
index ee8938b6bf4..00000000000
--- a/staging_vespalib/src/vespa/vespalib/stllike/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.So
-*.exe
-*.ilk
-*.pdb
-.depend*
-Makefile
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/CMakeLists.txt b/staging_vespalib/src/vespa/vespalib/stllike/CMakeLists.txt
deleted file mode 100644
index a76f2b82d4e..00000000000
--- a/staging_vespalib/src/vespa/vespalib/stllike/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(staging_vespalib_vespalib_stllike OBJECT
- SOURCES
- DEPENDS
-)
diff --git a/staging_vespalib/src/vespa/vespalib/util/.gitignore b/staging_vespalib/src/vespa/vespalib/util/.gitignore
deleted file mode 100644
index ee8938b6bf4..00000000000
--- a/staging_vespalib/src/vespa/vespalib/util/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.So
-*.exe
-*.ilk
-*.pdb
-.depend*
-Makefile
diff --git a/staging_vespalib/src/vespa/vespalib/util/CMakeLists.txt b/staging_vespalib/src/vespa/vespalib/util/CMakeLists.txt
deleted file mode 100644
index dec951f9ef2..00000000000
--- a/staging_vespalib/src/vespa/vespalib/util/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_add_library(staging_vespalib_vespalib_util OBJECT
- SOURCES
- bits.cpp
- clock.cpp
- crc.cpp
- document_runnable.cpp
- doom.cpp
- growablebytebuffer.cpp
- jsonexception.cpp
- jsonstream.cpp
- malloc_mmap_guard.cpp
- process_memory_stats.cpp
- programoptions.cpp
- programoptions_testutils.cpp
- rusage.cpp
- shutdownguard.cpp
- testclock.cpp
- xmlserializable.cpp
- xmlstream.cpp
- DEPENDS
-)
diff --git a/staging_vespalib/src/vespa/vespalib/util/allocinarray.h b/staging_vespalib/src/vespa/vespalib/util/allocinarray.h
deleted file mode 100644
index aa8951fe9ec..00000000000
--- a/staging_vespalib/src/vespa/vespalib/util/allocinarray.h
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#pragma once
-
-#include <vespa/vespalib/util/alloc.h>
-#include <vespa/vespalib/util/array.h>
-
-namespace vespalib {
-
-/**
- * This is a class that lets you allocate memory tightly. It uses an vector interface
- * for storing objects of the same type efficiently. It also providex vector like access with [].
- * New objects are just appended to the backing vector, or if there are holes they are inserted there.
- * freed objects are not destructed upon free, but rather when the place is required again.
- * That happens either
- * - on free if it is the last element in the backing vector.
- * - when the AllocInArray goes out of scope.
- * - on an explicit clear.
-**/
-template <typename T, typename V=vespalib::Array<T> >
-class AllocInArray {
-public:
- typedef uint32_t Index;
- void reserve(size_t sz) { _v.reserve(sz); }
- Index alloc(const T & v);
- void free(Index p);
- const T & operator [] (Index p) const { return _v[p]; }
- T & operator [] (Index p) { return _v[p]; }
- void clear();
- size_t size() const { return _v.size() - _free.size(); }
-private:
- Index last() const { return _v.size() - 1; }
- typedef vespalib::Array<Index> FreeList;
- V _v;
- FreeList _free;
-};
-
-template <typename T, typename V>
-typename AllocInArray<T, V>::Index
-AllocInArray<T, V>::alloc(const T & v)
-{
- if (_free.empty()) {
- _v.push_back(v);
- return last();
- } else {
- Index p(_free.back());
- _free.pop_back();
- _v[p] = v;
- return p;
- }
-}
-
-template <typename T, typename V>
-void
-AllocInArray<T, V>::free(Index p)
-{
- if (p == last()) {
- _v.pop_back();
- } else if ( p < _v.size()) {
- _free.push_back(p);
- }
-}
-
-template <typename T, typename V>
-void
-AllocInArray<T, V>::clear()
-{
- _v.clear();
- _free.clear();
-}
-
-}
-
diff --git a/staging_vespalib/src/vespa/vespalib/util/overview.h b/staging_vespalib/src/vespa/vespalib/util/overview.h
deleted file mode 100644
index b998356ba50..00000000000
--- a/staging_vespalib/src/vespa/vespalib/util/overview.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-/*! \mainpage Vespalib - C++ utility library for Vespa components
- *
- * \section intro_sec Introduction
- *
- * vespalib is a collection of simple utility classes shared
- * between most Vespa components that are written in C++.
- * Most of these aren't Vespa specific in any way, except that
- * they reflect the Vespa code standard and conventions.
- *
- * \section install_sec Installation
- *
- * install vespa_vespalib_dev
- *
- * \section overview_sec Overview
- *
- * Most of the classes in vespalib can be used by themselves,
- * for a full list see the alphabetical class list.
- * Here are the major groups of classes:
- *
- * Generation counter
- *
- * vespalib::GenCnt
- *
- * Reference counting and atomic operations
- *
- * <BR> vespalib::ReferenceCounter
- *
- * Simple hashmap
- *
- * \ref vespalib::HashMap<T>
- *
- * Scope guards for easier exception-safety
- *
- * vespalib::CounterGuard
- * <BR> vespalib::DirPointer
- * <BR> vespalib::FileDescriptor
- * <BR> vespalib::FilePointer
- * <BR> \ref vespalib::MaxValueGuard<T>
- * <BR> \ref vespalib::ValueGuard<T>
- *
- * General utility macros
- * <BR> \ref VESPA_STRLOC
- * <BR> \ref VESPA_STRINGIZE(str)
- *
- * Standalone testing framework
- *
- * vespalib::TestApp
- */
diff --git a/staging_vespalib/testrun/.gitignore b/staging_vespalib/testrun/.gitignore
deleted file mode 100644
index faed45bc94a..00000000000
--- a/staging_vespalib/testrun/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-test-report.html
-test-report.html.*
-test.*.*.desc
-test.*.*.file.*
-test.*.*.files.html
-test.*.*.log
-tmp.*
-xsync.log
-/test.*.*.result
-Makefile
diff --git a/storage/CMakeLists.txt b/storage/CMakeLists.txt
index fc084bf2e80..a3768f9a193 100644
--- a/storage/CMakeLists.txt
+++ b/storage/CMakeLists.txt
@@ -2,7 +2,6 @@
vespa_define_module(
DEPENDS
vespadefaults
- storageapi
fastos
fastlib_fast
metrics
@@ -49,6 +48,11 @@ vespa_define_module(
src/vespa/storageframework/generic/metric
src/vespa/storageframework/generic/status
src/vespa/storageframework/generic/thread
+ src/vespa/storageapi/app
+ src/vespa/storageapi/buckets
+ src/vespa/storageapi/mbusprot
+ src/vespa/storageapi/message
+ src/vespa/storageapi/messageapi
TEST_DEPENDS
messagebus_messagebus-test
@@ -66,6 +70,10 @@ vespa_define_module(
src/tests/persistence
src/tests/persistence/common
src/tests/persistence/filestorage
+ src/tests/storageapi
+ src/tests/storageapi/buckets
+ src/tests/storageapi/mbusprot
+ src/tests/storageapi/messageapi
src/tests/storageframework
src/tests/storageframework/clock
src/tests/storageframework/thread
diff --git a/storage/src/tests/persistence/filestorage/CMakeLists.txt b/storage/src/tests/persistence/filestorage/CMakeLists.txt
index c9623e991e0..00a57410b54 100644
--- a/storage/src/tests/persistence/filestorage/CMakeLists.txt
+++ b/storage/src/tests/persistence/filestorage/CMakeLists.txt
@@ -15,7 +15,6 @@ vespa_add_executable(storage_filestorage_gtest_runner_app TEST
gtest_runner.cpp
DEPENDS
storage
- storageapi
storage_testhostreporter
storage_testpersistence_common
GTest::GTest
diff --git a/storageapi/src/tests/.gitignore b/storage/src/tests/storageapi/.gitignore
index 29911acfe67..29911acfe67 100644
--- a/storageapi/src/tests/.gitignore
+++ b/storage/src/tests/storageapi/.gitignore
diff --git a/storageapi/src/tests/CMakeLists.txt b/storage/src/tests/storageapi/CMakeLists.txt
index 18d2b34f499..cfcdfd55350 100644
--- a/storageapi/src/tests/CMakeLists.txt
+++ b/storage/src/tests/storageapi/CMakeLists.txt
@@ -7,7 +7,7 @@ vespa_add_executable(storageapi_gtest_runner_app TEST
storageapi_testbuckets
storageapi_testmbusprot
storageapi_testmessageapi
- storageapi
+ storage
GTest::GTest
)
diff --git a/storageapi/src/tests/buckets/.gitignore b/storage/src/tests/storageapi/buckets/.gitignore
index 1d859456ef9..1d859456ef9 100644
--- a/storageapi/src/tests/buckets/.gitignore
+++ b/storage/src/tests/storageapi/buckets/.gitignore
diff --git a/storageapi/src/tests/buckets/CMakeLists.txt b/storage/src/tests/storageapi/buckets/CMakeLists.txt
index 651b27618a6..7d2bdb77557 100644
--- a/storageapi/src/tests/buckets/CMakeLists.txt
+++ b/storage/src/tests/storageapi/buckets/CMakeLists.txt
@@ -3,6 +3,6 @@ vespa_add_library(storageapi_testbuckets
SOURCES
bucketinfotest.cpp
DEPENDS
- storageapi
+ storage
GTest::GTest
)
diff --git a/storageapi/src/tests/buckets/bucketinfotest.cpp b/storage/src/tests/storageapi/buckets/bucketinfotest.cpp
index 25648fa7e96..25648fa7e96 100644
--- a/storageapi/src/tests/buckets/bucketinfotest.cpp
+++ b/storage/src/tests/storageapi/buckets/bucketinfotest.cpp
diff --git a/storageapi/src/tests/gtest_runner.cpp b/storage/src/tests/storageapi/gtest_runner.cpp
index 2ae414830b9..2ae414830b9 100644
--- a/storageapi/src/tests/gtest_runner.cpp
+++ b/storage/src/tests/storageapi/gtest_runner.cpp
diff --git a/storageapi/src/tests/mbusprot/.gitignore b/storage/src/tests/storageapi/mbusprot/.gitignore
index 1b779fa320a..1b779fa320a 100644
--- a/storageapi/src/tests/mbusprot/.gitignore
+++ b/storage/src/tests/storageapi/mbusprot/.gitignore
diff --git a/storageapi/src/tests/mbusprot/CMakeLists.txt b/storage/src/tests/storageapi/mbusprot/CMakeLists.txt
index 48469cfd9ea..1f10f6d519a 100644
--- a/storageapi/src/tests/mbusprot/CMakeLists.txt
+++ b/storage/src/tests/storageapi/mbusprot/CMakeLists.txt
@@ -3,6 +3,6 @@ vespa_add_library(storageapi_testmbusprot
SOURCES
storageprotocoltest.cpp
DEPENDS
- storageapi
+ storage
GTest::GTest
)
diff --git a/storageapi/src/tests/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE b/storage/src/tests/storageapi/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE
index 5045a98b037..5045a98b037 100644
--- a/storageapi/src/tests/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE
+++ b/storage/src/tests/storageapi/mbusprot/mbusprot.4.2.serialization.V_4_2_STABLE
diff --git a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp b/storage/src/tests/storageapi/mbusprot/storageprotocoltest.cpp
index c130e433285..c130e433285 100644
--- a/storageapi/src/tests/mbusprot/storageprotocoltest.cpp
+++ b/storage/src/tests/storageapi/mbusprot/storageprotocoltest.cpp
diff --git a/storageapi/src/tests/message/.gitignore b/storage/src/tests/storageapi/messageapi/.gitignore
index 1d859456ef9..1d859456ef9 100644
--- a/storageapi/src/tests/message/.gitignore
+++ b/storage/src/tests/storageapi/messageapi/.gitignore
diff --git a/storageapi/src/tests/messageapi/CMakeLists.txt b/storage/src/tests/storageapi/messageapi/CMakeLists.txt
index 5bc89dea4fc..4866aa63079 100644
--- a/storageapi/src/tests/messageapi/CMakeLists.txt
+++ b/storage/src/tests/storageapi/messageapi/CMakeLists.txt
@@ -3,6 +3,6 @@ vespa_add_library(storageapi_testmessageapi
SOURCES
storage_message_address_test.cpp
DEPENDS
- storageapi
+ storage
GTest::GTest
)
diff --git a/storageapi/src/tests/messageapi/storage_message_address_test.cpp b/storage/src/tests/storageapi/messageapi/storage_message_address_test.cpp
index ea59fefc924..ea59fefc924 100644
--- a/storageapi/src/tests/messageapi/storage_message_address_test.cpp
+++ b/storage/src/tests/storageapi/messageapi/storage_message_address_test.cpp
diff --git a/storage/src/vespa/storage/CMakeLists.txt b/storage/src/vespa/storage/CMakeLists.txt
index 22aad2a147d..3cb9358b56d 100644
--- a/storage/src/vespa/storage/CMakeLists.txt
+++ b/storage/src/vespa/storage/CMakeLists.txt
@@ -27,6 +27,12 @@ vespa_add_library(storage
$<TARGET_OBJECTS:storageframework_clockimpl>
$<TARGET_OBJECTS:storageframework_componentimpl>
$<TARGET_OBJECTS:storageframework_threadimpl>
+ $<TARGET_OBJECTS:storageapi_message>
+ $<TARGET_OBJECTS:storageapi_buckets>
+ $<TARGET_OBJECTS:storageapi_messageapi>
+ $<TARGET_OBJECTS:storageapi_mbusprot>
INSTALL lib64
DEPENDS
)
+
+vespa_add_target_package_dependency(storage Protobuf)
diff --git a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
index c44ae305fa2..0f897d753f6 100644
--- a/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
+++ b/storage/src/vespa/storage/persistence/filestorage/filestorhandlerimpl.cpp
@@ -78,7 +78,10 @@ FileStorHandlerImpl::FileStorHandlerImpl(uint32_t numThreads, uint32_t numStripe
_component.registerMetricUpdateHook(*this, framework::SecondTime(5));
}
-FileStorHandlerImpl::~FileStorHandlerImpl() = default;
+FileStorHandlerImpl::~FileStorHandlerImpl()
+{
+ waitUntilNoLocks();
+}
void
FileStorHandlerImpl::addMergeStatus(const document::Bucket& bucket, std::shared_ptr<MergeStatus> status)
@@ -1171,7 +1174,6 @@ FileStorHandlerImpl::Stripe::release(const document::Bucket & bucket,
if (!entry._exclusiveLock && entry._sharedLocks.empty()) {
_lockedBuckets.erase(iter); // No more locks held
}
- guard.unlock();
_cond->notify_all();
}
diff --git a/storage/src/vespa/storage/storageserver/bouncer.cpp b/storage/src/vespa/storage/storageserver/bouncer.cpp
index 2b02156367c..313773bc5e8 100644
--- a/storage/src/vespa/storage/storageserver/bouncer.cpp
+++ b/storage/src/vespa/storage/storageserver/bouncer.cpp
@@ -145,22 +145,22 @@ Bouncer::rejectCommandWithTooHighClockSkew(api::StorageMessage& msg,
}
void
-Bouncer::abortCommandDueToClusterDown(api::StorageMessage& msg)
+Bouncer::abortCommandDueToClusterDown(api::StorageMessage& msg, const lib::State& cluster_state)
{
std::shared_ptr<api::StorageReply> reply(
static_cast<api::StorageCommand&>(msg).makeReply().release());
std::ostringstream ost;
ost << "We don't allow external load while cluster is in state "
- << _clusterState->toString(true);
+ << cluster_state.toString(true);
append_node_identity(ost);
reply->setResult(api::ReturnCode(api::ReturnCode::ABORTED, ost.str()));
sendUp(reply);
}
bool
-Bouncer::clusterIsUp() const
+Bouncer::clusterIsUp(const lib::State& cluster_state)
{
- return (*_clusterState == lib::State::UP);
+ return (cluster_state == lib::State::UP);
}
bool Bouncer::isDistributor() const {
@@ -264,14 +264,14 @@ Bouncer::onDown(const std::shared_ptr<api::StorageMessage>& msg)
int maxClockSkewInSeconds;
bool isInAvailableState;
bool abortLoadWhenClusterDown;
- bool cluster_is_up;
+ const lib::State *cluster_state;
int feedPriorityLowerBound;
{
std::lock_guard lock(_lock);
state = &getDerivedNodeState(msg->getBucket().getBucketSpace()).getState();
maxClockSkewInSeconds = _config->maxClockSkewSeconds;
abortLoadWhenClusterDown = _config->stopExternalLoadWhenClusterDown;
- cluster_is_up = clusterIsUp();
+ cluster_state = _clusterState;
isInAvailableState = state->oneOf(_config->stopAllLoadWhenNodestateNotIn.c_str());
feedPriorityLowerBound = _config->feedRejectionPriorityThreshold;
}
@@ -285,7 +285,7 @@ Bouncer::onDown(const std::shared_ptr<api::StorageMessage>& msg)
}
// Special case for point lookup Gets while node is in maintenance mode
// to allow reads to complete during two-phase cluster state transitions
- if ((*state == lib::State::MAINTENANCE) && (type.getId() == api::MessageType::GET_ID) && clusterIsUp()) {
+ if ((*state == lib::State::MAINTENANCE) && (type.getId() == api::MessageType::GET_ID) && clusterIsUp(*cluster_state)) {
MBUS_TRACE(msg->getTrace(), 7, "Bouncer: node is in Maintenance mode, but letting Get through");
return false;
}
@@ -319,8 +319,8 @@ Bouncer::onDown(const std::shared_ptr<api::StorageMessage>& msg)
}
// If cluster state is not up, fail external load
- if (abortLoadWhenClusterDown && !cluster_is_up) {
- abortCommandDueToClusterDown(*msg);
+ if (abortLoadWhenClusterDown && !clusterIsUp(*cluster_state)) {
+ abortCommandDueToClusterDown(*msg, *cluster_state);
return true;
}
diff --git a/storage/src/vespa/storage/storageserver/bouncer.h b/storage/src/vespa/storage/storageserver/bouncer.h
index 50a08387b39..55fb386a37e 100644
--- a/storage/src/vespa/storage/storageserver/bouncer.h
+++ b/storage/src/vespa/storage/storageserver/bouncer.h
@@ -57,10 +57,10 @@ private:
void onClose() override;
void abortCommandForUnavailableNode(api::StorageMessage&, const lib::State&);
void rejectCommandWithTooHighClockSkew(api::StorageMessage& msg, int maxClockSkewInSeconds);
- void abortCommandDueToClusterDown(api::StorageMessage&);
+ void abortCommandDueToClusterDown(api::StorageMessage&, const lib::State&);
void rejectDueToInsufficientPriority(api::StorageMessage&, api::StorageMessage::Priority);
void reject_due_to_too_few_bucket_bits(api::StorageMessage&);
- bool clusterIsUp() const;
+ static bool clusterIsUp(const lib::State& cluster_state);
bool isDistributor() const;
bool isExternalLoad(const api::MessageType&) const noexcept;
bool isExternalWriteOperation(const api::MessageType&) const noexcept;
diff --git a/storageapi/src/vespa/storageapi/.gitignore b/storage/src/vespa/storageapi/.gitignore
index 43485abf58c..43485abf58c 100644
--- a/storageapi/src/vespa/storageapi/.gitignore
+++ b/storage/src/vespa/storageapi/.gitignore
diff --git a/storageapi/src/vespa/storageapi/app/.gitignore b/storage/src/vespa/storageapi/app/.gitignore
index fa917bb5ae5..fa917bb5ae5 100644
--- a/storageapi/src/vespa/storageapi/app/.gitignore
+++ b/storage/src/vespa/storageapi/app/.gitignore
diff --git a/storageapi/src/vespa/storageapi/app/CMakeLists.txt b/storage/src/vespa/storageapi/app/CMakeLists.txt
index 90e5567d705..a8c183b01de 100644
--- a/storageapi/src/vespa/storageapi/app/CMakeLists.txt
+++ b/storage/src/vespa/storageapi/app/CMakeLists.txt
@@ -3,5 +3,5 @@ vespa_add_executable(storageapi_getbucketid_app
SOURCES
getbucketid.cpp
DEPENDS
- storageapi
+ storage
)
diff --git a/storageapi/src/vespa/storageapi/app/getbucketid.cpp b/storage/src/vespa/storageapi/app/getbucketid.cpp
index 21f7912d1a1..21f7912d1a1 100644
--- a/storageapi/src/vespa/storageapi/app/getbucketid.cpp
+++ b/storage/src/vespa/storageapi/app/getbucketid.cpp
diff --git a/storageapi/src/vespa/storageapi/buckets/.gitignore b/storage/src/vespa/storageapi/buckets/.gitignore
index 7ad21cf1c5e..7ad21cf1c5e 100644
--- a/storageapi/src/vespa/storageapi/buckets/.gitignore
+++ b/storage/src/vespa/storageapi/buckets/.gitignore
diff --git a/storageapi/src/vespa/storageapi/buckets/CMakeLists.txt b/storage/src/vespa/storageapi/buckets/CMakeLists.txt
index ee087f6f566..ee087f6f566 100644
--- a/storageapi/src/vespa/storageapi/buckets/CMakeLists.txt
+++ b/storage/src/vespa/storageapi/buckets/CMakeLists.txt
diff --git a/storageapi/src/vespa/storageapi/buckets/bucketinfo.cpp b/storage/src/vespa/storageapi/buckets/bucketinfo.cpp
index ff2f40e736b..8305b999afc 100644
--- a/storageapi/src/vespa/storageapi/buckets/bucketinfo.cpp
+++ b/storage/src/vespa/storageapi/buckets/bucketinfo.cpp
@@ -2,7 +2,6 @@
#include "bucketinfo.h"
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/util/xmlstream.h>
-#include <ostream>
namespace storage::api {
@@ -111,7 +110,7 @@ BucketInfo::toString() const
}
void
-BucketInfo::printXml(vespalib::XmlOutputStream& xos) const
+BucketInfo::printXml(vespalib::xml::XmlOutputStream& xos) const
{
using namespace vespalib::xml;
xos << XmlAttribute("checksum", _checksum, XmlAttribute::HEX)
diff --git a/storageapi/src/vespa/storageapi/buckets/bucketinfo.h b/storage/src/vespa/storageapi/buckets/bucketinfo.h
index d7b407185f6..e535dee3152 100644
--- a/storageapi/src/vespa/storageapi/buckets/bucketinfo.h
+++ b/storage/src/vespa/storageapi/buckets/bucketinfo.h
@@ -14,9 +14,9 @@
#pragma once
#include <vespa/storageapi/defs.h>
-#include <vespa/vespalib/util/xmlserializable.h>
#include <vespa/vespalib/stllike/string.h>
+namespace vespalib::xml { class XmlOutputStream; }
namespace storage::api {
class BucketInfo
@@ -76,7 +76,7 @@ public:
return _metaCount == 0 && _usedFileSize == 0 && _checksum == 0;
}
vespalib::string toString() const;
- void printXml(vespalib::XmlOutputStream&) const;
+ void printXml(vespalib::xml::XmlOutputStream&) const;
};
std::ostream & operator << (std::ostream & os, const BucketInfo & bucketInfo);
diff --git a/storageapi/src/vespa/storageapi/defs.h b/storage/src/vespa/storageapi/defs.h
index 9ee9fdf2218..9ee9fdf2218 100644
--- a/storageapi/src/vespa/storageapi/defs.h
+++ b/storage/src/vespa/storageapi/defs.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/.gitignore b/storage/src/vespa/storageapi/mbusprot/.gitignore
index 8e91fe9cab0..8e91fe9cab0 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/.gitignore
+++ b/storage/src/vespa/storageapi/mbusprot/.gitignore
diff --git a/storageapi/src/vespa/storageapi/mbusprot/CMakeLists.txt b/storage/src/vespa/storageapi/mbusprot/CMakeLists.txt
index 43c1da32502..43c1da32502 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/CMakeLists.txt
+++ b/storage/src/vespa/storageapi/mbusprot/CMakeLists.txt
diff --git a/storageapi/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h b/storage/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h
index f3c6a6f6856..f3c6a6f6856 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h
+++ b/storage/src/vespa/storageapi/mbusprot/legacyprotocolserialization.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/oldreturncodemapper.h b/storage/src/vespa/storageapi/mbusprot/oldreturncodemapper.h
index 40e09f23697..40e09f23697 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/oldreturncodemapper.h
+++ b/storage/src/vespa/storageapi/mbusprot/oldreturncodemapper.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf/common.proto b/storage/src/vespa/storageapi/mbusprot/protobuf/common.proto
index 49e1a8f8aba..49e1a8f8aba 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf/common.proto
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf/common.proto
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf/feed.proto b/storage/src/vespa/storageapi/mbusprot/protobuf/feed.proto
index cb923db3c3c..cb923db3c3c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf/feed.proto
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf/feed.proto
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf/inspect.proto b/storage/src/vespa/storageapi/mbusprot/protobuf/inspect.proto
index c3f4b1263a1..c3f4b1263a1 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf/inspect.proto
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf/inspect.proto
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto b/storage/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto
index 7f7ab1d7c0b..7f7ab1d7c0b 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf/maintenance.proto
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf/visiting.proto b/storage/src/vespa/storageapi/mbusprot/protobuf/visiting.proto
index 35d69bc2d3e..35d69bc2d3e 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf/visiting.proto
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf/visiting.proto
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protobuf_includes.h b/storage/src/vespa/storageapi/mbusprot/protobuf_includes.h
index 9accfdf75ee..9accfdf75ee 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protobuf_includes.h
+++ b/storage/src/vespa/storageapi/mbusprot/protobuf_includes.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization.cpp
index 4614659c458..4614659c458 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization.h
index 653e9ded85a..653e9ded85a 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
index 1bea0ea74c9..1bea0ea74c9 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.h
index b8a20e9e401..b8a20e9e401 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization4_2.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization4_2.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
index fa400b565b2..fa400b565b2 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
index 8de2edab17f..8de2edab17f 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_0.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
index 97ceceac33d..97ceceac33d 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
index bfad492e653..bfad492e653 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_1.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp
index 10aa9d69fbc..10aa9d69fbc 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
index e56b9942fa5..e56b9942fa5 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization5_2.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
index 799aff8f8b3..799aff8f8b3 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
index 5467cf6c5d2..5467cf6c5d2 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization6_0.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp b/storage/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
index 91b5999e34c..91b5999e34c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization7.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h b/storage/src/vespa/storageapi/mbusprot/protocolserialization7.h
index a61397c85ac..a61397c85ac 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/protocolserialization7.h
+++ b/storage/src/vespa/storageapi/mbusprot/protocolserialization7.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/serializationhelper.h b/storage/src/vespa/storageapi/mbusprot/serializationhelper.h
index 457a6178704..457a6178704 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/serializationhelper.h
+++ b/storage/src/vespa/storageapi/mbusprot/serializationhelper.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagecommand.cpp b/storage/src/vespa/storageapi/mbusprot/storagecommand.cpp
index 34fd0992adb..34fd0992adb 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagecommand.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/storagecommand.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagecommand.h b/storage/src/vespa/storageapi/mbusprot/storagecommand.h
index e65c0295e31..e65c0295e31 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagecommand.h
+++ b/storage/src/vespa/storageapi/mbusprot/storagecommand.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagemessage.cpp b/storage/src/vespa/storageapi/mbusprot/storagemessage.cpp
index e69de29bb2d..e69de29bb2d 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagemessage.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/storagemessage.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagemessage.h b/storage/src/vespa/storageapi/mbusprot/storagemessage.h
index 61323222b89..61323222b89 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagemessage.h
+++ b/storage/src/vespa/storageapi/mbusprot/storagemessage.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp b/storage/src/vespa/storageapi/mbusprot/storageprotocol.cpp
index 3cf54860f7c..3cf54860f7c 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/storageprotocol.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h b/storage/src/vespa/storageapi/mbusprot/storageprotocol.h
index 3f36ac42117..3f36ac42117 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storageprotocol.h
+++ b/storage/src/vespa/storageapi/mbusprot/storageprotocol.h
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagereply.cpp b/storage/src/vespa/storageapi/mbusprot/storagereply.cpp
index 1db6912dd33..1db6912dd33 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagereply.cpp
+++ b/storage/src/vespa/storageapi/mbusprot/storagereply.cpp
diff --git a/storageapi/src/vespa/storageapi/mbusprot/storagereply.h b/storage/src/vespa/storageapi/mbusprot/storagereply.h
index 538b7caa678..538b7caa678 100644
--- a/storageapi/src/vespa/storageapi/mbusprot/storagereply.h
+++ b/storage/src/vespa/storageapi/mbusprot/storagereply.h
diff --git a/storageapi/src/vespa/storageapi/message/.gitignore b/storage/src/vespa/storageapi/message/.gitignore
index 526f91c6668..526f91c6668 100644
--- a/storageapi/src/vespa/storageapi/message/.gitignore
+++ b/storage/src/vespa/storageapi/message/.gitignore
diff --git a/storageapi/src/vespa/storageapi/message/CMakeLists.txt b/storage/src/vespa/storageapi/message/CMakeLists.txt
index 2a761921dff..2a761921dff 100644
--- a/storageapi/src/vespa/storageapi/message/CMakeLists.txt
+++ b/storage/src/vespa/storageapi/message/CMakeLists.txt
diff --git a/storageapi/src/vespa/storageapi/message/bucket.cpp b/storage/src/vespa/storageapi/message/bucket.cpp
index 520f1aa2741..520f1aa2741 100644
--- a/storageapi/src/vespa/storageapi/message/bucket.cpp
+++ b/storage/src/vespa/storageapi/message/bucket.cpp
diff --git a/storageapi/src/vespa/storageapi/message/bucket.h b/storage/src/vespa/storageapi/message/bucket.h
index 47785a92039..47785a92039 100644
--- a/storageapi/src/vespa/storageapi/message/bucket.h
+++ b/storage/src/vespa/storageapi/message/bucket.h
diff --git a/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp b/storage/src/vespa/storageapi/message/bucketsplitting.cpp
index 784ba6edbd1..784ba6edbd1 100644
--- a/storageapi/src/vespa/storageapi/message/bucketsplitting.cpp
+++ b/storage/src/vespa/storageapi/message/bucketsplitting.cpp
diff --git a/storageapi/src/vespa/storageapi/message/bucketsplitting.h b/storage/src/vespa/storageapi/message/bucketsplitting.h
index 584cdfd5638..584cdfd5638 100644
--- a/storageapi/src/vespa/storageapi/message/bucketsplitting.h
+++ b/storage/src/vespa/storageapi/message/bucketsplitting.h
diff --git a/storageapi/src/vespa/storageapi/message/datagram.cpp b/storage/src/vespa/storageapi/message/datagram.cpp
index 546e0edecc1..546e0edecc1 100644
--- a/storageapi/src/vespa/storageapi/message/datagram.cpp
+++ b/storage/src/vespa/storageapi/message/datagram.cpp
diff --git a/storageapi/src/vespa/storageapi/message/datagram.h b/storage/src/vespa/storageapi/message/datagram.h
index e0f5a9f7b30..e0f5a9f7b30 100644
--- a/storageapi/src/vespa/storageapi/message/datagram.h
+++ b/storage/src/vespa/storageapi/message/datagram.h
diff --git a/storageapi/src/vespa/storageapi/message/documentsummary.cpp b/storage/src/vespa/storageapi/message/documentsummary.cpp
index 6909b4d223c..6909b4d223c 100644
--- a/storageapi/src/vespa/storageapi/message/documentsummary.cpp
+++ b/storage/src/vespa/storageapi/message/documentsummary.cpp
diff --git a/storageapi/src/vespa/storageapi/message/documentsummary.h b/storage/src/vespa/storageapi/message/documentsummary.h
index 5e2c1af3cfd..5e2c1af3cfd 100644
--- a/storageapi/src/vespa/storageapi/message/documentsummary.h
+++ b/storage/src/vespa/storageapi/message/documentsummary.h
diff --git a/storageapi/src/vespa/storageapi/message/internal.cpp b/storage/src/vespa/storageapi/message/internal.cpp
index 5e1daaaf3be..5e1daaaf3be 100644
--- a/storageapi/src/vespa/storageapi/message/internal.cpp
+++ b/storage/src/vespa/storageapi/message/internal.cpp
diff --git a/storageapi/src/vespa/storageapi/message/internal.h b/storage/src/vespa/storageapi/message/internal.h
index e0fee3e5494..e0fee3e5494 100644
--- a/storageapi/src/vespa/storageapi/message/internal.h
+++ b/storage/src/vespa/storageapi/message/internal.h
diff --git a/storageapi/src/vespa/storageapi/message/persistence.cpp b/storage/src/vespa/storageapi/message/persistence.cpp
index 41a53449b67..41a53449b67 100644
--- a/storageapi/src/vespa/storageapi/message/persistence.cpp
+++ b/storage/src/vespa/storageapi/message/persistence.cpp
diff --git a/storageapi/src/vespa/storageapi/message/persistence.h b/storage/src/vespa/storageapi/message/persistence.h
index 1d8cfd9d277..1d8cfd9d277 100644
--- a/storageapi/src/vespa/storageapi/message/persistence.h
+++ b/storage/src/vespa/storageapi/message/persistence.h
diff --git a/storageapi/src/vespa/storageapi/message/queryresult.cpp b/storage/src/vespa/storageapi/message/queryresult.cpp
index b5d29cf4e02..b5d29cf4e02 100644
--- a/storageapi/src/vespa/storageapi/message/queryresult.cpp
+++ b/storage/src/vespa/storageapi/message/queryresult.cpp
diff --git a/storageapi/src/vespa/storageapi/message/queryresult.h b/storage/src/vespa/storageapi/message/queryresult.h
index c3bbbdc47ce..c3bbbdc47ce 100644
--- a/storageapi/src/vespa/storageapi/message/queryresult.h
+++ b/storage/src/vespa/storageapi/message/queryresult.h
diff --git a/storageapi/src/vespa/storageapi/message/removelocation.cpp b/storage/src/vespa/storageapi/message/removelocation.cpp
index 7b7ed894b2c..7b7ed894b2c 100644
--- a/storageapi/src/vespa/storageapi/message/removelocation.cpp
+++ b/storage/src/vespa/storageapi/message/removelocation.cpp
diff --git a/storageapi/src/vespa/storageapi/message/removelocation.h b/storage/src/vespa/storageapi/message/removelocation.h
index 276b090cc57..276b090cc57 100644
--- a/storageapi/src/vespa/storageapi/message/removelocation.h
+++ b/storage/src/vespa/storageapi/message/removelocation.h
diff --git a/storageapi/src/vespa/storageapi/message/searchresult.cpp b/storage/src/vespa/storageapi/message/searchresult.cpp
index b2cf04b0410..b2cf04b0410 100644
--- a/storageapi/src/vespa/storageapi/message/searchresult.cpp
+++ b/storage/src/vespa/storageapi/message/searchresult.cpp
diff --git a/storageapi/src/vespa/storageapi/message/searchresult.h b/storage/src/vespa/storageapi/message/searchresult.h
index 4795876102d..4795876102d 100644
--- a/storageapi/src/vespa/storageapi/message/searchresult.h
+++ b/storage/src/vespa/storageapi/message/searchresult.h
diff --git a/storageapi/src/vespa/storageapi/message/stat.cpp b/storage/src/vespa/storageapi/message/stat.cpp
index 3b97f4f5541..3b97f4f5541 100644
--- a/storageapi/src/vespa/storageapi/message/stat.cpp
+++ b/storage/src/vespa/storageapi/message/stat.cpp
diff --git a/storageapi/src/vespa/storageapi/message/stat.h b/storage/src/vespa/storageapi/message/stat.h
index 0797ae43799..0797ae43799 100644
--- a/storageapi/src/vespa/storageapi/message/stat.h
+++ b/storage/src/vespa/storageapi/message/stat.h
diff --git a/storageapi/src/vespa/storageapi/message/state.cpp b/storage/src/vespa/storageapi/message/state.cpp
index 23bd766ac2a..23bd766ac2a 100644
--- a/storageapi/src/vespa/storageapi/message/state.cpp
+++ b/storage/src/vespa/storageapi/message/state.cpp
diff --git a/storageapi/src/vespa/storageapi/message/state.h b/storage/src/vespa/storageapi/message/state.h
index aa562c77ef9..aa562c77ef9 100644
--- a/storageapi/src/vespa/storageapi/message/state.h
+++ b/storage/src/vespa/storageapi/message/state.h
diff --git a/storageapi/src/vespa/storageapi/message/visitor.cpp b/storage/src/vespa/storageapi/message/visitor.cpp
index fb3274273ac..fb3274273ac 100644
--- a/storageapi/src/vespa/storageapi/message/visitor.cpp
+++ b/storage/src/vespa/storageapi/message/visitor.cpp
diff --git a/storageapi/src/vespa/storageapi/message/visitor.h b/storage/src/vespa/storageapi/message/visitor.h
index e6835405768..e6835405768 100644
--- a/storageapi/src/vespa/storageapi/message/visitor.h
+++ b/storage/src/vespa/storageapi/message/visitor.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/.gitignore b/storage/src/vespa/storageapi/messageapi/.gitignore
index 6e555686642..6e555686642 100644
--- a/storageapi/src/vespa/storageapi/messageapi/.gitignore
+++ b/storage/src/vespa/storageapi/messageapi/.gitignore
diff --git a/storageapi/src/vespa/storageapi/messageapi/CMakeLists.txt b/storage/src/vespa/storageapi/messageapi/CMakeLists.txt
index 6454bb1de7d..6454bb1de7d 100644
--- a/storageapi/src/vespa/storageapi/messageapi/CMakeLists.txt
+++ b/storage/src/vespa/storageapi/messageapi/CMakeLists.txt
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketcommand.cpp b/storage/src/vespa/storageapi/messageapi/bucketcommand.cpp
index c75267f560d..c75267f560d 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketcommand.cpp
+++ b/storage/src/vespa/storageapi/messageapi/bucketcommand.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketcommand.h b/storage/src/vespa/storageapi/messageapi/bucketcommand.h
index 605653681b5..605653681b5 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketcommand.h
+++ b/storage/src/vespa/storageapi/messageapi/bucketcommand.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.cpp b/storage/src/vespa/storageapi/messageapi/bucketinfocommand.cpp
index 8d5ad85b8aa..8d5ad85b8aa 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.cpp
+++ b/storage/src/vespa/storageapi/messageapi/bucketinfocommand.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.h b/storage/src/vespa/storageapi/messageapi/bucketinfocommand.h
index 0f6627328a9..0f6627328a9 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketinfocommand.h
+++ b/storage/src/vespa/storageapi/messageapi/bucketinfocommand.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp b/storage/src/vespa/storageapi/messageapi/bucketinforeply.cpp
index 6eb5f96e888..6eb5f96e888 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.cpp
+++ b/storage/src/vespa/storageapi/messageapi/bucketinforeply.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h b/storage/src/vespa/storageapi/messageapi/bucketinforeply.h
index 961e63a7ac8..961e63a7ac8 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketinforeply.h
+++ b/storage/src/vespa/storageapi/messageapi/bucketinforeply.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp b/storage/src/vespa/storageapi/messageapi/bucketreply.cpp
index 08b5effbd11..08b5effbd11 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketreply.cpp
+++ b/storage/src/vespa/storageapi/messageapi/bucketreply.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/bucketreply.h b/storage/src/vespa/storageapi/messageapi/bucketreply.h
index e7ded37c14d..e7ded37c14d 100644
--- a/storageapi/src/vespa/storageapi/messageapi/bucketreply.h
+++ b/storage/src/vespa/storageapi/messageapi/bucketreply.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/maintenancecommand.cpp b/storage/src/vespa/storageapi/messageapi/maintenancecommand.cpp
index 91551be0987..91551be0987 100644
--- a/storageapi/src/vespa/storageapi/messageapi/maintenancecommand.cpp
+++ b/storage/src/vespa/storageapi/messageapi/maintenancecommand.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/maintenancecommand.h b/storage/src/vespa/storageapi/messageapi/maintenancecommand.h
index 6bb36d0d32f..6bb36d0d32f 100644
--- a/storageapi/src/vespa/storageapi/messageapi/maintenancecommand.h
+++ b/storage/src/vespa/storageapi/messageapi/maintenancecommand.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/messagehandler.h b/storage/src/vespa/storageapi/messageapi/messagehandler.h
index 9ba8542e9db..9ba8542e9db 100644
--- a/storageapi/src/vespa/storageapi/messageapi/messagehandler.h
+++ b/storage/src/vespa/storageapi/messageapi/messagehandler.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp b/storage/src/vespa/storageapi/messageapi/returncode.cpp
index ef587968515..ef587968515 100644
--- a/storageapi/src/vespa/storageapi/messageapi/returncode.cpp
+++ b/storage/src/vespa/storageapi/messageapi/returncode.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/returncode.h b/storage/src/vespa/storageapi/messageapi/returncode.h
index f60cbe2b840..f60cbe2b840 100644
--- a/storageapi/src/vespa/storageapi/messageapi/returncode.h
+++ b/storage/src/vespa/storageapi/messageapi/returncode.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagecommand.cpp b/storage/src/vespa/storageapi/messageapi/storagecommand.cpp
index 1e797ba4792..1e797ba4792 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagecommand.cpp
+++ b/storage/src/vespa/storageapi/messageapi/storagecommand.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagecommand.h b/storage/src/vespa/storageapi/messageapi/storagecommand.h
index 30d59e5fe4b..30d59e5fe4b 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagecommand.h
+++ b/storage/src/vespa/storageapi/messageapi/storagecommand.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp b/storage/src/vespa/storageapi/messageapi/storagemessage.cpp
index db5c86af989..db5c86af989 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagemessage.cpp
+++ b/storage/src/vespa/storageapi/messageapi/storagemessage.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h b/storage/src/vespa/storageapi/messageapi/storagemessage.h
index 71567192bd9..71567192bd9 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagemessage.h
+++ b/storage/src/vespa/storageapi/messageapi/storagemessage.h
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp b/storage/src/vespa/storageapi/messageapi/storagereply.cpp
index a6fefe57e08..a6fefe57e08 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagereply.cpp
+++ b/storage/src/vespa/storageapi/messageapi/storagereply.cpp
diff --git a/storageapi/src/vespa/storageapi/messageapi/storagereply.h b/storage/src/vespa/storageapi/messageapi/storagereply.h
index 9128617096d..9128617096d 100644
--- a/storageapi/src/vespa/storageapi/messageapi/storagereply.h
+++ b/storage/src/vespa/storageapi/messageapi/storagereply.h
diff --git a/storageapi/.gitignore b/storageapi/.gitignore
deleted file mode 100644
index f3c7a7c5da6..00000000000
--- a/storageapi/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-Makefile
diff --git a/storageapi/CMakeLists.txt b/storageapi/CMakeLists.txt
deleted file mode 100644
index d8e00cc35bf..00000000000
--- a/storageapi/CMakeLists.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-vespa_define_module(
- DEPENDS
- fastos
- fnet
- vespalog
- vespalib
- document
- messagebus
- vdslib
- documentapi
-
- LIBS
- src/vespa/storageapi
- src/vespa/storageapi/app
- src/vespa/storageapi/buckets
- src/vespa/storageapi/mbusprot
- src/vespa/storageapi/message
- src/vespa/storageapi/messageapi
-
- TESTS
- src/tests
- src/tests/buckets
- src/tests/mbusprot
- src/tests/messageapi
-)
diff --git a/storageapi/OWNERS b/storageapi/OWNERS
deleted file mode 100644
index dbcff24b338..00000000000
--- a/storageapi/OWNERS
+++ /dev/null
@@ -1 +0,0 @@
-vekterli
diff --git a/storageapi/README b/storageapi/README
deleted file mode 100644
index f6332c9f8f0..00000000000
--- a/storageapi/README
+++ /dev/null
@@ -1 +0,0 @@
-This is the API needed to access the Vespa Storage System.
diff --git a/storageapi/src/.gitignore b/storageapi/src/.gitignore
deleted file mode 100644
index a735fdb4395..00000000000
--- a/storageapi/src/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.cvsignore
-Makefile.ini
-config_command.sh
-doc
-project.dsw
diff --git a/storageapi/src/tests/messageapi/.gitignore b/storageapi/src/tests/messageapi/.gitignore
deleted file mode 100644
index 1d859456ef9..00000000000
--- a/storageapi/src/tests/messageapi/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-*.So
-*.core
-*.so
-.*.swp
-.config.log
-.depend
-Makefile
-test.vlog
-testrunner
diff --git a/storageapi/src/vespa/storageapi/CMakeLists.txt b/storageapi/src/vespa/storageapi/CMakeLists.txt
deleted file mode 100644
index 7018bbc1b55..00000000000
--- a/storageapi/src/vespa/storageapi/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-vespa_add_library(storageapi
- SOURCES
- $<TARGET_OBJECTS:storageapi_message>
- $<TARGET_OBJECTS:storageapi_buckets>
- $<TARGET_OBJECTS:storageapi_messageapi>
- $<TARGET_OBJECTS:storageapi_mbusprot>
- INSTALL lib64
- DEPENDS
-)
-
-vespa_add_target_package_dependency(storageapi Protobuf)
-
diff --git a/streamingvisitors/CMakeLists.txt b/streamingvisitors/CMakeLists.txt
index 77ce4b471c0..166b4284a89 100644
--- a/streamingvisitors/CMakeLists.txt
+++ b/streamingvisitors/CMakeLists.txt
@@ -5,7 +5,6 @@ vespa_define_module(
fastlib_fast
vespalog
storage
- storageapi
config_cloudconfig
vespalib
document
diff --git a/tenant-cd-api/src/main/java/org/apiguardian/api/package-info.java b/tenant-cd-api/src/main/java/org/apiguardian/api/package-info.java
new file mode 100644
index 00000000000..85bca21b2ff
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/apiguardian/api/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 1, micro = 2))
+package org.apiguardian.api;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java
new file mode 100644
index 00000000000..087a1f556fc
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/jupiter/api/extension/support/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 5, minor = 8, micro = 1))
+package org.junit.jupiter.api.extension.support;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java
new file mode 100644
index 00000000000..1bdfab887c1
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/annotation/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons.annotation;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java
new file mode 100644
index 00000000000..8c577c10b26
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/function/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons.function;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java
new file mode 100644
index 00000000000..7c8e37cdc72
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/logging/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons.logging;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java
new file mode 100644
index 00000000000..2b56bf87c9b
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java
new file mode 100644
index 00000000000..328c88cc1a9
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/support/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons.support;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java b/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java
new file mode 100644
index 00000000000..811114f4976
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/junit/platform/commons/util/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 8, micro = 1))
+package org.junit.platform.commons.util;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/tenant-cd-api/src/main/java/org/opentest4j/package-info.java b/tenant-cd-api/src/main/java/org/opentest4j/package-info.java
new file mode 100644
index 00000000000..b7fa6cbf964
--- /dev/null
+++ b/tenant-cd-api/src/main/java/org/opentest4j/package-info.java
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * @author jonmv
+ */
+@ExportPackage(version = @Version(major = 1, minor = 2, micro = 0))
+package org.opentest4j;
+
+import com.yahoo.osgi.annotation.ExportPackage;
+import com.yahoo.osgi.annotation.Version;
diff --git a/vbench/CMakeLists.txt b/vbench/CMakeLists.txt
index 04a326cfb04..3fb5df8cd20 100644
--- a/vbench/CMakeLists.txt
+++ b/vbench/CMakeLists.txt
@@ -3,7 +3,6 @@ vespa_define_module(
DEPENDS
fastos
vespalib
- staging_vespalib
LIBS
src/vbench
diff --git a/vdslib/CMakeLists.txt b/vdslib/CMakeLists.txt
index 4f0e97ae07d..0f8144b99e9 100644
--- a/vdslib/CMakeLists.txt
+++ b/vdslib/CMakeLists.txt
@@ -4,7 +4,6 @@ vespa_define_module(
fastos
vespalog
vespalib
- staging_vespalib
config_cloudconfig
configdefinitions
document
diff --git a/vespaclient/CMakeLists.txt b/vespaclient/CMakeLists.txt
index 2a43ea804a3..a427198a22c 100644
--- a/vespaclient/CMakeLists.txt
+++ b/vespaclient/CMakeLists.txt
@@ -9,7 +9,6 @@ vespa_define_module(
document
documentapi
vespalib
- staging_vespalib
LIBS
src/vespa/vespaclient/clusterlist
diff --git a/vespajlib/src/main/java/com/yahoo/vespa/objects/Ids.java b/vespajlib/src/main/java/com/yahoo/vespa/objects/Ids.java
index 93bfa3f0dde..62ec6efe3c1 100644
--- a/vespajlib/src/main/java/com/yahoo/vespa/objects/Ids.java
+++ b/vespajlib/src/main/java/com/yahoo/vespa/objects/Ids.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.objects;
/**
* This is a class containing the global ids that are given out.
- * Must be in sync with version for c++ in staging_vespalib/src/vespalib/objects/ids.h
+ * Must be in sync with version for c++ in vespalib/src/vespalib/objects/ids.h
*
* @author baldersheim
*/
diff --git a/vespalib/CMakeLists.txt b/vespalib/CMakeLists.txt
index 79cc32d2a60..fd1c52a868a 100644
--- a/vespalib/CMakeLists.txt
+++ b/vespalib/CMakeLists.txt
@@ -1,4 +1,9 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
+set(VESPALIB_DIRECTIO_TESTDIR src/tests/directio)
+set(VESPALIB_PROCESS_MEMORY_STATS_TESTDIR src/tests/util/process_memory_stats)
+endif()
+
vespa_define_module(
DEPENDS
fastos
@@ -25,16 +30,20 @@ vespa_define_module(
src/tests/arrayref
src/tests/assert
src/tests/barrier
+ src/tests/benchmark
src/tests/benchmark_timer
+ src/tests/bits
src/tests/box
src/tests/btree
src/tests/btree/btree_store
src/tests/btree/btree-scan-speed
src/tests/btree/btree-stress
+ src/tests/clock
src/tests/component
src/tests/compress
src/tests/compression
src/tests/cpu_usage
+ src/tests/crc
src/tests/crypto
src/tests/data/databuffer
src/tests/data/input_reader
@@ -53,6 +62,7 @@ vespa_define_module(
src/tests/datastore/unique_store
src/tests/datastore/unique_store_dictionary
src/tests/datastore/unique_store_string_allocator
+ ${VESPALIB_DIRECTIO_TESTDIR}
src/tests/detect_type_benchmark
src/tests/dotproduct
src/tests/drop-file-from-cache
@@ -63,21 +73,25 @@ vespa_define_module(
src/tests/executor
src/tests/executor_idle_tracking
src/tests/explore_modern_cpp
- src/tests/fileheader
src/tests/false
src/tests/fiddle
+ src/tests/fileheader
+ src/tests/floatingpointtype
src/tests/fuzzy
src/tests/gencnt
+ src/tests/growablebytebuffer
src/tests/guard
src/tests/host_name
src/tests/hwaccelrated
src/tests/io/fileutil
src/tests/io/mapped_file_input
src/tests/issue
+ src/tests/json
src/tests/latch
src/tests/left_right_heap
src/tests/make_fixture_macros
src/tests/memory
+ src/tests/memorydatastore
src/tests/metrics
src/tests/net/async_resolver
src/tests/net/crypto_socket
@@ -93,9 +107,13 @@ vespa_define_module(
src/tests/net/tls/protocol_snooping
src/tests/net/tls/transport_options
src/tests/nice
+ src/tests/objects/identifiable
src/tests/objects/nbostream
+ src/tests/objects/objectdump
+ src/tests/objects/objectselection
src/tests/optimized
src/tests/overload
+ src/tests/polymorphicarray
src/tests/portal
src/tests/portal/handle_manager
src/tests/portal/http_request
@@ -103,13 +121,17 @@ vespa_define_module(
src/tests/printable
src/tests/priority_queue
src/tests/process
+ ${VESPALIB_PROCESS_MEMORY_STATS_TESTDIR}
+ src/tests/programoptions
src/tests/random
src/tests/referencecounter
src/tests/regex
src/tests/rendezvous
src/tests/require
src/tests/runnable_pair
+ src/tests/rusage
src/tests/sequencedtaskexecutor
+ src/tests/shutdownguard
src/tests/singleexecutor
src/tests/sha1
src/tests/shared_operation_throttler
@@ -169,6 +191,7 @@ vespa_define_module(
src/tests/visit_ranges
src/tests/invokeservice
src/tests/wakeup
+ src/tests/xmlserializable
src/tests/zcurve
LIBS
diff --git a/vespalib/src/tests/array/.gitignore b/vespalib/src/tests/array/.gitignore
index 952bc0ecdf2..dd07c7d9777 100644
--- a/vespalib/src/tests/array/.gitignore
+++ b/vespalib/src/tests/array/.gitignore
@@ -1,3 +1,4 @@
/sort_benchmark
/allocinarray_benchmark
vespalib_array_test_app
+vespalib_sort_benchmark_app
diff --git a/vespalib/src/tests/array/CMakeLists.txt b/vespalib/src/tests/array/CMakeLists.txt
index 18cb5c2b95e..fae7b32cd7e 100644
--- a/vespalib/src/tests/array/CMakeLists.txt
+++ b/vespalib/src/tests/array/CMakeLists.txt
@@ -6,3 +6,10 @@ vespa_add_executable(vespalib_array_test_app TEST
vespalib
)
vespa_add_test(NAME vespalib_array_test_app COMMAND vespalib_array_test_app)
+vespa_add_executable(vespalib_sort_benchmark_app
+ SOURCES
+ sort_benchmark.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_sort_benchmark_app COMMAND vespalib_sort_benchmark_app BENCHMARK)
diff --git a/staging_vespalib/src/tests/array/sort_benchmark.cpp b/vespalib/src/tests/array/sort_benchmark.cpp
index 5d8a1efaa7a..5d8a1efaa7a 100644
--- a/staging_vespalib/src/tests/array/sort_benchmark.cpp
+++ b/vespalib/src/tests/array/sort_benchmark.cpp
diff --git a/vespalib/src/tests/benchmark/.gitignore b/vespalib/src/tests/benchmark/.gitignore
new file mode 100644
index 00000000000..3280cb17888
--- /dev/null
+++ b/vespalib/src/tests/benchmark/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+benchmark_test
+vespalib_benchmark_test_app
diff --git a/vespalib/src/tests/benchmark/CMakeLists.txt b/vespalib/src/tests/benchmark/CMakeLists.txt
new file mode 100644
index 00000000000..7003a5c4183
--- /dev/null
+++ b/vespalib/src/tests/benchmark/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_benchmark_test_app
+ SOURCES
+ benchmark.cpp
+ testbase.cpp
+ DEPENDS
+ vespalib
+ EXTERNAL_DEPENDS
+ ${VESPA_GLIBC_RT_LIB}
+)
+vespa_add_test(NAME vespalib_benchmark_test NO_VALGRIND COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/benchmark_test.sh BENCHMARK
+ DEPENDS vespalib_benchmark_test_app)
diff --git a/staging_vespalib/src/tests/benchmark/benchmark.cpp b/vespalib/src/tests/benchmark/benchmark.cpp
index f1e69758c8c..f1e69758c8c 100644
--- a/staging_vespalib/src/tests/benchmark/benchmark.cpp
+++ b/vespalib/src/tests/benchmark/benchmark.cpp
diff --git a/vespalib/src/tests/benchmark/benchmark_test.sh b/vespalib/src/tests/benchmark/benchmark_test.sh
new file mode 100755
index 00000000000..28dc6b518be
--- /dev/null
+++ b/vespalib/src/tests/benchmark/benchmark_test.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+set -e
+TIME=time
+
+$TIME ./vespalib_benchmark_test_app vespalib::ParamByReferenceVectorInt 200000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ParamByValueVectorInt 4000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ParamByReferenceVectorString 30000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ParamByValueVectorString 40 1
+$TIME ./vespalib_benchmark_test_app vespalib::ReturnByReferenceVectorString 10 1
+$TIME ./vespalib_benchmark_test_app vespalib::ReturnByValueVectorString 10 1
+$TIME ./vespalib_benchmark_test_app vespalib::ReturnByValueMultiVectorString 10 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockSystem 1000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockGToD 1000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockGToD 20000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockREALTIME 1000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockMONOTONIC 1000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockMONOTONIC_RAW 1000 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockPROCESS_CPUTIME_ID 2500 1
+$TIME ./vespalib_benchmark_test_app vespalib::ClockTHREAD_CPUTIME_ID 2500 1
+$TIME ./vespalib_benchmark_test_app vespalib::CreateVespalibString 20000 1
diff --git a/staging_vespalib/src/tests/benchmark/testbase.cpp b/vespalib/src/tests/benchmark/testbase.cpp
index 6b5f8d7d627..6b5f8d7d627 100644
--- a/staging_vespalib/src/tests/benchmark/testbase.cpp
+++ b/vespalib/src/tests/benchmark/testbase.cpp
diff --git a/staging_vespalib/src/tests/benchmark/testbase.h b/vespalib/src/tests/benchmark/testbase.h
index 95621f52471..95621f52471 100644
--- a/staging_vespalib/src/tests/benchmark/testbase.h
+++ b/vespalib/src/tests/benchmark/testbase.h
diff --git a/vespalib/src/tests/bits/.gitignore b/vespalib/src/tests/bits/.gitignore
new file mode 100644
index 00000000000..b5330fc2580
--- /dev/null
+++ b/vespalib/src/tests/bits/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+bits_test
+vespalib_bits_test_app
diff --git a/vespalib/src/tests/bits/CMakeLists.txt b/vespalib/src/tests/bits/CMakeLists.txt
new file mode 100644
index 00000000000..f63196bc489
--- /dev/null
+++ b/vespalib/src/tests/bits/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_bits_test_app TEST
+ SOURCES
+ bits_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_bits_test_app COMMAND vespalib_bits_test_app)
diff --git a/staging_vespalib/src/tests/bits/bits_test.cpp b/vespalib/src/tests/bits/bits_test.cpp
index 47d691c739d..47d691c739d 100644
--- a/staging_vespalib/src/tests/bits/bits_test.cpp
+++ b/vespalib/src/tests/bits/bits_test.cpp
diff --git a/vespalib/src/tests/clock/.gitignore b/vespalib/src/tests/clock/.gitignore
new file mode 100644
index 00000000000..96861fcc5d3
--- /dev/null
+++ b/vespalib/src/tests/clock/.gitignore
@@ -0,0 +1,5 @@
+.depend
+Makefile
+clock_test
+vespalib_clock_test_app
+vespalib_clock_benchmark_app
diff --git a/vespalib/src/tests/clock/CMakeLists.txt b/vespalib/src/tests/clock/CMakeLists.txt
new file mode 100644
index 00000000000..d3ee3178163
--- /dev/null
+++ b/vespalib/src/tests/clock/CMakeLists.txt
@@ -0,0 +1,14 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_clock_benchmark_app TEST
+ SOURCES
+ clock_benchmark.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_executable(vespalib_clock_test_app TEST
+ SOURCES
+ clock_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_clock_test_app COMMAND vespalib_clock_test_app)
diff --git a/staging_vespalib/src/tests/clock/clock_benchmark.cpp b/vespalib/src/tests/clock/clock_benchmark.cpp
index 249add4bc1a..249add4bc1a 100644
--- a/staging_vespalib/src/tests/clock/clock_benchmark.cpp
+++ b/vespalib/src/tests/clock/clock_benchmark.cpp
diff --git a/staging_vespalib/src/tests/clock/clock_test.cpp b/vespalib/src/tests/clock/clock_test.cpp
index f2de085da84..f2de085da84 100644
--- a/staging_vespalib/src/tests/clock/clock_test.cpp
+++ b/vespalib/src/tests/clock/clock_test.cpp
diff --git a/vespalib/src/tests/crc/.gitignore b/vespalib/src/tests/crc/.gitignore
new file mode 100644
index 00000000000..cd64c20e0a4
--- /dev/null
+++ b/vespalib/src/tests/crc/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+crc_test
+vespalib_crc_test_app
diff --git a/vespalib/src/tests/crc/CMakeLists.txt b/vespalib/src/tests/crc/CMakeLists.txt
new file mode 100644
index 00000000000..30adfd131f1
--- /dev/null
+++ b/vespalib/src/tests/crc/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_crc_test_app TEST
+ SOURCES
+ crc_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_crc_test_app COMMAND vespalib_crc_test_app boost)
diff --git a/staging_vespalib/src/tests/crc/crc_test.cpp b/vespalib/src/tests/crc/crc_test.cpp
index 8afeed487ee..8afeed487ee 100644
--- a/staging_vespalib/src/tests/crc/crc_test.cpp
+++ b/vespalib/src/tests/crc/crc_test.cpp
diff --git a/vespalib/src/tests/directio/.gitignore b/vespalib/src/tests/directio/.gitignore
new file mode 100644
index 00000000000..ad19022dfc3
--- /dev/null
+++ b/vespalib/src/tests/directio/.gitignore
@@ -0,0 +1 @@
+vespalib_directio_test_app
diff --git a/vespalib/src/tests/directio/CMakeLists.txt b/vespalib/src/tests/directio/CMakeLists.txt
new file mode 100644
index 00000000000..41a8dca85b9
--- /dev/null
+++ b/vespalib/src/tests/directio/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_directio_test_app TEST
+ SOURCES
+ directio.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_directio_test_app COMMAND vespalib_directio_test_app)
diff --git a/staging_vespalib/src/tests/directio/directio.cpp b/vespalib/src/tests/directio/directio.cpp
index 9bc4f244711..77374f6f926 100644
--- a/staging_vespalib/src/tests/directio/directio.cpp
+++ b/vespalib/src/tests/directio/directio.cpp
@@ -19,7 +19,7 @@ TEST("that DirectIOException propagates the correct information.") {
}
TEST("that DirectIOException is thrown on unaligned buf.") {
- FastOS_File f("staging_vespalib_directio_test_app");
+ FastOS_File f("vespalib_directio_test_app");
f.EnableDirectIO();
EXPECT_TRUE(f.OpenReadOnly());
DataBuffer buf(10000, 4_Ki);
@@ -37,7 +37,7 @@ TEST("that DirectIOException is thrown on unaligned buf.") {
}
TEST("that DirectIOException is thrown on unaligned offset.") {
- FastOS_File f("staging_vespalib_directio_test_app");
+ FastOS_File f("vespalib_directio_test_app");
f.EnableDirectIO();
EXPECT_TRUE(f.OpenReadOnly());
DataBuffer buf(10000, 4_Ki);
diff --git a/vespalib/src/tests/floatingpointtype/.gitignore b/vespalib/src/tests/floatingpointtype/.gitignore
new file mode 100644
index 00000000000..abe8249f33a
--- /dev/null
+++ b/vespalib/src/tests/floatingpointtype/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+floatingpointtype_test
+vespalib_floatingpointtype_test_app
diff --git a/vespalib/src/tests/floatingpointtype/CMakeLists.txt b/vespalib/src/tests/floatingpointtype/CMakeLists.txt
new file mode 100644
index 00000000000..3f0ec8eab69
--- /dev/null
+++ b/vespalib/src/tests/floatingpointtype/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_floatingpointtype_test_app TEST
+ SOURCES
+ floatingpointtypetest.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_floatingpointtype_test_app COMMAND vespalib_floatingpointtype_test_app)
diff --git a/staging_vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp b/vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp
index d26385f23bf..d26385f23bf 100644
--- a/staging_vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp
+++ b/vespalib/src/tests/floatingpointtype/floatingpointtypetest.cpp
diff --git a/vespalib/src/tests/growablebytebuffer/.gitignore b/vespalib/src/tests/growablebytebuffer/.gitignore
new file mode 100644
index 00000000000..76218df9168
--- /dev/null
+++ b/vespalib/src/tests/growablebytebuffer/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+growablebytebuffer_test
+vespalib_growablebytebuffer_test_app
diff --git a/vespalib/src/tests/growablebytebuffer/CMakeLists.txt b/vespalib/src/tests/growablebytebuffer/CMakeLists.txt
new file mode 100644
index 00000000000..b518206ae56
--- /dev/null
+++ b/vespalib/src/tests/growablebytebuffer/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_growablebytebuffer_test_app TEST
+ SOURCES
+ growablebytebuffer_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_growablebytebuffer_test_app COMMAND vespalib_growablebytebuffer_test_app)
diff --git a/staging_vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp b/vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp
index 0a616745023..0a616745023 100644
--- a/staging_vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp
+++ b/vespalib/src/tests/growablebytebuffer/growablebytebuffer_test.cpp
diff --git a/vespalib/src/tests/json/.gitignore b/vespalib/src/tests/json/.gitignore
new file mode 100644
index 00000000000..9918fbce6e8
--- /dev/null
+++ b/vespalib/src/tests/json/.gitignore
@@ -0,0 +1 @@
+vespalib_json_test_app
diff --git a/vespalib/src/tests/json/CMakeLists.txt b/vespalib/src/tests/json/CMakeLists.txt
new file mode 100644
index 00000000000..0ea216b189b
--- /dev/null
+++ b/vespalib/src/tests/json/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_json_test_app TEST
+ SOURCES
+ json.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_json_test_app COMMAND vespalib_json_test_app boost)
diff --git a/staging_vespalib/src/tests/json/json.cpp b/vespalib/src/tests/json/json.cpp
index 1a707ae1776..1a707ae1776 100644
--- a/staging_vespalib/src/tests/json/json.cpp
+++ b/vespalib/src/tests/json/json.cpp
diff --git a/vespalib/src/tests/memorydatastore/.gitignore b/vespalib/src/tests/memorydatastore/.gitignore
new file mode 100644
index 00000000000..6809bff5d3d
--- /dev/null
+++ b/vespalib/src/tests/memorydatastore/.gitignore
@@ -0,0 +1 @@
+vespalib_memorydatastore_test_app
diff --git a/vespalib/src/tests/memorydatastore/CMakeLists.txt b/vespalib/src/tests/memorydatastore/CMakeLists.txt
new file mode 100644
index 00000000000..65d9231455a
--- /dev/null
+++ b/vespalib/src/tests/memorydatastore/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_memorydatastore_test_app TEST
+ SOURCES
+ memorydatastore.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_memorydatastore_test_app COMMAND vespalib_memorydatastore_test_app)
diff --git a/staging_vespalib/src/tests/memorydatastore/memorydatastore.cpp b/vespalib/src/tests/memorydatastore/memorydatastore.cpp
index 1d49b0af91b..1d49b0af91b 100644
--- a/staging_vespalib/src/tests/memorydatastore/memorydatastore.cpp
+++ b/vespalib/src/tests/memorydatastore/memorydatastore.cpp
diff --git a/staging_vespalib/src/tests/objects/.gitignore b/vespalib/src/tests/objects/identifiable/.gitignore
index 2b10aff029c..a547ace8ee4 100644
--- a/staging_vespalib/src/tests/objects/.gitignore
+++ b/vespalib/src/tests/objects/identifiable/.gitignore
@@ -2,4 +2,4 @@
Makefile
asciistream_test
identifiable_test
-staging_vespalib_identifiable_test_app
+vespalib_identifiable_test_app
diff --git a/vespalib/src/tests/objects/identifiable/CMakeLists.txt b/vespalib/src/tests/objects/identifiable/CMakeLists.txt
new file mode 100644
index 00000000000..c4aefa44350
--- /dev/null
+++ b/vespalib/src/tests/objects/identifiable/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_identifiable_test_app TEST
+ SOURCES
+ identifiable_test.cpp
+ namedobject.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_identifiable_test_app COMMAND vespalib_identifiable_test_app)
diff --git a/staging_vespalib/src/tests/objects/identifiable_test.cpp b/vespalib/src/tests/objects/identifiable/identifiable_test.cpp
index bc20a525d23..b3adfbfa9e2 100644
--- a/staging_vespalib/src/tests/objects/identifiable_test.cpp
+++ b/vespalib/src/tests/objects/identifiable/identifiable_test.cpp
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/testapp.h>
+#include "namedobject.h"
#include <vespa/vespalib/objects/identifiable.hpp>
-#include <vespa/vespalib/objects/namedobject.h>
#include <vespa/vespalib/objects/nbostream.h>
#include <vespa/vespalib/util/exceptions.h>
+#include <vespa/vespalib/testkit/testapp.h>
using namespace vespalib;
diff --git a/staging_vespalib/src/vespa/vespalib/objects/namedobject.cpp b/vespalib/src/tests/objects/identifiable/namedobject.cpp
index 3e8d3291177..3e8d3291177 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/namedobject.cpp
+++ b/vespalib/src/tests/objects/identifiable/namedobject.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/namedobject.h b/vespalib/src/tests/objects/identifiable/namedobject.h
index 784715a66f6..784715a66f6 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/namedobject.h
+++ b/vespalib/src/tests/objects/identifiable/namedobject.h
diff --git a/vespalib/src/tests/objects/objectdump/.gitignore b/vespalib/src/tests/objects/objectdump/.gitignore
new file mode 100644
index 00000000000..6ddd515391d
--- /dev/null
+++ b/vespalib/src/tests/objects/objectdump/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+objectdump_test
+vespalib_objectdump_test_app
diff --git a/vespalib/src/tests/objects/objectdump/CMakeLists.txt b/vespalib/src/tests/objects/objectdump/CMakeLists.txt
new file mode 100644
index 00000000000..67395998b39
--- /dev/null
+++ b/vespalib/src/tests/objects/objectdump/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_objectdump_test_app TEST
+ SOURCES
+ objectdump.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_objectdump_test_app COMMAND vespalib_objectdump_test_app)
diff --git a/staging_vespalib/src/tests/objectdump/objectdump.cpp b/vespalib/src/tests/objects/objectdump/objectdump.cpp
index 812b1e79e17..812b1e79e17 100644
--- a/staging_vespalib/src/tests/objectdump/objectdump.cpp
+++ b/vespalib/src/tests/objects/objectdump/objectdump.cpp
diff --git a/vespalib/src/tests/objects/objectselection/.gitignore b/vespalib/src/tests/objects/objectselection/.gitignore
new file mode 100644
index 00000000000..f6aefd07270
--- /dev/null
+++ b/vespalib/src/tests/objects/objectselection/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+objectselection_test
+vespalib_objectselection_test_app
diff --git a/vespalib/src/tests/objects/objectselection/CMakeLists.txt b/vespalib/src/tests/objects/objectselection/CMakeLists.txt
new file mode 100644
index 00000000000..94f43078820
--- /dev/null
+++ b/vespalib/src/tests/objects/objectselection/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_objectselection_test_app TEST
+ SOURCES
+ objectselection.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_objectselection_test_app COMMAND vespalib_objectselection_test_app)
diff --git a/staging_vespalib/src/tests/objectselection/objectselection.cpp b/vespalib/src/tests/objects/objectselection/objectselection.cpp
index aa9c841f2dc..aa9c841f2dc 100644
--- a/staging_vespalib/src/tests/objectselection/objectselection.cpp
+++ b/vespalib/src/tests/objects/objectselection/objectselection.cpp
diff --git a/vespalib/src/tests/polymorphicarray/.gitignore b/vespalib/src/tests/polymorphicarray/.gitignore
new file mode 100644
index 00000000000..e0decc87f2c
--- /dev/null
+++ b/vespalib/src/tests/polymorphicarray/.gitignore
@@ -0,0 +1 @@
+vespalib_polymorphicarray_test_app
diff --git a/vespalib/src/tests/polymorphicarray/CMakeLists.txt b/vespalib/src/tests/polymorphicarray/CMakeLists.txt
new file mode 100644
index 00000000000..14edfbec4b4
--- /dev/null
+++ b/vespalib/src/tests/polymorphicarray/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_polymorphicarray_test_app TEST
+ SOURCES
+ polymorphicarray_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_polymorphicarray_test_app COMMAND vespalib_polymorphicarray_test_app)
diff --git a/staging_vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp b/vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp
index d4ec8f3ed7c..d4ec8f3ed7c 100644
--- a/staging_vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp
+++ b/vespalib/src/tests/polymorphicarray/polymorphicarray_test.cpp
diff --git a/vespalib/src/tests/programoptions/.gitignore b/vespalib/src/tests/programoptions/.gitignore
new file mode 100644
index 00000000000..f083a1e093d
--- /dev/null
+++ b/vespalib/src/tests/programoptions/.gitignore
@@ -0,0 +1,4 @@
+.depend
+Makefile
+programoptions_test
+vespalib_programoptions_test_app
diff --git a/vespalib/src/tests/programoptions/CMakeLists.txt b/vespalib/src/tests/programoptions/CMakeLists.txt
new file mode 100644
index 00000000000..fb2fdb48dd7
--- /dev/null
+++ b/vespalib/src/tests/programoptions/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_programoptions_test_app TEST
+ SOURCES
+ programoptions_test.cpp
+ programoptions_testutils.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_programoptions_test_app COMMAND vespalib_programoptions_test_app)
diff --git a/staging_vespalib/src/tests/programoptions/programoptions_test.cpp b/vespalib/src/tests/programoptions/programoptions_test.cpp
index 4a5be1d1397..4b63eae949b 100644
--- a/staging_vespalib/src/tests/programoptions/programoptions_test.cpp
+++ b/vespalib/src/tests/programoptions/programoptions_test.cpp
@@ -1,8 +1,8 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/testapp.h>
+#include "programoptions_testutils.h"
#include <vespa/vespalib/util/programoptions.h>
-#include <vespa/vespalib/util/programoptions_testutils.h>
+#include <vespa/vespalib/testkit/testapp.h>
#include <iostream>
namespace vespalib {
diff --git a/staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.cpp b/vespalib/src/tests/programoptions/programoptions_testutils.cpp
index 4f77a01aa02..948413c36db 100644
--- a/staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.cpp
+++ b/vespalib/src/tests/programoptions/programoptions_testutils.cpp
@@ -1,6 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/util/programoptions_testutils.h>
+#include "programoptions_testutils.h"
namespace vespalib {
diff --git a/staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.h b/vespalib/src/tests/programoptions/programoptions_testutils.h
index a6f103f3e95..a6f103f3e95 100644
--- a/staging_vespalib/src/vespa/vespalib/util/programoptions_testutils.h
+++ b/vespalib/src/tests/programoptions/programoptions_testutils.h
diff --git a/vespalib/src/tests/rusage/.gitignore b/vespalib/src/tests/rusage/.gitignore
new file mode 100644
index 00000000000..c01c01ed328
--- /dev/null
+++ b/vespalib/src/tests/rusage/.gitignore
@@ -0,0 +1 @@
+vespalib_rusage_test_app
diff --git a/vespalib/src/tests/rusage/CMakeLists.txt b/vespalib/src/tests/rusage/CMakeLists.txt
new file mode 100644
index 00000000000..1c1ab85facd
--- /dev/null
+++ b/vespalib/src/tests/rusage/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_rusage_test_app TEST
+ SOURCES
+ rusage_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_rusage_test_app COMMAND vespalib_rusage_test_app)
diff --git a/staging_vespalib/src/tests/rusage/rusage_test.cpp b/vespalib/src/tests/rusage/rusage_test.cpp
index 7e30f3b968b..7e30f3b968b 100644
--- a/staging_vespalib/src/tests/rusage/rusage_test.cpp
+++ b/vespalib/src/tests/rusage/rusage_test.cpp
diff --git a/vespalib/src/tests/shutdownguard/.gitignore b/vespalib/src/tests/shutdownguard/.gitignore
new file mode 100644
index 00000000000..c167d4784ca
--- /dev/null
+++ b/vespalib/src/tests/shutdownguard/.gitignore
@@ -0,0 +1 @@
+vespalib_shutdownguard_test_app
diff --git a/vespalib/src/tests/shutdownguard/CMakeLists.txt b/vespalib/src/tests/shutdownguard/CMakeLists.txt
new file mode 100644
index 00000000000..6714842fbbf
--- /dev/null
+++ b/vespalib/src/tests/shutdownguard/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_shutdownguard_test_app TEST
+ SOURCES
+ shutdownguard_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_shutdownguard_test_app NO_VALGRIND COMMAND vespalib_shutdownguard_test_app)
diff --git a/staging_vespalib/src/tests/shutdownguard/shutdownguard_test.cpp b/vespalib/src/tests/shutdownguard/shutdownguard_test.cpp
index 348e9bbd503..348e9bbd503 100644
--- a/staging_vespalib/src/tests/shutdownguard/shutdownguard_test.cpp
+++ b/vespalib/src/tests/shutdownguard/shutdownguard_test.cpp
diff --git a/vespalib/src/tests/stllike/CMakeLists.txt b/vespalib/src/tests/stllike/CMakeLists.txt
index 80509c565c6..005ef3d1ed0 100644
--- a/vespalib/src/tests/stllike/CMakeLists.txt
+++ b/vespalib/src/tests/stllike/CMakeLists.txt
@@ -55,3 +55,17 @@ vespa_add_executable(vespalib_replace_variable_test_app TEST
GTest::GTest
)
vespa_add_test(NAME vespalib_replace_variable_test_app COMMAND vespalib_replace_variable_test_app)
+vespa_add_executable(vespalib_lrucache_test_app TEST
+ SOURCES
+ lrucache.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_lrucache_test_app COMMAND vespalib_lrucache_test_app)
+vespa_add_executable(vespalib_cache_test_app TEST
+ SOURCES
+ cache_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_cache_test_app COMMAND vespalib_cache_test_app)
diff --git a/staging_vespalib/src/tests/stllike/cache_test.cpp b/vespalib/src/tests/stllike/cache_test.cpp
index 35f04d91510..35f04d91510 100644
--- a/staging_vespalib/src/tests/stllike/cache_test.cpp
+++ b/vespalib/src/tests/stllike/cache_test.cpp
diff --git a/staging_vespalib/src/tests/stllike/lrucache.cpp b/vespalib/src/tests/stllike/lrucache.cpp
index 2cc6f2b4ee8..2cc6f2b4ee8 100644
--- a/staging_vespalib/src/tests/stllike/lrucache.cpp
+++ b/vespalib/src/tests/stllike/lrucache.cpp
diff --git a/vespalib/src/tests/util/process_memory_stats/.gitignore b/vespalib/src/tests/util/process_memory_stats/.gitignore
new file mode 100644
index 00000000000..81af04ee64f
--- /dev/null
+++ b/vespalib/src/tests/util/process_memory_stats/.gitignore
@@ -0,0 +1,2 @@
+mapfile
+vespalib_process_memory_stats_test_app
diff --git a/vespalib/src/tests/util/process_memory_stats/CMakeLists.txt b/vespalib/src/tests/util/process_memory_stats/CMakeLists.txt
new file mode 100644
index 00000000000..30a0f90d952
--- /dev/null
+++ b/vespalib/src/tests/util/process_memory_stats/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_process_memory_stats_test_app TEST
+ SOURCES
+ process_memory_stats_test.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_process_memory_stats_test_app COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/process_memory_stats_test.sh
+ DEPENDS vespalib_process_memory_stats_test_app)
diff --git a/staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp b/vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp
index 6d0917e6d15..6d0917e6d15 100644
--- a/staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp
+++ b/vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.cpp
diff --git a/staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh b/vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh
index 6441a5e3039..7fe5261ab2d 100755
--- a/staging_vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh
+++ b/vespalib/src/tests/util/process_memory_stats/process_memory_stats_test.sh
@@ -2,5 +2,5 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
set -e
rm -f mapfile
-$VALGRIND ./staging_vespalib_process_memory_stats_test_app
+$VALGRIND ./vespalib_process_memory_stats_test_app
rm -f mapfile
diff --git a/vespalib/src/tests/xmlserializable/.gitignore b/vespalib/src/tests/xmlserializable/.gitignore
new file mode 100644
index 00000000000..8573da1cd93
--- /dev/null
+++ b/vespalib/src/tests/xmlserializable/.gitignore
@@ -0,0 +1,4 @@
+*_test
+.depend
+Makefile
+vespalib_xmlserializable_test_app
diff --git a/vespalib/src/tests/xmlserializable/CMakeLists.txt b/vespalib/src/tests/xmlserializable/CMakeLists.txt
new file mode 100644
index 00000000000..119a1294253
--- /dev/null
+++ b/vespalib/src/tests/xmlserializable/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+vespa_add_executable(vespalib_xmlserializable_test_app TEST
+ SOURCES
+ xmlserializabletest.cpp
+ DEPENDS
+ vespalib
+)
+vespa_add_test(NAME vespalib_xmlserializable_test_app COMMAND vespalib_xmlserializable_test_app)
diff --git a/staging_vespalib/src/tests/xmlserializable/xmlserializabletest.cpp b/vespalib/src/tests/xmlserializable/xmlserializabletest.cpp
index cc8d61cb7c2..cc8d61cb7c2 100644
--- a/staging_vespalib/src/tests/xmlserializable/xmlserializabletest.cpp
+++ b/vespalib/src/tests/xmlserializable/xmlserializabletest.cpp
diff --git a/vespalib/src/vespa/vespalib/objects/CMakeLists.txt b/vespalib/src/vespa/vespalib/objects/CMakeLists.txt
index a4b2192d98f..ddf01d5a935 100644
--- a/vespalib/src/vespa/vespalib/objects/CMakeLists.txt
+++ b/vespalib/src/vespa/vespalib/objects/CMakeLists.txt
@@ -1,7 +1,19 @@
# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
vespa_add_library(vespalib_vespalib_objects OBJECT
SOURCES
- nbostream.cpp
+ asciiserializer.cpp
+ deserializer.cpp
+ floatingpointtype.cpp
hexdump.cpp
+ identifiable.cpp
+ nboserializer.cpp
+ nbostream.cpp
+ object2slime.cpp
+ objectdumper.cpp
+ objectoperation.cpp
+ objectpredicate.cpp
+ objectvisitor.cpp
+ serializer.cpp
+ visit.cpp
DEPENDS
)
diff --git a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.cpp b/vespalib/src/vespa/vespalib/objects/asciiserializer.cpp
index fadaea9b054..fadaea9b054 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.cpp
+++ b/vespalib/src/vespa/vespalib/objects/asciiserializer.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h b/vespalib/src/vespa/vespalib/objects/asciiserializer.h
index 3964c52949d..3964c52949d 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/asciiserializer.h
+++ b/vespalib/src/vespa/vespalib/objects/asciiserializer.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/deserializer.cpp b/vespalib/src/vespa/vespalib/objects/deserializer.cpp
index f320b2d2489..f320b2d2489 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/deserializer.cpp
+++ b/vespalib/src/vespa/vespalib/objects/deserializer.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/deserializer.h b/vespalib/src/vespa/vespalib/objects/deserializer.h
index e59d3e07581..e59d3e07581 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/deserializer.h
+++ b/vespalib/src/vespa/vespalib/objects/deserializer.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/deserializer.hpp b/vespalib/src/vespa/vespalib/objects/deserializer.hpp
index b90867fa153..b90867fa153 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/deserializer.hpp
+++ b/vespalib/src/vespa/vespalib/objects/deserializer.hpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp b/vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp
index b011dbdd23e..b011dbdd23e 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp
+++ b/vespalib/src/vespa/vespalib/objects/floatingpointtype.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.h b/vespalib/src/vespa/vespalib/objects/floatingpointtype.h
index d1fd80cdcd6..d1fd80cdcd6 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/floatingpointtype.h
+++ b/vespalib/src/vespa/vespalib/objects/floatingpointtype.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/identifiable.cpp b/vespalib/src/vespa/vespalib/objects/identifiable.cpp
index 224fda1a0a4..224fda1a0a4 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/identifiable.cpp
+++ b/vespalib/src/vespa/vespalib/objects/identifiable.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/identifiable.h b/vespalib/src/vespa/vespalib/objects/identifiable.h
index 586fbc7ed0c..586fbc7ed0c 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/identifiable.h
+++ b/vespalib/src/vespa/vespalib/objects/identifiable.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/identifiable.hpp b/vespalib/src/vespa/vespalib/objects/identifiable.hpp
index d86f5490bc9..d86f5490bc9 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/identifiable.hpp
+++ b/vespalib/src/vespa/vespalib/objects/identifiable.hpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/ids.h b/vespalib/src/vespa/vespalib/objects/ids.h
index 21d4d92aef1..21d4d92aef1 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/ids.h
+++ b/vespalib/src/vespa/vespalib/objects/ids.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/nboserializer.cpp b/vespalib/src/vespa/vespalib/objects/nboserializer.cpp
index 0508210bd09..0508210bd09 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/nboserializer.cpp
+++ b/vespalib/src/vespa/vespalib/objects/nboserializer.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/nboserializer.h b/vespalib/src/vespa/vespalib/objects/nboserializer.h
index 4e11771d64b..4e11771d64b 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/nboserializer.h
+++ b/vespalib/src/vespa/vespalib/objects/nboserializer.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp b/vespalib/src/vespa/vespalib/objects/object2slime.cpp
index ee7b0501832..ee7b0501832 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/object2slime.cpp
+++ b/vespalib/src/vespa/vespalib/objects/object2slime.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/object2slime.h b/vespalib/src/vespa/vespalib/objects/object2slime.h
index ffab739ed15..ffab739ed15 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/object2slime.h
+++ b/vespalib/src/vespa/vespalib/objects/object2slime.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectdumper.cpp b/vespalib/src/vespa/vespalib/objects/objectdumper.cpp
index 61230ace2f9..61230ace2f9 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectdumper.cpp
+++ b/vespalib/src/vespa/vespalib/objects/objectdumper.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectdumper.h b/vespalib/src/vespa/vespalib/objects/objectdumper.h
index 0fb27c03ac2..0fb27c03ac2 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectdumper.h
+++ b/vespalib/src/vespa/vespalib/objects/objectdumper.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectoperation.cpp b/vespalib/src/vespa/vespalib/objects/objectoperation.cpp
index 0a84ad4b70f..0a84ad4b70f 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectoperation.cpp
+++ b/vespalib/src/vespa/vespalib/objects/objectoperation.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectoperation.h b/vespalib/src/vespa/vespalib/objects/objectoperation.h
index ba2820f1a85..ba2820f1a85 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectoperation.h
+++ b/vespalib/src/vespa/vespalib/objects/objectoperation.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectpredicate.cpp b/vespalib/src/vespa/vespalib/objects/objectpredicate.cpp
index 61986ed4cf8..61986ed4cf8 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectpredicate.cpp
+++ b/vespalib/src/vespa/vespalib/objects/objectpredicate.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectpredicate.h b/vespalib/src/vespa/vespalib/objects/objectpredicate.h
index 12af9bab3e6..12af9bab3e6 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectpredicate.h
+++ b/vespalib/src/vespa/vespalib/objects/objectpredicate.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectvisitor.cpp b/vespalib/src/vespa/vespalib/objects/objectvisitor.cpp
index 5466b19f6d7..5466b19f6d7 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectvisitor.cpp
+++ b/vespalib/src/vespa/vespalib/objects/objectvisitor.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/objectvisitor.h b/vespalib/src/vespa/vespalib/objects/objectvisitor.h
index dba731a8940..dba731a8940 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/objectvisitor.h
+++ b/vespalib/src/vespa/vespalib/objects/objectvisitor.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/serializer.cpp b/vespalib/src/vespa/vespalib/objects/serializer.cpp
index 3c1e22e52ac..3c1e22e52ac 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/serializer.cpp
+++ b/vespalib/src/vespa/vespalib/objects/serializer.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/serializer.h b/vespalib/src/vespa/vespalib/objects/serializer.h
index f10d03b1c04..f10d03b1c04 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/serializer.h
+++ b/vespalib/src/vespa/vespalib/objects/serializer.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/serializer.hpp b/vespalib/src/vespa/vespalib/objects/serializer.hpp
index 87c02ddf693..87c02ddf693 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/serializer.hpp
+++ b/vespalib/src/vespa/vespalib/objects/serializer.hpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/visit.cpp b/vespalib/src/vespa/vespalib/objects/visit.cpp
index 03f46d4c354..03f46d4c354 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/visit.cpp
+++ b/vespalib/src/vespa/vespalib/objects/visit.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/objects/visit.h b/vespalib/src/vespa/vespalib/objects/visit.h
index 87d42923d61..87d42923d61 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/visit.h
+++ b/vespalib/src/vespa/vespalib/objects/visit.h
diff --git a/staging_vespalib/src/vespa/vespalib/objects/visit.hpp b/vespalib/src/vespa/vespalib/objects/visit.hpp
index e3a82b212c0..e3a82b212c0 100644
--- a/staging_vespalib/src/vespa/vespalib/objects/visit.hpp
+++ b/vespalib/src/vespa/vespalib/objects/visit.hpp
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/cache.h b/vespalib/src/vespa/vespalib/stllike/cache.h
index bf58f1aef98..bf58f1aef98 100644
--- a/staging_vespalib/src/vespa/vespalib/stllike/cache.h
+++ b/vespalib/src/vespa/vespalib/stllike/cache.h
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/cache.hpp b/vespalib/src/vespa/vespalib/stllike/cache.hpp
index bb05d564f1f..bb05d564f1f 100644
--- a/staging_vespalib/src/vespa/vespalib/stllike/cache.hpp
+++ b/vespalib/src/vespa/vespalib/stllike/cache.hpp
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/cache_stats.h b/vespalib/src/vespa/vespalib/stllike/cache_stats.h
index 7c83da2b004..7c83da2b004 100644
--- a/staging_vespalib/src/vespa/vespalib/stllike/cache_stats.h
+++ b/vespalib/src/vespa/vespalib/stllike/cache_stats.h
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.h b/vespalib/src/vespa/vespalib/stllike/lrucache_map.h
index ffb7a427d11..ffb7a427d11 100644
--- a/staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.h
+++ b/vespalib/src/vespa/vespalib/stllike/lrucache_map.h
diff --git a/staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp b/vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp
index 73e9956ffdf..73e9956ffdf 100644
--- a/staging_vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp
+++ b/vespalib/src/vespa/vespalib/stllike/lrucache_map.hpp
diff --git a/vespalib/src/vespa/vespalib/util/CMakeLists.txt b/vespalib/src/vespa/vespalib/util/CMakeLists.txt
index c61de250f53..59c05dffbc6 100644
--- a/vespalib/src/vespa/vespalib/util/CMakeLists.txt
+++ b/vespalib/src/vespa/vespalib/util/CMakeLists.txt
@@ -13,15 +13,20 @@ vespa_add_library(vespalib_vespalib_util OBJECT
benchmark_timer.cpp
bfloat16.cpp
binary_hamming_distance.cpp
+ bits.cpp
blockingthreadstackexecutor.cpp
box.cpp
cgroup_resource_limits.cpp
classname.cpp
+ clock.cpp
compress.cpp
compressor.cpp
count_down_latch.cpp
cpu_usage.cpp
+ crc.cpp
destructor_callbacks.cpp
+ doom.cpp
+ document_runnable.cpp
dual_merge_director.cpp
error.cpp
exception.cpp
@@ -33,8 +38,11 @@ vespa_add_library(vespalib_vespalib_util OBJECT
gencnt.cpp
generationhandler.cpp
generationholder.cpp
+ growablebytebuffer.cpp
hdr_abort.cpp
host_name.cpp
+ jsonexception.cpp
+ jsonstream.cpp
jsonwriter.cpp
invokeserviceimpl.cpp
isequencedtaskexecutor.cpp
@@ -43,6 +51,7 @@ vespa_add_library(vespalib_vespalib_util OBJECT
latch.cpp
left_right_heap.cpp
lz4compressor.cpp
+ malloc_mmap_guard.cpp
md5.c
memoryusage.cpp
mmap_file_allocator.cpp
@@ -51,6 +60,8 @@ vespa_add_library(vespalib_vespalib_util OBJECT
nice.cpp
printable.cpp
priority_queue.cpp
+ process_memory_stats.cpp
+ programoptions.cpp
random.cpp
rcuvector.cpp
regexp.cpp
@@ -62,12 +73,14 @@ vespa_add_library(vespalib_vespalib_util OBJECT
round_up_to_page_size.cpp
runnable.cpp
runnable_pair.cpp
+ rusage.cpp
sequence.cpp
sequencedtaskexecutor.cpp
sequencedtaskexecutorobserver.cpp
sha1.cpp
shared_operation_throttler.cpp
shared_string_repo.cpp
+ shutdownguard.cpp
sig_catch.cpp
signalhandler.cpp
simple_thread_bundle.cpp
@@ -76,6 +89,7 @@ vespa_add_library(vespalib_vespalib_util OBJECT
stash.cpp
string_hash.cpp
stringfmt.cpp
+ testclock.cpp
thread.cpp
thread_bundle.cpp
threadstackexecutor.cpp
@@ -83,6 +97,8 @@ vespa_add_library(vespalib_vespalib_util OBJECT
time.cpp
unwind_message.cpp
valgrind.cpp
+ xmlserializable.cpp
+ xmlstream.cpp
zstdcompressor.cpp
DEPENDS
)
diff --git a/vespalib/src/vespa/vespalib/util/alloc.cpp b/vespalib/src/vespa/vespalib/util/alloc.cpp
index c79db622901..d7e134cbb5a 100644
--- a/vespalib/src/vespa/vespalib/util/alloc.cpp
+++ b/vespalib/src/vespa/vespalib/util/alloc.cpp
@@ -234,8 +234,13 @@ createAutoAllocatorsWithDefault() {
return tmp;
}
+AutoAllocatorsMapWithDefault &
+availableAutoAllocators() {
+ static AutoAllocatorsMapWithDefault S_availableAutoAllocators = createAutoAllocatorsWithDefault();
+ return S_availableAutoAllocators;
+}
+
-AutoAllocatorsMapWithDefault _G_availableAutoAllocators = createAutoAllocatorsWithDefault();
alloc::HeapAllocator _G_heapAllocatorDefault;
alloc::AlignedHeapAllocator _G_512BalignedHeapAllocator(512);
alloc::AlignedHeapAllocator _G_1KalignedHeapAllocator(1_Ki);
@@ -268,12 +273,12 @@ MMapAllocator::getDefault() {
MemoryAllocator &
AutoAllocator::getDefault() {
- return *_G_availableAutoAllocators.second;
+ return *availableAutoAllocators().second;
}
MemoryAllocator &
AutoAllocator::getAllocator(size_t mmapLimit, size_t alignment) {
- return getAutoAllocator(_G_availableAutoAllocators.first, mmapLimit, alignment);
+ return getAutoAllocator(availableAutoAllocators().first, mmapLimit, alignment);
}
MemoryAllocator::PtrAndSize
diff --git a/staging_vespalib/src/vespa/vespalib/util/bits.cpp b/vespalib/src/vespa/vespalib/util/bits.cpp
index 2d9848f3cdf..2d9848f3cdf 100644
--- a/staging_vespalib/src/vespa/vespalib/util/bits.cpp
+++ b/vespalib/src/vespa/vespalib/util/bits.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/bits.h b/vespalib/src/vespa/vespalib/util/bits.h
index fbe1a59f62a..fbe1a59f62a 100644
--- a/staging_vespalib/src/vespa/vespalib/util/bits.h
+++ b/vespalib/src/vespa/vespalib/util/bits.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/clock.cpp b/vespalib/src/vespa/vespalib/util/clock.cpp
index 4b6e1e8ab85..4b6e1e8ab85 100644
--- a/staging_vespalib/src/vespa/vespalib/util/clock.cpp
+++ b/vespalib/src/vespa/vespalib/util/clock.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/clock.h b/vespalib/src/vespa/vespalib/util/clock.h
index 4cd579b8f69..4cd579b8f69 100644
--- a/staging_vespalib/src/vespa/vespalib/util/clock.h
+++ b/vespalib/src/vespa/vespalib/util/clock.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/crc.cpp b/vespalib/src/vespa/vespalib/util/crc.cpp
index 1a9baf8e600..1a9baf8e600 100644
--- a/staging_vespalib/src/vespa/vespalib/util/crc.cpp
+++ b/vespalib/src/vespa/vespalib/util/crc.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/crc.h b/vespalib/src/vespa/vespalib/util/crc.h
index f5acafeff36..f5acafeff36 100644
--- a/staging_vespalib/src/vespa/vespalib/util/crc.h
+++ b/vespalib/src/vespa/vespalib/util/crc.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/document_runnable.cpp b/vespalib/src/vespa/vespalib/util/document_runnable.cpp
index d7534514f41..d7534514f41 100644
--- a/staging_vespalib/src/vespa/vespalib/util/document_runnable.cpp
+++ b/vespalib/src/vespa/vespalib/util/document_runnable.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/document_runnable.h b/vespalib/src/vespa/vespalib/util/document_runnable.h
index 5ca344ea7ef..5ca344ea7ef 100644
--- a/staging_vespalib/src/vespa/vespalib/util/document_runnable.h
+++ b/vespalib/src/vespa/vespalib/util/document_runnable.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/doom.cpp b/vespalib/src/vespa/vespalib/util/doom.cpp
index 93ebe317ae0..93ebe317ae0 100644
--- a/staging_vespalib/src/vespa/vespalib/util/doom.cpp
+++ b/vespalib/src/vespa/vespalib/util/doom.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/doom.h b/vespalib/src/vespa/vespalib/util/doom.h
index e7db0795fb7..e7db0795fb7 100644
--- a/staging_vespalib/src/vespa/vespalib/util/doom.h
+++ b/vespalib/src/vespa/vespalib/util/doom.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp b/vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp
index 424ad7ba470..424ad7ba470 100644
--- a/staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp
+++ b/vespalib/src/vespa/vespalib/util/growablebytebuffer.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.h b/vespalib/src/vespa/vespalib/util/growablebytebuffer.h
index b0fb30606d4..b0fb30606d4 100644
--- a/staging_vespalib/src/vespa/vespalib/util/growablebytebuffer.h
+++ b/vespalib/src/vespa/vespalib/util/growablebytebuffer.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/jsonexception.cpp b/vespalib/src/vespa/vespalib/util/jsonexception.cpp
index 5c04aefe2d1..5c04aefe2d1 100644
--- a/staging_vespalib/src/vespa/vespalib/util/jsonexception.cpp
+++ b/vespalib/src/vespa/vespalib/util/jsonexception.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/jsonexception.h b/vespalib/src/vespa/vespalib/util/jsonexception.h
index 3bf954420a6..3bf954420a6 100644
--- a/staging_vespalib/src/vespa/vespalib/util/jsonexception.h
+++ b/vespalib/src/vespa/vespalib/util/jsonexception.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/jsonstream.cpp b/vespalib/src/vespa/vespalib/util/jsonstream.cpp
index 135611e975f..135611e975f 100644
--- a/staging_vespalib/src/vespa/vespalib/util/jsonstream.cpp
+++ b/vespalib/src/vespa/vespalib/util/jsonstream.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/jsonstream.h b/vespalib/src/vespa/vespalib/util/jsonstream.h
index d60151f0478..d60151f0478 100644
--- a/staging_vespalib/src/vespa/vespalib/util/jsonstream.h
+++ b/vespalib/src/vespa/vespalib/util/jsonstream.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp b/vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp
index 67181dfd16f..67181dfd16f 100644
--- a/staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp
+++ b/vespalib/src/vespa/vespalib/util/malloc_mmap_guard.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h b/vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h
index 03e6d38c03c..03e6d38c03c 100644
--- a/staging_vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h
+++ b/vespalib/src/vespa/vespalib/util/malloc_mmap_guard.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/polymorphicarray.h b/vespalib/src/vespa/vespalib/util/polymorphicarray.h
index de93ae03657..de93ae03657 100644
--- a/staging_vespalib/src/vespa/vespalib/util/polymorphicarray.h
+++ b/vespalib/src/vespa/vespalib/util/polymorphicarray.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/polymorphicarraybase.h b/vespalib/src/vespa/vespalib/util/polymorphicarraybase.h
index f3f63f6a43c..f3f63f6a43c 100644
--- a/staging_vespalib/src/vespa/vespalib/util/polymorphicarraybase.h
+++ b/vespalib/src/vespa/vespalib/util/polymorphicarraybase.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h b/vespalib/src/vespa/vespalib/util/polymorphicarrays.h
index 55f64ec51cd..55f64ec51cd 100644
--- a/staging_vespalib/src/vespa/vespalib/util/polymorphicarrays.h
+++ b/vespalib/src/vespa/vespalib/util/polymorphicarrays.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/process_memory_stats.cpp b/vespalib/src/vespa/vespalib/util/process_memory_stats.cpp
index f7e8e087727..f7e8e087727 100644
--- a/staging_vespalib/src/vespa/vespalib/util/process_memory_stats.cpp
+++ b/vespalib/src/vespa/vespalib/util/process_memory_stats.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/process_memory_stats.h b/vespalib/src/vespa/vespalib/util/process_memory_stats.h
index 000c0942905..000c0942905 100644
--- a/staging_vespalib/src/vespa/vespalib/util/process_memory_stats.h
+++ b/vespalib/src/vespa/vespalib/util/process_memory_stats.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/programoptions.cpp b/vespalib/src/vespa/vespalib/util/programoptions.cpp
index 9ea7c1648d1..9ea7c1648d1 100644
--- a/staging_vespalib/src/vespa/vespalib/util/programoptions.cpp
+++ b/vespalib/src/vespa/vespalib/util/programoptions.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/programoptions.h b/vespalib/src/vespa/vespalib/util/programoptions.h
index 0c75f9b2c72..0c75f9b2c72 100644
--- a/staging_vespalib/src/vespa/vespalib/util/programoptions.h
+++ b/vespalib/src/vespa/vespalib/util/programoptions.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/rusage.cpp b/vespalib/src/vespa/vespalib/util/rusage.cpp
index ed0ec125dcf..ed0ec125dcf 100644
--- a/staging_vespalib/src/vespa/vespalib/util/rusage.cpp
+++ b/vespalib/src/vespa/vespalib/util/rusage.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/rusage.h b/vespalib/src/vespa/vespalib/util/rusage.h
index 4c741f7699d..4c741f7699d 100644
--- a/staging_vespalib/src/vespa/vespalib/util/rusage.h
+++ b/vespalib/src/vespa/vespalib/util/rusage.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/shutdownguard.cpp b/vespalib/src/vespa/vespalib/util/shutdownguard.cpp
index 12e58898c06..12e58898c06 100644
--- a/staging_vespalib/src/vespa/vespalib/util/shutdownguard.cpp
+++ b/vespalib/src/vespa/vespalib/util/shutdownguard.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/shutdownguard.h b/vespalib/src/vespa/vespalib/util/shutdownguard.h
index d76d4deb5d2..d76d4deb5d2 100644
--- a/staging_vespalib/src/vespa/vespalib/util/shutdownguard.h
+++ b/vespalib/src/vespa/vespalib/util/shutdownguard.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/sort.h b/vespalib/src/vespa/vespalib/util/sort.h
index ce3f6772ef1..ce3f6772ef1 100644
--- a/staging_vespalib/src/vespa/vespalib/util/sort.h
+++ b/vespalib/src/vespa/vespalib/util/sort.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/testclock.cpp b/vespalib/src/vespa/vespalib/util/testclock.cpp
index bc5d37ca437..bc5d37ca437 100644
--- a/staging_vespalib/src/vespa/vespalib/util/testclock.cpp
+++ b/vespalib/src/vespa/vespalib/util/testclock.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/testclock.h b/vespalib/src/vespa/vespalib/util/testclock.h
index 9446ff32cb2..9446ff32cb2 100644
--- a/staging_vespalib/src/vespa/vespalib/util/testclock.h
+++ b/vespalib/src/vespa/vespalib/util/testclock.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/varholder.h b/vespalib/src/vespa/vespalib/util/varholder.h
index d92c00e0081..d92c00e0081 100644
--- a/staging_vespalib/src/vespa/vespalib/util/varholder.h
+++ b/vespalib/src/vespa/vespalib/util/varholder.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/xmlserializable.cpp b/vespalib/src/vespa/vespalib/util/xmlserializable.cpp
index c687609df74..c687609df74 100644
--- a/staging_vespalib/src/vespa/vespalib/util/xmlserializable.cpp
+++ b/vespalib/src/vespa/vespalib/util/xmlserializable.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/xmlserializable.h b/vespalib/src/vespa/vespalib/util/xmlserializable.h
index 76f0ad1fa3a..76f0ad1fa3a 100644
--- a/staging_vespalib/src/vespa/vespalib/util/xmlserializable.h
+++ b/vespalib/src/vespa/vespalib/util/xmlserializable.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/xmlstream.cpp b/vespalib/src/vespa/vespalib/util/xmlstream.cpp
index bdc09da127b..bdc09da127b 100644
--- a/staging_vespalib/src/vespa/vespalib/util/xmlstream.cpp
+++ b/vespalib/src/vespa/vespalib/util/xmlstream.cpp
diff --git a/staging_vespalib/src/vespa/vespalib/util/xmlstream.h b/vespalib/src/vespa/vespalib/util/xmlstream.h
index b197ff5c7c8..b197ff5c7c8 100644
--- a/staging_vespalib/src/vespa/vespalib/util/xmlstream.h
+++ b/vespalib/src/vespa/vespalib/util/xmlstream.h
diff --git a/staging_vespalib/src/vespa/vespalib/util/xmlstream.hpp b/vespalib/src/vespa/vespalib/util/xmlstream.hpp
index 82f1146df29..82f1146df29 100644
--- a/staging_vespalib/src/vespa/vespalib/util/xmlstream.hpp
+++ b/vespalib/src/vespa/vespalib/util/xmlstream.hpp