From cb25a6a6058666bcdc86eacfc2d3459147310c41 Mon Sep 17 00:00:00 2001 From: hui lai Date: Mon, 22 Jun 2026 23:45:41 +0800 Subject: [PATCH] [fix](load) respect profile level for writer details (#64620) ### What problem does this PR solve? PR #64349 removed the stored RuntimeState from shared DeltaWriterV2 to fix a valid lifetime issue. However, the master change did not move the existing detailed-writer-profile gate to the VTabletWriterV2 call site. As a result, closing tablet writer v2 always passed the operator profile into DeltaWriterV2Map, and DeltaWriterV2/MemTableWriter detailed child profiles were still emitted even when profile_level was 1. Pass the profile only when profile_level is at least 2 so level 1 keeps only merged profile counters as intended. --- be/src/vec/sink/writer/vtablet_writer_v2.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/be/src/vec/sink/writer/vtablet_writer_v2.cpp b/be/src/vec/sink/writer/vtablet_writer_v2.cpp index bce52bead14ee4..c6cabed828b97f 100644 --- a/be/src/vec/sink/writer/vtablet_writer_v2.cpp +++ b/be/src/vec/sink/writer/vtablet_writer_v2.cpp @@ -677,7 +677,10 @@ Status VTabletWriterV2::close(Status exec_status) { std::unordered_map segments_for_tablet; SCOPED_TIMER(_close_writer_timer); // close all delta writers if this is the last user - auto st = _delta_writer_for_tablet->close(segments_for_tablet, _operator_profile); + RuntimeProfile* delta_writer_profile = + (_state->enable_profile() && _state->profile_level() >= 2) ? _operator_profile + : nullptr; + auto st = _delta_writer_for_tablet->close(segments_for_tablet, delta_writer_profile); _delta_writer_for_tablet.reset(); if (!st.ok()) { _cancel(st);