summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-01-28 10:11:44 +0000
committerGeir Storli <geirst@yahooinc.com>2022-01-28 10:11:44 +0000
commitd545fc9568ea84a76c2761731ce941a40b2274a7 (patch)
tree58a47278137ed235f75d69cc582c2c3aa647011f /searchcore
parent55c92b06302ac368fc292f50d066aefc7ab34abc (diff)
Tag maintenance job tasks with cpu category COMPACT.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp3
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp14
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h7
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp7
4 files changed, 18 insertions, 13 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
index f4b92876891..1f9ae5ee6b3 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp
@@ -89,7 +89,8 @@ MaintenanceJobsInjector::injectJobs(MaintenanceController &controller,
AttributeUsageFilter &attributeUsageFilter)
{
controller.registerJobInMasterThread(std::make_unique<HeartBeatJob>(hbHandler, config.getHeartBeatConfig()));
- controller.registerJobInDefaultPool(std::make_unique<PruneSessionCacheJob>(scPruner, config.getSessionCachePruneInterval()));
+ controller.registerJobInSharedExecutor(
+ std::make_unique<PruneSessionCacheJob>(scPruner, config.getSessionCachePruneInterval()));
const auto & docTypeName = controller.getDocTypeName().getName();
const MaintenanceDocumentSubDB &mRemSubDB(controller.getRemSubDB());
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
index 0d75464a161..fa4bae8f01b 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp
@@ -39,12 +39,12 @@ isRunnable(const MaintenanceJobRunner & job, const Executor * master) {
}
-MaintenanceController::MaintenanceController(ISyncableThreadService &masterThread,
- vespalib::Executor & defaultExecutor,
- MonitoredRefCount & refCount,
- const DocTypeName &docTypeName)
+MaintenanceController::MaintenanceController(ISyncableThreadService& masterThread,
+ vespalib::Executor& shared_executor,
+ MonitoredRefCount& refCount,
+ const DocTypeName& docTypeName)
: _masterThread(masterThread),
- _defaultExecutor(defaultExecutor),
+ _shared_executor(shared_executor),
_refCount(refCount),
_readySubDB(),
_remSubDB(),
@@ -70,10 +70,10 @@ MaintenanceController::registerJobInMasterThread(IMaintenanceJob::UP job)
}
void
-MaintenanceController::registerJobInDefaultPool(IMaintenanceJob::UP job)
+MaintenanceController::registerJobInSharedExecutor(IMaintenanceJob::UP job)
{
// Called by master write thread
- registerJob(_defaultExecutor, std::move(job));
+ registerJob(_shared_executor, std::move(job));
}
void
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
index f2c425b2fd0..086f5a36404 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
@@ -42,11 +42,12 @@ public:
using UP = std::unique_ptr<MaintenanceController>;
enum class State {INITIALIZING, STARTED, PAUSED, STOPPING};
- MaintenanceController(ISyncableThreadService &masterThread, vespalib::Executor & defaultExecutor, vespalib::MonitoredRefCount & refCount, const DocTypeName &docTypeName);
+ MaintenanceController(ISyncableThreadService& masterThread, vespalib::Executor& shared_executor,
+ vespalib::MonitoredRefCount& refCount, const DocTypeName& docTypeName);
~MaintenanceController();
void registerJobInMasterThread(IMaintenanceJob::UP job);
- void registerJobInDefaultPool(IMaintenanceJob::UP job);
+ void registerJobInSharedExecutor(IMaintenanceJob::UP job);
void killJobs();
@@ -82,7 +83,7 @@ private:
using Guard = std::lock_guard<Mutex>;
ISyncableThreadService &_masterThread;
- vespalib::Executor &_defaultExecutor;
+ vespalib::Executor &_shared_executor;
vespalib::MonitoredRefCount &_refCount;
MaintenanceDocumentSubDB _readySubDB;
MaintenanceDocumentSubDB _remSubDB;
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
index 9eb0596ff1f..5e6cee94292 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp
@@ -1,12 +1,14 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "maintenancejobrunner.h"
-#include <vespa/vespalib/util/lambdatask.h>
#include <vespa/fastos/thread.h>
+#include <vespa/vespalib/util/cpu_usage.h>
+#include <vespa/vespalib/util/lambdatask.h>
#include <vespa/log/log.h>
LOG_SETUP(".proton.server.maintenancejobrunner");
+using vespalib::CpuUsage;
using vespalib::Executor;
using vespalib::makeLambdaTask;
@@ -34,7 +36,8 @@ MaintenanceJobRunner::addExecutorTask()
Guard guard(_lock);
if (!_stopped && !_job->isBlocked() && !_queued) {
_queued = true;
- _executor.execute(makeLambdaTask([this]() { runJobInExecutor(); }));
+ auto task = makeLambdaTask([this]() { runJobInExecutor(); });
+ _executor.execute(CpuUsage::wrap(std::move(task), CpuUsage::Category::COMPACT));
}
}