This is an automated email from the ASF dual-hosted git repository.

liaoxin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new b6b8e4f7f96 [Opt](load) Optimize the error messages of -235 and -238 
for loading (#41048)
b6b8e4f7f96 is described below

commit b6b8e4f7f96e5cde180809464c260f48aa91398c
Author: Xin Liao <liaoxin...@126.com>
AuthorDate: Sat Sep 28 19:33:57 2024 +0800

    [Opt](load) Optimize the error messages of -235 and -238 for loading 
(#41048)
---
 be/src/cloud/cloud_delete_task.cpp        | 6 ++++--
 be/src/cloud/cloud_rowset_builder.cpp     | 3 ++-
 be/src/olap/push_handler.cpp              | 7 +++++--
 be/src/olap/rowset/beta_rowset_writer.cpp | 6 ++++--
 be/src/olap/rowset_builder.cpp            | 6 ++++--
 5 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/be/src/cloud/cloud_delete_task.cpp 
b/be/src/cloud/cloud_delete_task.cpp
index 9c36e418d93..35c48841d38 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_VERSION>("too many versions, versions={} 
tablet={}",
-                                               config::max_tablet_version_num, 
tablet->tablet_id());
+        return Status::Error<TOO_MANY_VERSION>(
+                "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 05c7357a872..192da0f17ef 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<TOO_MANY_VERSION>(
                 "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 aef701a0545..575b002b2f6 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<TOO_MANY_VERSION>(
-                "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<TOO_MANY_VERSION>(
                 "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 1aa6b916b5f..22fff5608c7 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -925,7 +925,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>(
                 "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());
     }
@@ -938,7 +939,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>(
                 "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 9dac1f8842d..1bf00ec8895 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<TOO_MANY_VERSION>(
                 "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<TOO_MANY_VERSION>(
                 "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());
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to