[enhancement](partial-update) print more log while missed some rowsets (#33711)

This commit is contained in:
zhannngchen
2024-04-18 20:40:06 +08:00
committed by yiguolei
parent 5abc84af71
commit 56eb5ea00c
2 changed files with 16 additions and 14 deletions

View File

@ -455,19 +455,20 @@ Status SegmentWriter::append_block_with_partial_content(const vectorized::Block*
!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update;
specified_rowsets =
tablet->get_rowset_by_ids(&_mow_context->rowset_ids, should_include_stale);
if (_opts.rowset_ctx->partial_update_info->is_strict_mode &&
specified_rowsets.size() != _mow_context->rowset_ids.size()) {
if (specified_rowsets.size() != _mow_context->rowset_ids.size()) {
// Only when this is a strict mode partial update that missing rowsets here will lead to problems.
// In other case, the missing rowsets will be calculated in later phases(commit phase/publish phase)
LOG(WARNING) << fmt::format(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction(specified_rowsets.size()={}, but rowset_ids.size()={}) in strict "
"mode partial update. tablet_id: {}, cur max_version: {}, transaction_id: {}",
"compaction(specified_rowsets.size()={}, but rowset_ids.size()={}) in "
"partial update. tablet_id: {}, cur max_version: {}, transaction_id: {}",
specified_rowsets.size(), _mow_context->rowset_ids.size(), _tablet->tablet_id(),
_mow_context->max_version, _mow_context->txn_id);
return Status::InternalError<false>(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction in strict mode partial update");
if (_opts.rowset_ctx->partial_update_info->is_strict_mode) {
return Status::InternalError<false>(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction in strict mode partial update");
}
}
}
std::vector<std::unique_ptr<SegmentCacheHandle>> segment_caches(specified_rowsets.size());

View File

@ -387,19 +387,20 @@ Status VerticalSegmentWriter::_append_block_with_partial_content(RowsInBlock& da
!_opts.rowset_ctx->partial_update_info->can_insert_new_rows_in_partial_update;
specified_rowsets =
tablet->get_rowset_by_ids(&_mow_context->rowset_ids, should_include_stale);
if (_opts.rowset_ctx->partial_update_info->is_strict_mode &&
specified_rowsets.size() != _mow_context->rowset_ids.size()) {
if (specified_rowsets.size() != _mow_context->rowset_ids.size()) {
// Only when this is a strict mode partial update that missing rowsets here will lead to problems.
// In other case, the missing rowsets will be calculated in later phases(commit phase/publish phase)
LOG(WARNING) << fmt::format(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction(specified_rowsets.size()={}, but rowset_ids.size()={}) in strict "
"mode partial update. tablet_id: {}, cur max_version: {}, transaction_id: {}",
"compaction(specified_rowsets.size()={}, but rowset_ids.size()={}) in "
"partial update. tablet_id: {}, cur max_version: {}, transaction_id: {}",
specified_rowsets.size(), _mow_context->rowset_ids.size(), _tablet->tablet_id(),
_mow_context->max_version, _mow_context->txn_id);
return Status::InternalError<false>(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction in strict mode partial update");
if (_opts.rowset_ctx->partial_update_info->is_strict_mode) {
return Status::InternalError<false>(
"[Memtable Flush] some rowsets have been deleted due to "
"compaction in strict mode partial update");
}
}
}
std::vector<std::unique_ptr<SegmentCacheHandle>> segment_caches(specified_rowsets.size());