From 57122faa0fb94a330becd89369d0c6e59a1e051d Mon Sep 17 00:00:00 2001 From: Calvin Neo Date: Sun, 26 Jan 2025 18:49:59 +0800 Subject: [PATCH] Fix compile issue of RegionDataMemDiff in macOS (#9834) close pingcap/tiflash#9833 Signed-off-by: CalvinNeo Signed-off-by: JaySon-Huang Co-authored-by: JaySon-Huang --- dbms/src/Storages/KVStore/MultiRaft/Disagg/RaftLogManager.h | 1 + dbms/src/Storages/KVStore/MultiRaft/RegionCFDataBase.h | 5 +---- dbms/src/Storages/KVStore/MultiRaft/RegionData.cpp | 4 ++-- dbms/src/Storages/KVStore/MultiRaft/RegionData.h | 4 ++-- libs/libcommon/include/common/demangle.h | 3 ++- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/dbms/src/Storages/KVStore/MultiRaft/Disagg/RaftLogManager.h b/dbms/src/Storages/KVStore/MultiRaft/Disagg/RaftLogManager.h index 09b6a60e5d7..17128895696 100644 --- a/dbms/src/Storages/KVStore/MultiRaft/Disagg/RaftLogManager.h +++ b/dbms/src/Storages/KVStore/MultiRaft/Disagg/RaftLogManager.h @@ -18,6 +18,7 @@ #include #include +#include #include namespace DB diff --git a/dbms/src/Storages/KVStore/MultiRaft/RegionCFDataBase.h b/dbms/src/Storages/KVStore/MultiRaft/RegionCFDataBase.h index 361f0308783..d84fba36cc7 100644 --- a/dbms/src/Storages/KVStore/MultiRaft/RegionCFDataBase.h +++ b/dbms/src/Storages/KVStore/MultiRaft/RegionCFDataBase.h @@ -33,10 +33,7 @@ struct RegionDataMemDiff : payload(payload_) , decoded(decoded_) {} - RegionDataMemDiff(UInt64 payload_, UInt64 decoded_) - : payload(static_cast(payload_)) - , decoded(static_cast(decoded_)) - {} + RegionDataMemDiff() : payload(0) , decoded(0) diff --git a/dbms/src/Storages/KVStore/MultiRaft/RegionData.cpp b/dbms/src/Storages/KVStore/MultiRaft/RegionData.cpp index d661d2bf8b0..8285120cf68 100644 --- a/dbms/src/Storages/KVStore/MultiRaft/RegionData.cpp +++ b/dbms/src/Storages/KVStore/MultiRaft/RegionData.cpp @@ -280,7 +280,7 @@ size_t RegionData::totalSize() const void RegionData::assignRegionData(RegionData && rhs) { - recordMemChange(RegionDataMemDiff{-cf_data_size, -decoded_data_size}); + recordMemChange(RegionDataMemDiff{-cf_data_size.load(), -decoded_data_size.load()}); resetMemoryUsage(); default_cf = std::move(rhs.default_cf); @@ -288,7 +288,7 @@ void RegionData::assignRegionData(RegionData && rhs) lock_cf = std::move(rhs.lock_cf); orphan_keys_info = std::move(rhs.orphan_keys_info); - updateMemoryUsage(RegionDataMemDiff{rhs.cf_data_size, rhs.decoded_data_size}); + updateMemoryUsage(RegionDataMemDiff{rhs.cf_data_size.load(), rhs.decoded_data_size.load()}); rhs.resetMemoryUsage(); } diff --git a/dbms/src/Storages/KVStore/MultiRaft/RegionData.h b/dbms/src/Storages/KVStore/MultiRaft/RegionData.h index 86f3785096c..c623334faa4 100644 --- a/dbms/src/Storages/KVStore/MultiRaft/RegionData.h +++ b/dbms/src/Storages/KVStore/MultiRaft/RegionData.h @@ -135,9 +135,9 @@ class RegionData OrphanKeysInfo orphan_keys_info; // Size of 3 cfs, reflects size of real payload flows to KVStore. - std::atomic cf_data_size = 0; + std::atomic cf_data_size = 0; // Size of decoded structures for convenient access, considered as amplification in memory. - std::atomic decoded_data_size = 0; + std::atomic decoded_data_size = 0; }; } // namespace DB diff --git a/libs/libcommon/include/common/demangle.h b/libs/libcommon/include/common/demangle.h index d47fa290179..ba6acaad743 100644 --- a/libs/libcommon/include/common/demangle.h +++ b/libs/libcommon/include/common/demangle.h @@ -14,6 +14,7 @@ #pragma once +#include #include #include @@ -37,7 +38,7 @@ struct FreeingDeleter template void operator()(PointerType ptr) { - std::free(ptr); + std::free(ptr); // NOLINT(cppcoreguidelines-no-malloc) } };