diff --git a/be/src/olap/tablet_meta.h b/be/src/olap/tablet_meta.h index ba7dbbaf20d45a..efc4558f7bbe8e 100644 --- a/be/src/olap/tablet_meta.h +++ b/be/src/olap/tablet_meta.h @@ -536,6 +536,12 @@ class DeleteBitmap { std::call_once(once, [size_in_bytes] { auto* tmp = new AggCachePolicy(size_in_bytes); AggCache::s_repr.store(tmp, std::memory_order_release); + + // release the sigleton instance at program exit + std::atexit([] { + auto* ptr = AggCache::s_repr.exchange(nullptr, std::memory_order_acquire); + delete ptr; + }); }); while (!s_repr.load(std::memory_order_acquire)) {