Skip to content

Commit

Permalink
[chore](rowset writer) print rowset rows number when meet too many se…
Browse files Browse the repository at this point in the history
…gments (#39091) (#39530)

pick (#39091)
  • Loading branch information
sollhui authored Aug 19, 2024
1 parent a472ed3 commit b8f23cb
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
4 changes: 2 additions & 2 deletions be/src/olap/rowset/beta_rowset_writer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
Expand Down
5 changes: 5 additions & 0 deletions be/src/olap/rowset/beta_rowset_writer.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,11 @@ class BetaRowsetWriter : public RowsetWriter {
/// 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
Expand Down

0 comments on commit b8f23cb

Please sign in to comment.