diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp b/be/src/olap/rowset/beta_rowset_writer.cpp index fbaaf8b57400db..2daccc84c592bd 100644 --- a/be/src/olap/rowset/beta_rowset_writer.cpp +++ b/be/src/olap/rowset/beta_rowset_writer.cpp @@ -280,6 +280,9 @@ BaseBetaRowsetWriter::~BaseBetaRowsetWriter() { fmt::format("Failed to delete file={}", seg_path)); } } + if (_calc_delete_bitmap_token) { + _calc_delete_bitmap_token->cancel(); + } } BetaRowsetWriter::~BetaRowsetWriter() { @@ -288,10 +291,6 @@ BetaRowsetWriter::~BetaRowsetWriter() { * is cancelled, the objects involved in the job should be preserved during segcompaction to * avoid crashs for memory issues. */ WARN_IF_ERROR(_wait_flying_segcompaction(), "segment compaction failed"); - - if (_calc_delete_bitmap_token != nullptr) { - _calc_delete_bitmap_token->cancel(); - } } Status BaseBetaRowsetWriter::init(const RowsetWriterContext& rowset_writer_context) {