diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-27 17:16:35 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-27 17:16:35 +0000 |
commit | f2be18a5f7e3d4954ec0fbf982981766f374a3c3 (patch) | |
tree | 69ad582d7d61371efed05995aa34dc0f4ef08405 | |
parent | 46f9bb123d4e3e858030a886298e247da35456ad (diff) |
Add a proper way for controlled stop.
3 files changed, 6 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/i_maintenance_job.h b/searchcore/src/vespa/searchcore/proton/server/i_maintenance_job.h index df6889ecf04..34e882c1f01 100644 --- a/searchcore/src/vespa/searchcore/proton/server/i_maintenance_job.h +++ b/searchcore/src/vespa/searchcore/proton/server/i_maintenance_job.h @@ -38,6 +38,7 @@ public: virtual vespalib::duration getInterval() const { return _interval; } virtual bool isBlocked() const { return false; } virtual IBlockableMaintenanceJob *asBlockable() { return nullptr; } + virtual void onStop() {} /** * Register maintenance job runner, in case event passed to the diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.cpp b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.cpp index f5441f86835..58ecca9f8ce 100644 --- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.cpp @@ -83,7 +83,10 @@ CompactionJob::CompactionJob(const DocumentDBLidSpaceCompactionConfig &config, { } -CompactionJob::~CompactionJob() { +CompactionJob::~CompactionJob() = default; + +void +CompactionJob::onStop() { _bucketExecutor.sync(); } diff --git a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.h b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.h index 3a61ee85a87..6c11961e137 100644 --- a/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.h +++ b/searchcore/src/vespa/searchcore/proton/server/lid_space_compaction_job_take2.h @@ -30,6 +30,7 @@ private: bool scanDocuments(const search::LidUsageStats &stats) override; void moveDocument(const search::DocumentMetaData & meta, std::shared_ptr<IDestructorCallback> onDone); + void onStop() override; public: CompactionJob(const DocumentDBLidSpaceCompactionConfig &config, |