summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-02-06 18:15:21 +0100
committerGitHub <noreply@github.com>2023-02-06 18:15:21 +0100
commita8717e9f4e7674d557a6701fe31f424543defb4d (patch)
tree1e800a3547ee138866c20b16546bad4208768c10 /searchcore/src/tests/proton
parent99a6d82652ccb564e4ec8b1c677b84bc9c236c6c (diff)
Revert "Make attribute collection spec serial num optional. Pass reconfig"
Diffstat (limited to 'searchcore/src/tests/proton')
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp13
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp33
-rw-r--r--searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp52
3 files changed, 22 insertions, 76 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp
index 52b7a7ce60a..106bdf5cc98 100644
--- a/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp
+++ b/searchcore/src/tests/proton/attribute/attribute_initializer/attribute_initializer_test.cpp
@@ -95,7 +95,7 @@ struct Fixture
vespalib::ThreadStackExecutor _executor;
Fixture();
~Fixture();
- std::unique_ptr<AttributeInitializer> createInitializer(AttributeSpec && spec, std::optional<SerialNum> serialNum);
+ std::unique_ptr<AttributeInitializer> createInitializer(AttributeSpec && spec, SerialNum serialNum);
};
Fixture::Fixture()
@@ -109,7 +109,7 @@ Fixture::Fixture()
Fixture::~Fixture() = default;
std::unique_ptr<AttributeInitializer>
-Fixture::createInitializer(AttributeSpec &&spec, std::optional<SerialNum> serialNum)
+Fixture::createInitializer(AttributeSpec &&spec, SerialNum serialNum)
{
return std::make_unique<AttributeInitializer>(_diskLayout->createAttributeDir(spec.getName()), "test.subdb", std::move(spec), serialNum, _factory, _executor);
}
@@ -241,15 +241,6 @@ TEST("require that transient memory usage is reported for attribute load without
EXPECT_EQUAL(0u, avi->get_transient_memory_usage());
}
-TEST("require that saved attribute is ignored when serial num is not set")
-{
- saveAttr("a", int32_sv, 10, 2);
- Fixture f;
- auto av = f.createInitializer({"a", int32_sv}, std::nullopt)->init().getAttribute();
- EXPECT_EQUAL(0u, av->getCreateSerialNum());
- EXPECT_EQUAL(1u, av->getNumDocs());
-}
-
}
TEST_MAIN()
diff --git a/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp b/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp
index 29639448023..616bf9edf6a 100644
--- a/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp
+++ b/searchcore/src/tests/proton/attribute/attribute_manager/attribute_manager_test.cpp
@@ -2,7 +2,6 @@
#include <vespa/searchcore/proton/attribute/attribute_collection_spec_factory.h>
#include <vespa/searchcore/proton/attribute/attribute_manager_initializer.h>
-#include <vespa/searchcore/proton/attribute/attribute_manager_reconfig.h>
#include <vespa/searchcore/proton/attribute/attribute_writer.h>
#include <vespa/searchcore/proton/attribute/attributemanager.h>
#include <vespa/searchcore/proton/attribute/exclusive_attribute_read_accessor.h>
@@ -223,7 +222,7 @@ SequentialAttributeManager::SequentialAttributeManager(const AttributeManager &c
: initializer(newSpec.getDocIdLimit()),
mgr(currMgr, std::move(newSpec), initializer)
{
- mgr.addInitializedAttributes(initializer.getInitializedAttributes(), std::nullopt, std::nullopt);
+ mgr.addInitializedAttributes(initializer.getInitializedAttributes());
}
SequentialAttributeManager::~SequentialAttributeManager() = default;
@@ -878,36 +877,6 @@ TEST_F("transient resource usage is zero in steady state", Fixture)
EXPECT_EQUAL(0u, usage.memory());
}
-TEST_F("late create serial number is set on new attributes", Fixture)
-{
- auto am1 = f.make_manager();
- am1->addAttribute({"a1", INT32_SINGLE}, 4);
- auto a1 = am1->getAttribute("a1")->getSP();
- uint32_t docid = 0;
- a1->addDoc(docid);
- EXPECT_EQUAL(1u, docid);
- a1->clearDoc(docid);
- a1->commit(CommitParam(5));
- AttrSpecList new_spec;
- new_spec.emplace_back("a1", INT32_SINGLE);
- new_spec.emplace_back("a2", INT32_SINGLE);
- // late serial number
- auto am2 = am1->prepare_create(AttrMgrSpec(std::move(new_spec), 10, std::nullopt))->create(14, 20);
- auto am3 = std::dynamic_pointer_cast<AttributeManager>(am2);
- EXPECT_TRUE(a1 == am3->getAttribute("a1")->getSP());
- auto a2 = am3->getAttribute("a2")->getSP();
- TEST_DO(assertCreateSerialNum(*am3, "a1", 4));
- TEST_DO(assertCreateSerialNum(*am3, "a2", 20));
- TEST_DO(assertShrinkTargetSerial(*am3, "a1", 3));
- TEST_DO(assertShrinkTargetSerial(*am3, "a2", 19));
- EXPECT_EQUAL(0u, am3->getFlushedSerialNum("a1"));
- EXPECT_EQUAL(0u, am3->getFlushedSerialNum("a2"));
- EXPECT_EQUAL(2u, a1->getNumDocs());
- EXPECT_EQUAL(2u, a1->getCommittedDocIdLimit());
- EXPECT_EQUAL(14u, a2->getNumDocs());
- EXPECT_EQUAL(14u, a2->getCommittedDocIdLimit());
-}
-
TEST_MAIN()
{
std::filesystem::remove_all(std::filesystem::path(test_dir));
diff --git a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
index 2877005e2c1..db5fb1ae294 100644
--- a/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
+++ b/searchcore/src/tests/proton/documentdb/configurer/configurer_test.cpp
@@ -47,7 +47,6 @@ using namespace vespa::config::search;
using namespace vespalib;
using proton::matching::SessionManager;
-using search::SerialNum;
using searchcorespi::IndexSearchable;
using searchcorespi::index::IThreadingService;
using proton::test::MockGidToLidChangeHandler;
@@ -166,14 +165,12 @@ struct Fixture
void reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
const ReconfigParams& reconfig_params,
- IDocumentDBReferenceResolver& resolver,
- SerialNum serial_num);
+ IDocumentDBReferenceResolver& resolver);
IReprocessingInitializer::UP reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
AttributeCollectionSpec&& attr_spec,
const ReconfigParams& reconfig_params,
- IDocumentDBReferenceResolver& resolver,
- SerialNum serial_num);
+ IDocumentDBReferenceResolver& resolver);
};
Fixture::Fixture()
@@ -243,11 +240,10 @@ void
Fixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
const ReconfigParams& reconfig_params,
- IDocumentDBReferenceResolver& resolver,
- SerialNum serial_num)
+ IDocumentDBReferenceResolver& resolver)
{
auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, reconfig_params);
- _configurer->reconfigure(new_config_snapshot, old_config_snapshot, reconfig_params, resolver, *prepared_reconfig, serial_num);
+ _configurer->reconfigure(new_config_snapshot, old_config_snapshot, reconfig_params, resolver, *prepared_reconfig);
}
IReprocessingInitializer::UP
@@ -255,11 +251,10 @@ Fixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
AttributeCollectionSpec&& attr_spec,
const ReconfigParams& reconfig_params,
- IDocumentDBReferenceResolver& resolver,
- SerialNum serial_num)
+ IDocumentDBReferenceResolver& resolver)
{
auto prepared_reconfig = _configurer->prepare_reconfig(new_config_snapshot, old_config_snapshot, reconfig_params);
- return _configurer->reconfigure(new_config_snapshot, old_config_snapshot, std::move(attr_spec), reconfig_params, resolver, *prepared_reconfig, serial_num);
+ return _configurer->reconfigure(new_config_snapshot, old_config_snapshot, std::move(attr_spec), reconfig_params, resolver, *prepared_reconfig);
}
using MySummaryAdapter = test::MockSummaryAdapter;
@@ -330,19 +325,17 @@ struct FastAccessFixture
IReprocessingInitializer::UP
reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
- SerialNum serial_num);
+ AttributeCollectionSpec&& attr_spec);
};
IReprocessingInitializer::UP
FastAccessFixture::reconfigure(const DocumentDBConfig& new_config_snapshot,
const DocumentDBConfig& old_config_snapshot,
- AttributeCollectionSpec&& attr_spec,
- SerialNum serial_num)
+ AttributeCollectionSpec&& attr_spec)
{
ReconfigParams reconfig_params{CCR()};
auto prepared_reconfig = _configurer.prepare_reconfig(new_config_snapshot, old_config_snapshot, reconfig_params);
- return _configurer.reconfigure(new_config_snapshot, old_config_snapshot, std::move(attr_spec), *prepared_reconfig, serial_num);
+ return _configurer.reconfigure(new_config_snapshot, old_config_snapshot, std::move(attr_spec), *prepared_reconfig);
}
DocumentDBConfig::SP
@@ -507,10 +500,9 @@ TEST_F("require that we can reconfigure attribute manager", Fixture)
ViewPtrs o = f._views.getViewPtrs();
ReconfigParams params(CCR().setAttributesChanged(true).setSchemaChanged(true));
// 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);
+ AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, 0),
+ params, f._resolver);
ViewPtrs n = f._views.getViewPtrs();
{ // verify search view
@@ -546,10 +538,9 @@ checkAttributeWriterChangeOnRepoChange(Fixture &f, bool docTypeRepoChanged)
auto oldAttributeWriter = getAttributeWriter(f);
ReconfigParams params(CCR().setDocumentTypeRepoChanged(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);
+ AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, 0),
+ params, f._resolver);
auto newAttributeWriter = getAttributeWriter(f);
if (docTypeRepoChanged) {
EXPECT_NOT_EQUAL(oldAttributeWriter, newAttributeWriter);
@@ -567,11 +558,10 @@ TEST_F("require that we get new attribute writer if document type repo changes",
TEST_F("require that reconfigure returns reprocessing initializer when changing attributes", Fixture)
{
ReconfigParams params(CCR().setAttributesChanged(true).setSchemaChanged(true));
- 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);
+ AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, 0),
+ params, f._resolver);
EXPECT_TRUE(init.get() != nullptr);
EXPECT_TRUE((dynamic_cast<AttributeReprocessingInitializer *>(init.get())) != nullptr);
@@ -581,9 +571,8 @@ TEST_F("require that reconfigure returns reprocessing initializer when changing
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);
+ AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, 0));
FastAccessFeedView::SP n = f._view._feedView.get();
FastAccessFeedViewComparer cmp(o, n);
@@ -595,9 +584,8 @@ 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);
+ AttributeCollectionSpec(AttributeCollectionSpec::AttributeList(), 1, 0));
EXPECT_TRUE(init.get() != nullptr);
EXPECT_TRUE((dynamic_cast<AttributeReprocessingInitializer *>(init.get())) != nullptr);
@@ -609,8 +597,7 @@ TEST_F("require that we can reconfigure summary manager", Fixture)
ViewPtrs o = f._views.getViewPtrs();
ReconfigParams params(CCR().setSummaryChanged(true));
// Use new config snapshot == old config snapshot (only relevant for reprocessing)
- SerialNum reconfig_serial_num = 0;
- f.reconfigure(*createConfig(), *createConfig(), params, f._resolver, reconfig_serial_num);
+ f.reconfigure(*createConfig(), *createConfig(), params, f._resolver);
ViewPtrs n = f._views.getViewPtrs();
{ // verify search view
@@ -629,9 +616,8 @@ TEST_F("require that we can reconfigure matchers", Fixture)
{
ViewPtrs o = f._views.getViewPtrs();
// Use new config snapshot == old config snapshot (only relevant for reprocessing)
- SerialNum reconfig_serial_num = 0;
f.reconfigure(*createConfig(o.fv->getSchema()), *createConfig(o.fv->getSchema()),
- ReconfigParams(CCR().setRankProfilesChanged(true)), f._resolver, reconfig_serial_num);
+ ReconfigParams(CCR().setRankProfilesChanged(true)), f._resolver);
ViewPtrs n = f._views.getViewPtrs();
{ // verify search view