Skip to content

Commit 8ca3aa8

Browse files
authored
[bugfix](compaction) fix segment writer finalize footer twice (#16145)
1 parent da28d2f commit 8ca3aa8

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

be/src/olap/rowset/segment_v2/segment_writer.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,11 @@ Status SegmentWriter::finalize_footer(uint64_t* segment_file_size) {
439439
return Status::OK();
440440
}
441441

442+
Status SegmentWriter::finalize_footer() {
443+
RETURN_IF_ERROR(_write_footer());
444+
return Status::OK();
445+
}
446+
442447
Status SegmentWriter::finalize(uint64_t* segment_file_size, uint64_t* index_size) {
443448
// check disk capacity
444449
if (_data_dir != nullptr && _data_dir->reach_capacity_limit((int64_t)estimate_segment_size())) {
@@ -449,7 +454,7 @@ Status SegmentWriter::finalize(uint64_t* segment_file_size, uint64_t* index_size
449454
// write index
450455
RETURN_IF_ERROR(finalize_columns_index(index_size));
451456
// write footer
452-
RETURN_IF_ERROR(finalize_footer(segment_file_size));
457+
RETURN_IF_ERROR(finalize_footer());
453458
// finish
454459
RETURN_IF_ERROR(_file_writer->finalize());
455460
*segment_file_size = _file_writer->bytes_appended();

be/src/olap/rowset/segment_v2/segment_writer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class SegmentWriter {
9494
Status finalize_columns_data();
9595
Status finalize_columns_index(uint64_t* index_size);
9696
Status finalize_footer(uint64_t* segment_file_size);
97+
Status finalize_footer();
9798

9899
static void init_column_meta(ColumnMetaPB* meta, uint32_t column_id, const TabletColumn& column,
99100
TabletSchemaSPtr tablet_schema);

0 commit comments

Comments
 (0)