From d758103a84a1268d74dfcbd1e0beb0ad6d29d5f1 Mon Sep 17 00:00:00 2001 From: HonestManXin Date: Fri, 5 Dec 2025 16:35:00 +0800 Subject: [PATCH] [fix](cloud compaction) horizontal compaction coredump due to tablet shard_ptr not initialized (#58751) ``` #0 0x000055f11470ff29 in std::__shared_ptr::get (this=0x148) at /home/work/env/ldb_toolchain_master/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1673 #1 std::__shared_ptr_access::_M_get (this=0x148) at /home/work/env/ldb_toolchain_master/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1370 #2 std::__shared_ptr_access::operator-> (this=0x148) at /home/work/env/ldb_toolchain_master/bin/../lib/gcc/x86_64-pc-linux-gnu/15/include/g++-v15/bits/shared_ptr_base.h:1364 #3 doris::BaseTablet::tablet_id (this=0x0) at /home/work/doris/be/src/olap/base_tablet.h:73 #4 doris::segment_v2::SegmentWriter::finalize (this=0x7fa160bde000, segment_file_size=0x7fa564dcc668, index_size=0x7fa564dcc5b8) at /home/work/doris/be/src/olap/rowset/segment_v2/segment_writer.cpp:1044 #5 0x000055f11442578c in doris::SegmentFlusher::_flush_segment_writer (this=0x7fa160b8a420, writer=..., flush_size=flush_size@entry=0x0) at /home/work/doris/be/src/olap/rowset/segment_creator.cpp:304 #6 0x000055f114426c4e in doris::SegmentFlusher::Writer::flush (this=) at /home/work/doris/be/src/olap/rowset/segment_creator.cpp:376 #7 doris::SegmentCreator::flush (this=0x7fa160b8a418) at /home/work/doris/be/src/olap/rowset/segment_creator.cpp:422 #8 0x000055f1143d4785 in doris::BaseBetaRowsetWriter::flush (this=) at /home/work/doris/be/src/olap/rowset/beta_rowset_writer.cpp:723 #9 0x000055f11436bf47 in doris::Merger::vmerge_rowsets (tablet=..., reader_type=, cur_tablet_schema=..., src_rowset_readers=..., dst_rowset_writer=0x7fa160b8a000, stats_output=0x7fa1df108298) at /home/work/doris/be/src/olap/merger.cpp:159 #10 0x000055f114345595 in doris::Compaction::merge_input_rowsets (this=this@entry=0x7fa1df108210) at /home/work/doris/be/src/olap/compaction.cpp:220 #11 0x000055f1143550d2 in doris::CloudCompactionMixin::execute_compact_impl (this=this@entry=0x7fa1df108210, permits=permits@entry=6) at /home/work/doris/be/src/olap/compaction.cpp:1491 #12 0x000055f114342bc1 in doris::CloudCompactionMixin::execute_compact (this=0x7fa1df108210) at /home/work/doris/be/src/olap/compaction.cpp:1620 #13 0x000055f11a22c6d8 in doris::CloudCumulativeCompaction::execute_compact (this=0x7fa1df108210) at /home/work/doris/be/src/cloud/cloud_cumulative_compaction.cpp:203 ``` --- be/src/olap/compaction.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index e3fb3b09d150b4..543fad1f3dd61d 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -1624,6 +1624,7 @@ Status CloudCompactionMixin::construct_output_rowset_writer(RowsetWriterContext& ctx.write_file_cache = should_cache_compaction_output(); ctx.file_cache_ttl_sec = _tablet->ttl_seconds(); ctx.approximate_bytes_to_write = _input_rowsets_total_size; + ctx.tablet = _tablet; _output_rs_writer = DORIS_TRY(_tablet->create_rowset_writer(ctx, _is_vertical)); RETURN_IF_ERROR(