diff --git a/be/src/cloud/cloud_delete_task.cpp b/be/src/cloud/cloud_delete_task.cpp index 9c36e418d93bd6..35c48841d38c53 100644 --- a/be/src/cloud/cloud_delete_task.cpp +++ b/be/src/cloud/cloud_delete_task.cpp @@ -52,8 +52,10 @@ Status CloudDeleteTask::execute(CloudStorageEngine& engine, const TPushReq& requ LOG_WARNING("tablet exceeds max version num limit") .tag("limit", config::max_tablet_version_num) .tag("tablet_id", tablet->tablet_id()); - return Status::Error("too many versions, versions={} tablet={}", - config::max_tablet_version_num, tablet->tablet_id()); + return Status::Error( + "too many versions, versions={} tablet={}. Please reduce the frequency of loading " + "data or adjust the max_tablet_version_num in be.conf to a larger value.", + config::max_tablet_version_num, tablet->tablet_id()); } // check delete condition if push for delete diff --git a/be/src/cloud/cloud_rowset_builder.cpp b/be/src/cloud/cloud_rowset_builder.cpp index 05c7357a872d85..192da0f17efa82 100644 --- a/be/src/cloud/cloud_rowset_builder.cpp +++ b/be/src/cloud/cloud_rowset_builder.cpp @@ -92,7 +92,8 @@ Status CloudRowsetBuilder::check_tablet_version_count() { if (version_count > config::max_tablet_version_num) { return Status::Error( "failed to init rowset builder. version count: {}, exceed limit: {}, " - "tablet: {}", + "tablet: {}. Please reduce the frequency of loading data or adjust the " + "max_tablet_version_num in be.conf to a larger value.", version_count, config::max_tablet_version_num, _tablet->tablet_id()); } return Status::OK(); diff --git a/be/src/olap/push_handler.cpp b/be/src/olap/push_handler.cpp index aef701a0545ac9..575b002b2f6086 100644 --- a/be/src/olap/push_handler.cpp +++ b/be/src/olap/push_handler.cpp @@ -163,7 +163,9 @@ Status PushHandler::_do_streaming_ingestion(TabletSharedPtr tablet, const TPushR // check if version number exceed limit if (tablet->exceed_version_limit(config::max_tablet_version_num)) { return Status::Status::Error( - "failed to push data. version count: {}, exceed limit: {}, tablet: {}", + "failed to push data. version count: {}, exceed limit: {}, tablet: {}. Please " + "reduce the frequency of loading data or adjust the max_tablet_version_num in " + "be.conf to a larger value.", tablet->version_count(), config::max_tablet_version_num, tablet->tablet_id()); } @@ -172,7 +174,8 @@ Status PushHandler::_do_streaming_ingestion(TabletSharedPtr tablet, const TPushR config::tablet_meta_serialize_size_limit) { return Status::Error( "failed to init rowset builder. meta serialize size : {}, exceed limit: {}, " - "tablet: {}", + "tablet: {}. Please reduce the frequency of loading data or adjust the " + "max_tablet_version_num in be.conf to a larger value.", tablet->avg_rs_meta_serialize_size() * version_count, config::tablet_meta_serialize_size_limit, tablet->tablet_id()); } diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp b/be/src/olap/rowset/beta_rowset_writer.cpp index c469d291f871fa..8b726b99c3bcca 100644 --- a/be/src/olap/rowset/beta_rowset_writer.cpp +++ b/be/src/olap/rowset/beta_rowset_writer.cpp @@ -917,7 +917,8 @@ Status BaseBetaRowsetWriter::_check_segment_number_limit(size_t segnum) { if (UNLIKELY(segnum > config::max_segment_num_per_rowset)) { return Status::Error( "too many segments in rowset. tablet_id:{}, rowset_id:{}, max:{}, " - "_num_segment:{}, rowset_num_rows:{}", + "_num_segment:{}, rowset_num_rows:{}. Please check if the bucket number is too " + "small or if the data is skewed.", _context.tablet_id, _context.rowset_id.to_string(), config::max_segment_num_per_rowset, _num_segment, get_rowset_num_rows()); } @@ -930,7 +931,8 @@ Status BetaRowsetWriter::_check_segment_number_limit(size_t segnum) { if (UNLIKELY(segnum > config::max_segment_num_per_rowset)) { return Status::Error( "too many segments in rowset. tablet_id:{}, rowset_id:{}, max:{}, _num_segment:{}, " - "_segcompacted_point:{}, _num_segcompacted:{}, rowset_num_rows:{}", + "_segcompacted_point:{}, _num_segcompacted:{}, rowset_num_rows:{}. Please check if " + "the bucket number is too small or if the data is skewed.", _context.tablet_id, _context.rowset_id.to_string(), config::max_segment_num_per_rowset, _num_segment, _segcompacted_point, _num_segcompacted, get_rowset_num_rows()); diff --git a/be/src/olap/rowset_builder.cpp b/be/src/olap/rowset_builder.cpp index 9dac1f8842d345..1bf00ec889550f 100644 --- a/be/src/olap/rowset_builder.cpp +++ b/be/src/olap/rowset_builder.cpp @@ -165,7 +165,8 @@ Status RowsetBuilder::check_tablet_version_count() { if (version_count > config::max_tablet_version_num) { return Status::Error( "failed to init rowset builder. version count: {}, exceed limit: {}, " - "tablet: {}", + "tablet: {}. Please reduce the frequency of loading data or adjust the " + "max_tablet_version_num in be.conf to a larger value.", version_count, config::max_tablet_version_num, _tablet->tablet_id()); } return Status::OK(); @@ -200,7 +201,8 @@ Status RowsetBuilder::init() { config::tablet_meta_serialize_size_limit) { return Status::Error( "failed to init rowset builder. meta serialize size : {}, exceed limit: {}, " - "tablet: {}", + "tablet: {}. Please reduce the frequency of loading data or adjust the " + "max_tablet_version_num in be.conf to a larger value.", tablet()->avg_rs_meta_serialize_size() * version_count, config::tablet_meta_serialize_size_limit, _tablet->tablet_id()); }