summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp')
-rw-r--r--searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp56
1 files changed, 31 insertions, 25 deletions
diff --git a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
index 60f6c02d45a..9639f2c591e 100644
--- a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
@@ -2,23 +2,33 @@
#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/config-summary.h>
#include <vespa/document/datatype/documenttype.h>
#include <vespa/document/repo/documenttyperepo.h>
+#include <vespa/eval/eval/value_cache/constant_value.h>
+#include <vespa/searchcore/proton/attribute/attribute_collection_spec_factory.h>
#include <vespa/searchcore/proton/attribute/attribute_writer.h>
#include <vespa/searchcore/proton/attribute/attributemanager.h>
#include <vespa/searchcore/proton/attribute/imported_attributes_repo.h>
#include <vespa/searchcore/proton/bucketdb/bucket_db_owner.h>
+#include <vespa/searchcore/proton/common/docid_limit.h>
+#include <vespa/searchcore/proton/common/pendinglidtracker.h>
#include <vespa/searchcore/proton/docsummary/summarymanager.h>
+#include <vespa/searchcore/proton/documentmetastore/documentmetastorecontext.h>
#include <vespa/searchcore/proton/index/index_writer.h>
#include <vespa/searchcore/proton/index/indexmanager.h>
#include <vespa/searchcore/proton/matching/querylimiter.h>
+#include <vespa/searchcore/proton/matching/ranking_assets_repo.h>
#include <vespa/searchcore/proton/matching/sessionmanager.h>
#include <vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h>
+#include <vespa/searchcore/proton/reference/i_document_db_reference_resolver.h>
#include <vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h>
#include <vespa/searchcore/proton/server/document_subdb_reconfig.h>
#include <vespa/searchcore/proton/server/fast_access_doc_subdb_configurer.h>
#include <vespa/searchcore/proton/server/reconfig_params.h>
#include <vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h>
+#include <vespa/searchcore/proton/server/searchview.h>
+#include <vespa/searchcore/proton/server/searchable_feed_view.h>
#include <vespa/searchcore/proton/server/summaryadapter.h>
#include <vespa/searchcore/proton/test/documentdb_config_builder.h>
#include <vespa/searchcore/proton/test/mock_gid_to_lid_change_handler.h>
@@ -27,6 +37,7 @@
#include <vespa/searchlib/attribute/interlock.h>
#include <vespa/searchlib/index/dummyfileheadercontext.h>
#include <vespa/searchlib/transactionlog/nosyncproxy.h>
+#include <vespa/searchsummary/config/config-juniperrc.h>
#include <vespa/vespalib/util/size_literals.h>
#include <vespa/vespalib/util/testclock.h>
#include <vespa/vespalib/util/threadstackexecutor.h>
@@ -79,8 +90,8 @@ createRepo()
struct ViewPtrs
{
- SearchView::SP sv;
- SearchableFeedView::SP fv;
+ std::shared_ptr<SearchView> sv;
+ std::shared_ptr<SearchableFeedView> fv;
~ViewPtrs();
};
@@ -91,7 +102,7 @@ struct ViewSet
IndexManagerDummyReconfigurer _reconfigurer;
DummyFileHeaderContext _fileHeaderContext;
TransportAndExecutorService _service;
- SearchableFeedView::SerialNum serialNum;
+ SerialNum serialNum;
std::shared_ptr<const DocumentTypeRepo> repo;
DocTypeName _docTypeName;
DocIdLimit _docIdLimit;
@@ -99,8 +110,8 @@ struct ViewSet
ISummaryManager::SP _summaryMgr;
proton::IDocumentMetaStoreContext::SP _dmsc;
std::shared_ptr<IGidToLidChangeHandler> _gidToLidChangeHandler;
- VarHolder<SearchView::SP> searchView;
- VarHolder<SearchableFeedView::SP> feedView;
+ VarHolder<std::shared_ptr<SearchView>> searchView;
+ VarHolder<std::shared_ptr<SearchableFeedView>> feedView;
HwInfo _hwInfo;
ViewSet();
~ViewSet();
@@ -169,9 +180,9 @@ struct Fixture
SerialNum serial_num);
IReprocessingInitializer::UP reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
const ReconfigParams& reconfig_params,
IDocumentDBReferenceResolver& resolver,
+ uint32_t docid_limit,
SerialNum serial_num);
};
@@ -247,8 +258,8 @@ Fixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
{
EXPECT_FALSE(reconfig_params.shouldAttributeManagerChange());
uint32_t docid_limit = 1;
- AttributeCollectionSpec attr_spec(AttributeCollectionSpec::AttributeList(), docid_limit, serial_num);
- auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, std::move(attr_spec), reconfig_params, serial_num);
+ AttributeCollectionSpecFactory attr_spec_factory(AllocStrategy(), false);
+ auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, attr_spec_factory, reconfig_params, docid_limit, serial_num);
prepared_reconfig->complete(docid_limit, serial_num);
_configurer->reconfigure(new_config_snapshot, old_config_snapshot, reconfig_params, resolver, *prepared_reconfig, serial_num);
}
@@ -256,13 +267,13 @@ Fixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
IReprocessingInitializer::UP
Fixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
const ReconfigParams& reconfig_params,
IDocumentDBReferenceResolver& resolver,
+ uint32_t docid_limit,
SerialNum serial_num)
{
- auto docid_limit = attr_spec.getDocIdLimit();
- auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, std::move(attr_spec), reconfig_params, serial_num);
+ AttributeCollectionSpecFactory attr_spec_factory(AllocStrategy(), false);
+ auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, attr_spec_factory, reconfig_params, docid_limit, serial_num);
prepared_reconfig->complete(docid_limit, serial_num);
return _configurer->reconfigure(new_config_snapshot, old_config_snapshot, reconfig_params, resolver, *prepared_reconfig, serial_num);
}
@@ -335,19 +346,19 @@ struct FastAccessFixture
IReprocessingInitializer::UP
reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
+ uint32_t docid_limit,
SerialNum serial_num);
};
IReprocessingInitializer::UP
FastAccessFixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
+ uint32_t docid_limit,
SerialNum serial_num)
{
ReconfigParams reconfig_params{CCR()};
- auto docid_limit = attr_spec.getDocIdLimit();
- auto prepared_reconfig = _configurer.prepare_reconfig(new_config_snapshot, old_config_snapshot, std::move(attr_spec), reconfig_params, serial_num);
+ AttributeCollectionSpecFactory attr_spec_factory(AllocStrategy(), true);
+ auto prepared_reconfig = _configurer.prepare_reconfig(new_config_snapshot, old_config_snapshot, attr_spec_factory, reconfig_params, docid_limit, serial_num);
prepared_reconfig->complete(docid_limit, serial_num);
return _configurer.reconfigure(new_config_snapshot, old_config_snapshot, *prepared_reconfig, serial_num);
}
@@ -516,8 +527,7 @@ TEST_F("require that we can reconfigure attribute manager", Fixture)
// Use new config snapshot == old config snapshot (only relevant for reprocessing)
SerialNum reconfig_serial_num = 0;
f.reconfigure(*createConfig(), *createConfig(),
- AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, reconfig_serial_num),
- params, f._resolver, reconfig_serial_num);
+ params, f._resolver, 1, reconfig_serial_num);
ViewPtrs n = f._views.getViewPtrs();
{ // verify search view
@@ -555,8 +565,7 @@ checkAttributeWriterChangeOnRepoChange(Fixture &f, bool docTypeRepoChanged)
// Use new config snapshot == old config snapshot (only relevant for reprocessing)
SerialNum reconfig_serial_num = 0;
f.reconfigure(*createConfig(), *createConfig(),
- AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, reconfig_serial_num),
- params, f._resolver, reconfig_serial_num);
+ params, f._resolver, 1, reconfig_serial_num);
auto newAttributeWriter = getAttributeWriter(f);
if (docTypeRepoChanged) {
EXPECT_NOT_EQUAL(oldAttributeWriter, newAttributeWriter);
@@ -577,8 +586,7 @@ TEST_F("require that reconfigure returns reprocessing initializer when changing
SerialNum reconfig_serial_num = 0;
IReprocessingInitializer::UP init =
f.reconfigure(*createConfig(), *createConfig(),
- AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, reconfig_serial_num),
- params, f._resolver, reconfig_serial_num);
+ params, f._resolver, 1, reconfig_serial_num);
EXPECT_TRUE(init.get() != nullptr);
EXPECT_TRUE((dynamic_cast<AttributeReprocessingInitializer *>(init.get())) != nullptr);
@@ -589,8 +597,7 @@ TEST_F("require that we can reconfigure attribute writer", FastAccessFixture)
{
FastAccessFeedView::SP o = f._view._feedView.get();
SerialNum reconfig_serial_num = 0;
- f.reconfigure(*createConfig(), *createConfig(),
- AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, reconfig_serial_num), reconfig_serial_num);
+ f.reconfigure(*createConfig(), *createConfig(), 1, reconfig_serial_num);
FastAccessFeedView::SP n = f._view._feedView.get();
FastAccessFeedViewComparer cmp(o, n);
@@ -603,8 +610,7 @@ TEST_F("require that we can reconfigure attribute writer", FastAccessFixture)
TEST_F("require that reconfigure returns reprocessing initializer", FastAccessFixture)
{
SerialNum reconfig_serial_num = 0;
- IReprocessingInitializer::UP init = f.reconfigure(*createConfig(), *createConfig(),
- AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, reconfig_serial_num), reconfig_serial_num);
+ auto init = f.reconfigure(*createConfig(), *createConfig(), 1, reconfig_serial_num);
EXPECT_TRUE(init.get() != nullptr);
EXPECT_TRUE((dynamic_cast<AttributeReprocessingInitializer *>(init.get())) != nullptr);