From 1cadc34c907a35a075cd6fb9d3eb24958a0b638b Mon Sep 17 00:00:00 2001 From: godyangfight Date: Tue, 15 Aug 2023 07:14:57 +0000 Subject: [PATCH] Fix migration using 500 tenant memory and mod --- src/storage/blocksstable/ob_sstable_meta.cpp | 8 +++++--- src/storage/blocksstable/ob_sstable_meta.h | 1 + .../high_availability/ob_storage_ha_tablet_builder.cpp | 5 ++++- .../high_availability/ob_storage_ha_tablet_builder.h | 1 + 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/storage/blocksstable/ob_sstable_meta.cpp b/src/storage/blocksstable/ob_sstable_meta.cpp index dcc930379..487aadfe6 100644 --- a/src/storage/blocksstable/ob_sstable_meta.cpp +++ b/src/storage/blocksstable/ob_sstable_meta.cpp @@ -714,10 +714,11 @@ int ObSSTableMeta::deep_copy( //================================== ObMigrationSSTableParam ================================== ObMigrationSSTableParam::ObMigrationSSTableParam() - : basic_meta_(), - column_checksums_(), + : allocator_("SSTableParam", OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()), + basic_meta_(), + column_checksums_(OB_MALLOC_NORMAL_BLOCK_SIZE, ModulePageAllocator(allocator_)), table_key_(), - column_default_checksums_(), + column_default_checksums_(OB_MALLOC_NORMAL_BLOCK_SIZE, ModulePageAllocator(allocator_)), is_small_sstable_(false) { } @@ -734,6 +735,7 @@ void ObMigrationSSTableParam::reset() column_default_checksums_.reset(); basic_meta_.reset(); is_small_sstable_ = false; + allocator_.reset(); } bool ObMigrationSSTableParam::is_valid() const diff --git a/src/storage/blocksstable/ob_sstable_meta.h b/src/storage/blocksstable/ob_sstable_meta.h index 9347ff721..4a07d5d71 100644 --- a/src/storage/blocksstable/ob_sstable_meta.h +++ b/src/storage/blocksstable/ob_sstable_meta.h @@ -280,6 +280,7 @@ private: static const int64_t MIGRATION_SSTABLE_PARAM_VERSION = 1; typedef common::ObSEArray ColChecksumArray; public: + common::ObArenaAllocator allocator_; ObSSTableBasicMeta basic_meta_; ColChecksumArray column_checksums_; storage::ObITable::TableKey table_key_; diff --git a/src/storage/high_availability/ob_storage_ha_tablet_builder.cpp b/src/storage/high_availability/ob_storage_ha_tablet_builder.cpp index baac3af4f..1aa03709d 100755 --- a/src/storage/high_availability/ob_storage_ha_tablet_builder.cpp +++ b/src/storage/high_availability/ob_storage_ha_tablet_builder.cpp @@ -1474,12 +1474,15 @@ ObStorageHATableInfoMgr::ObStorageHATabletTableInfoMgr::ObStorageHATabletTableIn : is_inited_(false), tablet_id_(), status_(ObCopyTabletStatus::MAX_STATUS), - copy_table_info_array_() + allocator_("HATableInfo", OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()), + copy_table_info_array_(OB_MALLOC_NORMAL_BLOCK_SIZE, ModulePageAllocator(allocator_)), + tablet_meta_() { } ObStorageHATableInfoMgr::ObStorageHATabletTableInfoMgr::~ObStorageHATabletTableInfoMgr() { + allocator_.reset(); } int ObStorageHATableInfoMgr::ObStorageHATabletTableInfoMgr::init( diff --git a/src/storage/high_availability/ob_storage_ha_tablet_builder.h b/src/storage/high_availability/ob_storage_ha_tablet_builder.h index 4bff59475..9a39736ae 100644 --- a/src/storage/high_availability/ob_storage_ha_tablet_builder.h +++ b/src/storage/high_availability/ob_storage_ha_tablet_builder.h @@ -225,6 +225,7 @@ public: bool is_inited_; common::ObTabletID tablet_id_; storage::ObCopyTabletStatus::STATUS status_; + common::ObArenaAllocator allocator_; common::ObArray copy_table_info_array_; ObMigrationTabletParam tablet_meta_; DISALLOW_COPY_AND_ASSIGN(ObStorageHATabletTableInfoMgr);