diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-01-28 10:11:44 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-01-28 10:11:44 +0000 |
commit | d545fc9568ea84a76c2761731ce941a40b2274a7 (patch) | |
tree | 58a47278137ed235f75d69cc582c2c3aa647011f /searchcore | |
parent | 55c92b06302ac368fc292f50d066aefc7ab34abc (diff) |
Tag maintenance job tasks with cpu category COMPACT.
Diffstat (limited to 'searchcore')
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)); } } |