diff options
author | Tor Egge <Tor.Egge@online.no> | 2021-12-08 13:07:05 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2021-12-08 13:07:05 +0100 |
commit | 7553a7267623edf2c45dd5a0fd1cea883ab691f7 (patch) | |
tree | a928677c7b0ac2d4b60ed0f5b33c0ba815210ac2 /searchcore | |
parent | 2dd0a7ad258fa182ed3ac8a199751dd60f73b0f7 (diff) |
Move CompactionStrategy from searchcommon to vespalib.
Diffstat (limited to 'searchcore')
11 files changed, 29 insertions, 25 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_test.cpp b/searchcore/src/tests/proton/attribute/attribute_test.cpp index 3397b424ed0..1de56802484 100644 --- a/searchcore/src/tests/proton/attribute/attribute_test.cpp +++ b/searchcore/src/tests/proton/attribute/attribute_test.cpp @@ -82,6 +82,7 @@ using std::string; using vespalib::ForegroundTaskExecutor; using vespalib::ForegroundThreadExecutor; using vespalib::SequencedTaskExecutorObserver; +using vespalib::datastore::CompactionStrategy; using vespalib::eval::SimpleValue; using vespalib::eval::TensorSpec; using vespalib::eval::Value; @@ -541,7 +542,7 @@ public: AttributeCollectionSpecFactory _factory; AttributeCollectionSpecTest(bool fastAccessOnly) : _builder(), - _factory(AllocStrategy(search::GrowStrategy(), search::CompactionStrategy(), 100), fastAccessOnly) + _factory(AllocStrategy(search::GrowStrategy(), CompactionStrategy(), 100), fastAccessOnly) { addAttribute("a1", false); addAttribute("a2", true); diff --git a/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp b/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp index 1483a0bd653..59503464222 100644 --- a/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp +++ b/searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp @@ -7,8 +7,8 @@ using proton::AllocConfig; using proton::AllocStrategy; using proton::SubDbType; -using search::CompactionStrategy; using search::GrowStrategy; +using vespalib::datastore::CompactionStrategy; namespace { diff --git a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp index 7f28ccd0737..0460f10f88f 100644 --- a/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp +++ b/searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp @@ -60,6 +60,7 @@ using storage::spi::Timestamp; using vespa::config::search::core::ProtonConfig; using vespa::config::content::core::BucketspacesConfig; using vespalib::mkdir; +using vespalib::datastore::CompactionStrategy; using proton::index::IndexConfig; typedef StoreOnlyDocSubDB::Config StoreOnlyConfig; @@ -564,7 +565,7 @@ TEST_F("require that attribute manager can be reconfigured", SearchableFixture) TEST_F("require that subdb reflect retirement", FastAccessFixture) { - search::CompactionStrategy cfg(0.1, 0.3); + CompactionStrategy cfg(0.1, 0.3); EXPECT_FALSE(f._subDb.isNodeRetired()); auto unretired_cfg = f._subDb.computeCompactionStrategy(cfg); @@ -576,7 +577,7 @@ TEST_F("require that subdb reflect retirement", FastAccessFixture) EXPECT_TRUE(f._subDb.isNodeRetired()); auto retired_cfg = f._subDb.computeCompactionStrategy(cfg); EXPECT_TRUE(cfg != retired_cfg); - EXPECT_TRUE(search::CompactionStrategy(0.5, 0.5) == retired_cfg); + EXPECT_TRUE(CompactionStrategy(0.5, 0.5) == retired_cfg); calc->setNodeRetired(false); f.setBucketStateCalculator(calc); @@ -586,8 +587,8 @@ TEST_F("require that subdb reflect retirement", FastAccessFixture) } TEST_F("require that attribute compaction config reflect retirement", FastAccessFixture) { - search::CompactionStrategy default_cfg(0.05, 0.2); - search::CompactionStrategy retired_cfg(0.5, 0.5); + CompactionStrategy default_cfg(0.05, 0.2); + CompactionStrategy retired_cfg(0.5, 0.5); auto guard = f._subDb.getAttributeManager()->getAttribute("attr1"); EXPECT_EQUAL(default_cfg, (*guard)->getConfig().getCompactionStrategy()); diff --git a/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp b/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp index 9a02331787e..6d3eaa30263 100644 --- a/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp +++ b/searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp @@ -45,7 +45,7 @@ using search::TuneFileDocumentDB; using std::map; using vespalib::VarHolder; using search::GrowStrategy; -using search::CompactionStrategy; +using vespalib::datastore::CompactionStrategy; struct DoctypeFixture { using UP = std::unique_ptr<DoctypeFixture>; diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp index 1c730b063f8..59804517d26 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp @@ -7,10 +7,10 @@ #include <future> using search::AttributeVector; -using search::CompactionStrategy; using search::GrowStrategy; using search::SerialNum; using vespa::config::search::AttributesConfig; +using vespalib::datastore::CompactionStrategy; namespace proton { diff --git a/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp b/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp index 3664f67f8fb..69a2d4f3ea9 100644 --- a/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp +++ b/searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp @@ -4,8 +4,8 @@ #include <vespa/searchcore/proton/common/subdbtype.h> #include <algorithm> -using search::CompactionStrategy; using search::GrowStrategy; +using vespalib::datastore::CompactionStrategy; namespace proton { diff --git a/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.cpp b/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.cpp index cbe8309b031..32ac249f7e1 100644 --- a/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.cpp +++ b/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.cpp @@ -3,7 +3,6 @@ #include "alloc_strategy.h" #include <iostream> -using search::CompactionStrategy; using search::GrowStrategy; namespace proton { diff --git a/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.h b/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.h index 4771a8637cd..9c6e24e2bfe 100644 --- a/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.h +++ b/searchcore/src/vespa/searchcore/proton/common/alloc_strategy.h @@ -2,8 +2,8 @@ #pragma once -#include <vespa/searchcommon/common/compaction_strategy.h> #include <vespa/searchcommon/common/growstrategy.h> +#include <vespa/vespalib/datastore/compaction_strategy.h> #include <iosfwd> namespace proton { @@ -14,14 +14,16 @@ namespace proton { */ class AllocStrategy { +public: + using CompactionStrategy = vespalib::datastore::CompactionStrategy; protected: const search::GrowStrategy _grow_strategy; - const search::CompactionStrategy _compaction_strategy; + const CompactionStrategy _compaction_strategy; const uint32_t _amortize_count; public: AllocStrategy(const search::GrowStrategy& grow_strategy, - const search::CompactionStrategy& compaction_strategy, + const CompactionStrategy& compaction_strategy, uint32_t amortize_count); AllocStrategy(); @@ -32,7 +34,7 @@ public: return !operator==(rhs); } const search::GrowStrategy& get_grow_strategy() const noexcept { return _grow_strategy; } - const search::CompactionStrategy& get_compaction_strategy() const noexcept { return _compaction_strategy; } + const CompactionStrategy& get_compaction_strategy() const noexcept { return _compaction_strategy; } uint32_t get_amortize_count() const noexcept { return _amortize_count; } }; diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdbconfigmanager.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdbconfigmanager.cpp index a9873a80d0e..3aa495cd341 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentdbconfigmanager.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentdbconfigmanager.cpp @@ -48,6 +48,7 @@ using search::DocumentStore; using search::WriteableFileChunk; using std::make_shared; using std::make_unique; +using vespalib::datastore::CompactionStrategy; using vespalib::make_string_short::fmt; @@ -264,7 +265,7 @@ build_alloc_config(const ProtonConfig& proton_config, const vespalib::string& do auto& alloc_config = document_db_config_entry.allocation; auto& distribution_config = proton_config.distribution; search::GrowStrategy grow_strategy(alloc_config.initialnumdocs, alloc_config.growfactor, alloc_config.growbias, alloc_config.multivaluegrowfactor); - search::CompactionStrategy compaction_strategy(alloc_config.maxDeadBytesRatio, alloc_config.maxDeadAddressSpaceRatio); + CompactionStrategy compaction_strategy(alloc_config.maxDeadBytesRatio, alloc_config.maxDeadAddressSpaceRatio); return std::make_shared<const AllocConfig> (AllocStrategy(grow_strategy, compaction_strategy, alloc_config.amortizecount), distribution_config.redundancy, distribution_config.searchablecopies); diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp index 06d174497b3..6b1356da50e 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp @@ -30,7 +30,6 @@ #include <vespa/log/log.h> LOG_SETUP(".proton.server.storeonlydocsubdb"); -using search::CompactionStrategy; using search::GrowStrategy; using vespalib::makeLambdaTask; using search::index::Schema; @@ -43,6 +42,7 @@ using vespalib::GenericHeader; using search::common::FileHeaderContext; using proton::initializer::InitializerTask; using searchcorespi::IFlushTarget; +using vespalib::datastore::CompactionStrategy; namespace proton { @@ -422,7 +422,7 @@ namespace { constexpr double RETIRED_DEAD_RATIO = 0.5; struct UpdateConfig : public search::attribute::IAttributeFunctor { - UpdateConfig(search::CompactionStrategy compactionStrategy) noexcept + UpdateConfig(CompactionStrategy compactionStrategy) noexcept : _compactionStrategy(compactionStrategy) {} void operator()(search::attribute::IAttributeVector &iAttributeVector) override { @@ -433,15 +433,15 @@ struct UpdateConfig : public search::attribute::IAttributeFunctor { attributeVector->update_config(cfg); } } - search::CompactionStrategy _compactionStrategy; + CompactionStrategy _compactionStrategy; }; } -search::CompactionStrategy -StoreOnlyDocSubDB::computeCompactionStrategy(search::CompactionStrategy strategy) const { +CompactionStrategy +StoreOnlyDocSubDB::computeCompactionStrategy(CompactionStrategy strategy) const { return isNodeRetired() - ? search::CompactionStrategy(RETIRED_DEAD_RATIO, RETIRED_DEAD_RATIO) + ? CompactionStrategy(RETIRED_DEAD_RATIO, RETIRED_DEAD_RATIO) : strategy; } @@ -464,7 +464,7 @@ StoreOnlyDocSubDB::setBucketStateCalculator(const std::shared_ptr<IBucketStateCa bool wasNodeRetired = isNodeRetired(); _nodeRetired = calc->nodeRetired(); if (wasNodeRetired != isNodeRetired()) { - search::CompactionStrategy compactionStrategy = computeCompactionStrategy(_lastConfiguredCompactionStrategy); + CompactionStrategy compactionStrategy = computeCompactionStrategy(_lastConfiguredCompactionStrategy); auto cfg = _dms->getConfig(); cfg.setCompactionStrategy(compactionStrategy); _dms->update_config(cfg); @@ -474,7 +474,7 @@ StoreOnlyDocSubDB::setBucketStateCalculator(const std::shared_ptr<IBucketStateCa void StoreOnlyDocSubDB::reconfigureAttributesConsideringNodeState(OnDone onDone) { - search::CompactionStrategy compactionStrategy = computeCompactionStrategy(_lastConfiguredCompactionStrategy); + CompactionStrategy compactionStrategy = computeCompactionStrategy(_lastConfiguredCompactionStrategy); auto attrMan = getAttributeManager(); if (attrMan) { attrMan->asyncForEachAttribute(std::make_shared<UpdateConfig>(compactionStrategy), std::move(onDone)); diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h index b53dfe89f59..d43b865c000 100644 --- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h +++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h @@ -153,7 +153,7 @@ private: std::shared_ptr<ShrinkLidSpaceFlushTarget> _dmsShrinkTarget; std::shared_ptr<PendingLidTrackerBase> _pendingLidsForCommit; bool _nodeRetired; - search::CompactionStrategy _lastConfiguredCompactionStrategy; + vespalib::datastore::CompactionStrategy _lastConfiguredCompactionStrategy; IFlushTargetList getFlushTargets() override; protected: @@ -234,7 +234,7 @@ public: std::shared_ptr<IDocumentDBReference> getDocumentDBReference() override; void tearDownReferences(IDocumentDBReferenceResolver &resolver) override; PendingLidTrackerBase & getUncommittedLidsTracker() override { return *_pendingLidsForCommit; } - search::CompactionStrategy computeCompactionStrategy(search::CompactionStrategy strategy) const; + vespalib::datastore::CompactionStrategy computeCompactionStrategy(vespalib::datastore::CompactionStrategy strategy) const; bool isNodeRetired() const { return _nodeRetired; } }; |