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

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


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

commit b8f23cbb39542cecead33fde2f2b3d7191cb6104
Author: hui lai <[email protected]>
AuthorDate: Mon Aug 19 21:22:30 2024 +0800

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

diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp 
b/be/src/olap/rowset/beta_rowset_writer.cpp
index 2b47b3aaed8..3abb05b08b0 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -759,10 +759,10 @@ Status 
BetaRowsetWriter::_create_segment_writer(std::unique_ptr<segment_v2::Segm
     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());
     } else {
         return _do_create_segment_writer(writer, false, -1, -1, flush_ctx);
     }
diff --git a/be/src/olap/rowset/beta_rowset_writer.h 
b/be/src/olap/rowset/beta_rowset_writer.h
index 063b4fa0e66..38f9eb7923d 100644
--- a/be/src/olap/rowset/beta_rowset_writer.h
+++ b/be/src/olap/rowset/beta_rowset_writer.h
@@ -187,6 +187,11 @@ protected:
     /// In other processes, such as merger or schema change, we will use this 
unified writer for data writing.
     std::unique_ptr<segment_v2::SegmentWriter> _segment_writer;
 
+    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));
+    }
+
     mutable SpinLock _lock; // protect following vectors.
     // record rows number of every segment already written, using for rowid
     // conversion when compaction in unique key with MoW model


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

Reply via email to