summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-12-13 12:58:06 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2022-12-13 12:58:06 +0000
commit83a00f9a6391f09a98f7a20ebbb5fc9143e5cb25 (patch)
tree90f422c985d49ee27b78df98e5ed7899cad5158d
parent26d8b8f992c3c3b6bee102f3b6c4551f20b9aad7 (diff)
- Reorder to cancel the recurring task.
- Add and explicit close.
-rw-r--r--searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/disk_mem_usage_sampler.h2
3 files changed, 6 insertions, 4 deletions
diff --git a/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp b/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
index 5879eafd0d0..d01e9f8fc5f 100644
--- a/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
+++ b/searchcore/src/tests/proton/server/disk_mem_usage_sampler/disk_mem_usage_sampler_test.cpp
@@ -55,7 +55,9 @@ struct DiskMemUsageSamplerTest : public ::testing::Test {
const DiskMemUsageFilter& filter() const { return sampler->writeFilter(); }
};
-DiskMemUsageSamplerTest::~DiskMemUsageSamplerTest() = default;
+DiskMemUsageSamplerTest::~DiskMemUsageSamplerTest() {
+ sampler->close(); // Ensure all tasks are stopped
+}
TEST_F(DiskMemUsageSamplerTest, resource_usage_is_sampled)
{
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 4e900c83821..f2fae014f0f 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
@@ -16,8 +16,8 @@ DiskMemUsageSampler::DiskMemUsageSampler(const std::string &path_in, const HwInf
_sampleInterval(60s),
_lastSampleTime(),
_lock(),
- _periodicHandle(),
- _transient_usage_providers()
+ _transient_usage_providers(),
+ _periodicHandle()
{
}
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 ed0853ac100..16c89a253fd 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
@@ -20,8 +20,8 @@ class DiskMemUsageSampler {
vespalib::duration _sampleInterval;
vespalib::steady_time _lastSampleTime;
std::mutex _lock;
- std::unique_ptr<vespalib::IDestructorCallback> _periodicHandle;
std::vector<std::shared_ptr<const ITransientResourceUsageProvider>> _transient_usage_providers;
+ std::unique_ptr<vespalib::IDestructorCallback> _periodicHandle;
void sampleAndReportUsage();
uint64_t sampleDiskUsage();