From a011c2684466131f9f8620d9894df44283cee845 Mon Sep 17 00:00:00 2001 From: Yukang-Lian Date: Thu, 26 Sep 2024 17:43:12 +0800 Subject: [PATCH] 5 --- be/src/cloud/cloud_meta_mgr.cpp | 9 +++++++++ be/src/common/config.cpp | 1 + be/src/common/config.h | 1 + be/src/olap/tablet.cpp | 9 +++++++++ 4 files changed, 20 insertions(+) diff --git a/be/src/cloud/cloud_meta_mgr.cpp b/be/src/cloud/cloud_meta_mgr.cpp index 9f96e2f1be02749..931b9893c67bbae 100644 --- a/be/src/cloud/cloud_meta_mgr.cpp +++ b/be/src/cloud/cloud_meta_mgr.cpp @@ -757,6 +757,15 @@ Status CloudMetaMgr::commit_rowset(const RowsetMeta& rs_meta, << ", rowset index disk size:" << rs_meta.index_disk_size() << ", rowset total disk size:" << rs_meta.total_disk_size() << "."; } + if (rs_meta.index_disk_size() > + config::max_table_index_data_ratio * rs_meta.data_disk_size()) { + LOG(FATAL) << "[Cloud table size check failed]:" + << " tablet id: " << rs_meta.tablet_id() + << ", rowset id:" << rs_meta.rowset_id() + << ", rowset data disk size:" << rs_meta.data_disk_size() + << ", rowset index disk size:" << rs_meta.index_disk_size() + << ", rowset total disk size:" << rs_meta.total_disk_size() << "."; + } } CreateRowsetRequest req; CreateRowsetResponse resp; diff --git a/be/src/common/config.cpp b/be/src/common/config.cpp index 4e549e180609c84..66279a06d3f7cf3 100644 --- a/be/src/common/config.cpp +++ b/be/src/common/config.cpp @@ -1342,6 +1342,7 @@ DEFINE_Int32(query_cache_size, "512"); // Enable validation to check the correctness of table size. DEFINE_Bool(enable_table_size_correctness_check, "false"); +DEFINE_mDouble(max_table_index_data_ratio, "0.1"); // clang-format off #ifdef BE_TEST diff --git a/be/src/common/config.h b/be/src/common/config.h index ac9690439476b07..36213135e4143c6 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -1430,6 +1430,7 @@ DECLARE_Int32(query_cache_size); // Enable validation to check the correctness of table size. DECLARE_Bool(enable_table_size_correctness_check); +DECLARE_mDouble(max_table_index_data_ratio); #ifdef BE_TEST // test s3 diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp index 2b31e4905628709..8b9d17cf593aafb 100644 --- a/be/src/olap/tablet.cpp +++ b/be/src/olap/tablet.cpp @@ -342,6 +342,15 @@ void Tablet::save_meta() { << ", rowset index disk size:" << rs_meta->index_disk_size() << ", rowset total disk size:" << rs_meta->total_disk_size() << "."; } + if (rs_meta->index_disk_size() > + config::max_table_index_data_ratio * rs_meta->data_disk_size()) { + LOG(FATAL) << "[Local table index size check failed]:" + << " tablet id: " << get_tablet_info().tablet_id + << ", rowset id:" << rs_meta->rowset_id() + << ", rowset data disk size:" << rs_meta->data_disk_size() + << ", rowset index disk size:" << rs_meta->index_disk_size() + << ", rowset total disk size:" << rs_meta->total_disk_size() << "."; + } } } auto res = _tablet_meta->save_meta(_data_dir);