summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-12-13 09:40:05 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-12-13 09:40:05 +0000
commit538ee46d6bb137c0a18dc8995bca1ea4937d2b69 (patch)
treea74c148aab0914b36821e2828229bd75ade99a0d
parent759d5ab5a2b3925fce2ca260952c1997d6988bd9 (diff)
Since the DiskMemUsageSampler must be alive during documentdb shutdown, it must closed instead of deleted when disconnecting from scheduler.
-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();