You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by da...@apache.org on 2025/10/22 02:15:53 UTC
(doris) branch master updated: [fix](segcompaction) Fix segcompaction coredump when adding key column (#57162)
This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 3f87ec38d43 [fix](segcompaction) Fix segcompaction coredump when adding key column (#57162)
3f87ec38d43 is described below
commit 3f87ec38d43ed91a55c5c0a4519d282d6d3cfcdc
Author: Siyang Tang <ta...@selectdb.com>
AuthorDate: Wed Oct 22 10:15:46 2025 +0800
[fix](segcompaction) Fix segcompaction coredump when adding key column (#57162)
Issue Number: close #56431
Only check segment compaction when importing data.
---
be/src/olap/rowset/rowset_writer_context.h | 4 ++--
be/src/olap/rowset_builder.cpp | 1 +
be/test/olap/segcompaction_mow_test.cpp | 1 +
be/test/olap/segcompaction_test.cpp | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/be/src/olap/rowset/rowset_writer_context.h b/be/src/olap/rowset/rowset_writer_context.h
index ebc6be93d48..b61f52d9632 100644
--- a/be/src/olap/rowset/rowset_writer_context.h
+++ b/be/src/olap/rowset/rowset_writer_context.h
@@ -107,8 +107,8 @@ struct RowsetWriterContext {
uint64_t approximate_bytes_to_write = 0;
/// end file cache opts
- // segcompaction for this RowsetWriter, disable it for some transient writers
- bool enable_segcompaction = true;
+ // segcompaction for this RowsetWriter, only enabled when importing data
+ bool enable_segcompaction = false;
std::shared_ptr<PartialUpdateInfo> partial_update_info;
diff --git a/be/src/olap/rowset_builder.cpp b/be/src/olap/rowset_builder.cpp
index 070732f4a60..474ecabc532 100644
--- a/be/src/olap/rowset_builder.cpp
+++ b/be/src/olap/rowset_builder.cpp
@@ -223,6 +223,7 @@ Status RowsetBuilder::init() {
context.tablet_id = _req.tablet_id;
context.index_id = _req.index_id;
context.tablet = _tablet;
+ context.enable_segcompaction = true;
context.write_type = DataWriteType::TYPE_DIRECT;
context.mow_context = mow_context;
context.write_file_cache = _req.write_file_cache;
diff --git a/be/test/olap/segcompaction_mow_test.cpp b/be/test/olap/segcompaction_mow_test.cpp
index 2a4302b6269..a7e3c9fd706 100644
--- a/be/test/olap/segcompaction_mow_test.cpp
+++ b/be/test/olap/segcompaction_mow_test.cpp
@@ -213,6 +213,7 @@ protected:
auto tablet = std::make_shared<Tablet>(*s_engine, tablet_meta, _data_dir.get(), "test_str");
// tablet->key
rowset_writer_context->tablet = tablet;
+ rowset_writer_context->enable_segcompaction = true;
}
void create_and_init_rowset_reader(Rowset* rowset, RowsetReaderContext& context,
diff --git a/be/test/olap/segcompaction_test.cpp b/be/test/olap/segcompaction_test.cpp
index 065d2119060..698d3645be6 100644
--- a/be/test/olap/segcompaction_test.cpp
+++ b/be/test/olap/segcompaction_test.cpp
@@ -262,6 +262,7 @@ protected:
auto tablet = std::make_shared<Tablet>(*l_engine, tablet_meta, _data_dir.get(), "test_str");
// tablet->key
rowset_writer_context->tablet = tablet;
+ rowset_writer_context->enable_segcompaction = true;
}
void create_and_init_rowset_reader(Rowset* rowset, RowsetReaderContext& context,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org