summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp5
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/proton.cpp2
3 files changed, 7 insertions, 2 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
index 70718b54e50..4e900c83821 100644
--- a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp
@@ -24,6 +24,11 @@ DiskMemUsageSampler::DiskMemUsageSampler(const std::string &path_in, const HwInf
DiskMemUsageSampler::~DiskMemUsageSampler() = default;
void
+DiskMemUsageSampler::close() {
+ _periodicHandle.reset();
+}
+
+void
DiskMemUsageSampler::setConfig(const Config &config, IScheduledExecutor & executor)
{
_periodicHandle.reset();
diff --git a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h
index c2e8f055d09..ed0853ac100 100644
--- a/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h
@@ -50,8 +50,8 @@ public:
};
DiskMemUsageSampler(const std::string &path_in, const HwInfo &config);
-
~DiskMemUsageSampler();
+ void close();
void setConfig(const Config &config, IScheduledExecutor & executor);
diff --git a/searchcore/src/vespa/searchcore/proton/server/proton.cpp b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
index acda83de1dc..94b14780df5 100644
--- a/searchcore/src/vespa/searchcore/proton/server/proton.cpp
+++ b/searchcore/src/vespa/searchcore/proton/server/proton.cpp
@@ -470,7 +470,7 @@ Proton::~Proton()
_diskMemUsageSampler->notifier().removeDiskMemUsageListener(_memoryFlushConfigUpdater.get());
}
_sessionPruneHandle.reset();
- _diskMemUsageSampler.reset();
+ _diskMemUsageSampler->close();
_scheduler.reset();
_executor.shutdown();
_executor.sync();