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

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.1 by this push:
     new 0db158386a4 [chore](rowset writer) print rowset rows number when meet 
too many segments (#39091) (#39182)
0db158386a4 is described below

commit 0db158386a42c87017e71a55959aa1ff6a36f4b9
Author: hui lai <[email protected]>
AuthorDate: Sat Aug 10 18:36:24 2024 +0800

    [chore](rowset writer) print rowset rows number when meet too many segments 
(#39091) (#39182)
    
    pick (#39091)
---
 be/src/olap/rowset/beta_rowset_writer.cpp | 8 ++++----
 be/src/olap/rowset/beta_rowset_writer.h   | 5 ++++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp 
b/be/src/olap/rowset/beta_rowset_writer.cpp
index fd09f8b0a7e..101571f0256 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -781,9 +781,9 @@ Status BaseBetaRowsetWriter::_check_segment_number_limit() {
     if (UNLIKELY(total_segment_num > config::max_segment_num_per_rowset)) {
         return Status::Error<TOO_MANY_SEGMENTS>(
                 "too many segments in rowset. tablet_id:{}, rowset_id:{}, 
max:{}, "
-                "_num_segment:{}, ",
+                "_num_segment:{}, rowset_num_rows:{}",
                 _context.tablet_id, _context.rowset_id.to_string(),
-                config::max_segment_num_per_rowset, _num_segment);
+                config::max_segment_num_per_rowset, _num_segment, 
get_rowset_num_rows());
     }
     return Status::OK();
 }
@@ -795,10 +795,10 @@ Status BetaRowsetWriter::_check_segment_number_limit() {
     if (UNLIKELY(total_segment_num > 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:{}",
+                "_segcompacted_point:{}, _num_segcompacted:{}, 
rowset_num_rows:{}",
                 _context.tablet_id, _context.rowset_id.to_string(),
                 config::max_segment_num_per_rowset, _num_segment, 
_segcompacted_point,
-                _num_segcompacted);
+                _num_segcompacted, get_rowset_num_rows());
     }
     return Status::OK();
 }
diff --git a/be/src/olap/rowset/beta_rowset_writer.h 
b/be/src/olap/rowset/beta_rowset_writer.h
index f169ce055fb..3e285c7e508 100644
--- a/be/src/olap/rowset/beta_rowset_writer.h
+++ b/be/src/olap/rowset/beta_rowset_writer.h
@@ -147,10 +147,13 @@ protected:
     virtual int64_t _num_seg() const;
     // build a tmp rowset for load segment to calc delete_bitmap for this 
segment
     Status _build_tmp(RowsetSharedPtr& rowset_ptr);
+    uint64_t get_rowset_num_rows() {
+        std::lock_guard l(_segid_statistics_map_mutex);
+        return std::accumulate(_segment_num_rows.begin(), 
_segment_num_rows.end(), uint64_t(0));
+    }
 
     RowsetWriterContext _context;
     std::shared_ptr<RowsetMeta> _rowset_meta;
-
     std::atomic<int32_t> _num_segment; // number of consecutive flushed 
segments
     roaring::Roaring _segment_set;     // bitmap set to record flushed segment 
id
     std::mutex _segment_set_mutex;     // mutex for _segment_set


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to