aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2021-12-08 13:07:05 +0100
committerTor Egge <Tor.Egge@online.no>2021-12-08 13:07:05 +0100
commit7553a7267623edf2c45dd5a0fd1cea883ab691f7 (patch)
treea928677c7b0ac2d4b60ed0f5b33c0ba815210ac2 /searchcore
parent2dd0a7ad258fa182ed3ac8a199751dd60f73b0f7 (diff)
Move CompactionStrategy from searchcommon to vespalib.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_test.cpp3
-rw-r--r--searchcore/src/tests/proton/common/alloc_config/alloc_config_test.cpp2
-rw-r--r--searchcore/src/tests/proton/documentdb/document_subdbs/document_subdbs_test.cpp9
-rw-r--r--searchcore/src/tests/proton/proton_config_fetcher/proton_config_fetcher_test.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/alloc_config.cpp2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/alloc_strategy.cpp1
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/alloc_strategy.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdbconfigmanager.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.cpp16
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h4
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; }
};