diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-23 13:23:15 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-23 13:23:15 +0000 |
commit | f38cae1a8ae9c37d17c4bcdc485df629cf00e658 (patch) | |
tree | 83b6ef7cee55fc2fe2f854f864f6531eb1410f41 /searchcore/src | |
parent | 75880a3716c3c34951811f0d8515cda4c6a2bf23 (diff) |
Stop maintenance jobs prior to draining references. Also remove a redundant docTypeName parameter.
Diffstat (limited to 'searchcore/src')
5 files changed, 5 insertions, 6 deletions
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp index b5e2e9d0b01..7b225571227 100644 --- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp +++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp @@ -847,7 +847,7 @@ MaintenanceControllerFixture::injectMaintenanceJobs() { if (_injectDefaultJobs) { MaintenanceJobsInjector::injectJobs(_mc, *_mcCfg, _bucketExecutor, _fh, _gsp, _fh, _mc, - _bucketCreateNotifier, _docTypeName.getName(), makeBucketSpace(), _fh, _fh, + _bucketCreateNotifier, makeBucketSpace(), _fh, _fh, _bmc, _clusterStateHandler, _bucketHandler, _calc, _diskMemUsageNotifier, _jobTrackers, _readyAttributeManager, _notReadyAttributeManager, std::make_unique<const AttributeConfigInspector>(AttributesConfigBuilder()), diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp index 6897a182862..549981330ef 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.cpp @@ -571,14 +571,14 @@ DocumentDB::close() _state.enterShutdownState(); _configCV.notify_all(); } + // Abort any ongoing maintenance + stopMaintenance(); _writeService.master().sync(); // Complete all tasks that didn't observe shutdown masterExecute([this]() { tearDownReferences(); }); _writeService.master().sync(); // Wait until inflight feed operations to this document db has left. // Caller should have removed document DB from feed router. _refCount.waitForZeroRefCount(); - // Abort any ongoing maintenance - stopMaintenance(); _writeService.sync(); @@ -959,7 +959,6 @@ DocumentDB::injectMaintenanceJobs(const DocumentDBMaintenanceConfig &config, std *_feedHandler, // IOperationStorer _maintenanceController, // IFrozenBucketHandler _subDBs.getBucketCreateNotifier(), - _docTypeName.getName(), _bucketSpace, *_feedHandler, // IPruneRemovedDocumentsHandler *_feedHandler, // IDocumentMoveHandler 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 a6f408a984c..5b7824e4cc1 100644 --- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.cpp @@ -108,7 +108,6 @@ MaintenanceJobsInjector::injectJobs(MaintenanceController &controller, IOperationStorer &opStorer, IFrozenBucketHandler &fbHandler, bucketdb::IBucketCreateNotifier &bucketCreateNotifier, - const vespalib::string &docTypeName, document::BucketSpace bucketSpace, IPruneRemovedDocumentsHandler &prdHandler, IDocumentMoveHandler &moveHandler, @@ -127,6 +126,7 @@ MaintenanceJobsInjector::injectJobs(MaintenanceController &controller, controller.registerJobInMasterThread(std::make_unique<HeartBeatJob>(hbHandler, config.getHeartBeatConfig())); controller.registerJobInDefaultPool(std::make_unique<PruneSessionCacheJob>(scPruner, config.getSessionCachePruneInterval())); + const auto & docTypeName = controller.getDocTypeName().getName(); const MaintenanceDocumentSubDB &mRemSubDB(controller.getRemSubDB()); auto pruneRDjob = std::make_unique<PruneRemovedDocumentsJob>(config.getPruneRemovedDocumentsConfig(), *mRemSubDB.meta_store(), mRemSubDB.sub_db_id(), docTypeName, prdHandler, fbHandler); diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h index 563ef227fcf..fb7117d2e66 100644 --- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h +++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h @@ -40,7 +40,6 @@ struct MaintenanceJobsInjector IOperationStorer &opStorer, IFrozenBucketHandler &fbHandler, bucketdb::IBucketCreateNotifier &bucketCreateNotifier, - const vespalib::string &docTypeName, document::BucketSpace bucketSpace, IPruneRemovedDocumentsHandler &prdHandler, IDocumentMoveHandler &moveHandler, diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h index 4ab6cd6f3dc..0e080cf6445 100644 --- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h +++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h @@ -72,6 +72,7 @@ public: const MaintenanceDocumentSubDB & getRemSubDB() const { return _remSubDB; } const MaintenanceDocumentSubDB & getNotReadySubDB() const { return _notReadySubDB; } IThreadService & masterThread() { return _masterThread; } + const DocTypeName & getDocTypeName() const { return _docTypeName; } private: using Mutex = std::mutex; using Guard = std::lock_guard<Mutex>; |