summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-10-29 21:15:36 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-10-29 21:15:36 +0000
commit5ad244d329d21bbf2753034f8cd173f416fda2d7 (patch)
tree2b66fc0a8dd87c7bf6d2493598c446bb191e0ea4 /searchcore
parentcbc362cb4fee1ea193c2f0996d509777f19f7162 (diff)
GC unused visibility delay take 1.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp22
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.cpp8
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/visibilityhandler.h4
4 files changed, 1 insertions, 37 deletions
diff --git a/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp b/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp
index 2048ecb5458..e3b2de4aed9 100644
--- a/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp
+++ b/searchcore/src/tests/proton/server/visibility_handler/visibility_handler_test.cpp
@@ -111,7 +111,6 @@ public:
{
_feedViewReal->setTracker(visibilityDelay);
_getSerialNum.setSerialNum(currSerialNum);
- _visibilityHandler.setVisibilityDelay(visibilityDelay);
if (internal) {
VisibilityHandler *visibilityHandler = &_visibilityHandler;
auto task = makeLambdaTask([=]() { visibilityHandler->commit(); });
@@ -143,7 +142,6 @@ public:
{
_feedViewReal->setTracker(visibilityDelay);
_getSerialNum.setSerialNum(currSerialNum);
- _visibilityHandler.setVisibilityDelay(visibilityDelay);
constexpr uint32_t MY_LID=13;
proton::PendingLidTrackerBase * lidTracker = _feedViewReal->_tracker.get();
{
@@ -170,31 +168,11 @@ TEST_F("Check external commit with zero visibility delay", Fixture)
f.testCommit(0s, false, 0u, 0u, 0u);
}
-TEST_F("Check external commit with nonzero visibility delay", Fixture)
-{
- f.testCommit(1s, false, 1u, 10u, 1u);
-}
-
-TEST_F("Check external commit with nonzero visibility delay and no new feed operation", Fixture)
-{
- f.testCommit(1s, false, 1u, 0u, 1u, 0u);
-}
-
TEST_F("Check internal commit with zero visibility delay", Fixture)
{
f.testCommit(0s, true, 0u, 0u, 1u);
}
-TEST_F("Check internal commit with nonzero visibility delay", Fixture)
-{
- f.testCommit(1s, true, 1u, 10u, 1u);
-}
-
-TEST_F("Check internal commit with nonzero visibility delay and no new feed operation", Fixture)
-{
- f.testCommit(1s, true, 1u, 0u, 1u, 0u);
-}
-
TEST_F("Check external commitAndWait with zero visibility delay", Fixture)
{
f.testCommitAndWait(0s, false, 0u, 0u, 0u);
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
index b35e1a88495..4f858203123 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp
@@ -208,8 +208,6 @@ DocumentDB::DocumentDB(const vespalib::string &baseDir,
_lidSpaceCompactionHandlers.push_back(std::make_unique<LidSpaceCompactionHandler>(_maintenanceController.getNotReadySubDB(), _docTypeName.getName()));
_writeFilter.setConfig(loaded_config->getMaintenanceConfigSP()->getAttributeUsageFilterConfig());
- vespalib::duration visibilityDelay = loaded_config->getMaintenanceConfigSP()->getVisibilityDelay();
- _visibility.setVisibilityDelay(visibilityDelay);
}
void DocumentDB::registerReference()
@@ -441,21 +439,17 @@ DocumentDB::applyConfig(DocumentDBConfig::SP configSnapshot, SerialNum serialNum
commit_result = _feedHandler->storeOperationSync(op);
sync(op.getSerialNum());
}
- bool hasVisibilityDelayChanged = false;
{
bool elidedConfigSave = equalReplayConfig && tlsReplayDone;
// Flush changes to attributes and memory index, cf. visibilityDelay
_feedView.get()->forceCommit(elidedConfigSave ? serialNum : serialNum - 1, std::make_shared<search::KeepAlive<FeedHandler::CommitResult>>(std::move(commit_result)));
_writeService.sync();
- vespalib::duration visibilityDelay = configSnapshot->getMaintenanceConfigSP()->getVisibilityDelay();
- hasVisibilityDelayChanged = (visibilityDelay != _visibility.getVisibilityDelay());
- _visibility.setVisibilityDelay(visibilityDelay);
}
if (_state.getState() >= DDBState::State::APPLY_LIVE_CONFIG) {
_writeServiceConfig.update(configSnapshot->get_threading_service_config());
}
_writeService.setTaskLimit(_writeServiceConfig.defaultTaskLimit(), _writeServiceConfig.defaultTaskLimit());
- if (params.shouldSubDbsChange() || hasVisibilityDelayChanged) {
+ if (params.shouldSubDbsChange()) {
applySubDBConfig(*configSnapshot, serialNum, params);
if (serialNum < _feedHandler->getSerialNum()) {
// Not last entry in tls. Reprocessing should already be done.
diff --git a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp
index 3a44af517ee..5e8b7ccf58f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.cpp
@@ -14,7 +14,6 @@ VisibilityHandler::VisibilityHandler(const IGetSerialNum & serial,
: _serial(serial),
_writeService(writeService),
_feedView(feedView),
- _visibilityDelay(vespalib::duration::zero()),
_lastCommitSerialNum(0),
_lock()
{
@@ -36,9 +35,6 @@ VisibilityHandler::internalCommit(bool force)
void
VisibilityHandler::commit()
{
- if (hasVisibilityDelay()) {
- internalCommit(true);
- }
}
void
diff --git a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.h b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.h
index c22128685c1..bf4c594b83f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/visibilityhandler.h
@@ -26,9 +26,6 @@ public:
IThreadingService &threadingService,
const FeedViewHolder &feedView);
~VisibilityHandler() override;
- void setVisibilityDelay(vespalib::duration visibilityDelay) { _visibilityDelay = visibilityDelay; }
- vespalib::duration getVisibilityDelay() const { return _visibilityDelay; }
- bool hasVisibilityDelay() const { return _visibilityDelay != vespalib::duration::zero(); }
void commit() override;
void commitAndWait(ILidCommitState & unCommittedLidTracker) override;
void commitAndWait(ILidCommitState &, uint32_t ) override;
@@ -40,7 +37,6 @@ private:
const IGetSerialNum & _serial;
IThreadingService & _writeService;
const FeedViewHolder & _feedView;
- vespalib::duration _visibilityDelay;
SerialNum _lastCommitSerialNum;
std::mutex _lock;
};