This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new fc21fd109ce branch-3.1: [fix](segcompaction) Fix segcompaction
coredump when adding key column #57162 (#57212)
fc21fd109ce is described below
commit fc21fd109ce363922a78e12a3a0f9f601dc4bdd2
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Tue Oct 28 15:26:06 2025 +0800
branch-3.1: [fix](segcompaction) Fix segcompaction coredump when adding key
column #57162 (#57212)
Cherry-picked from #57162
Co-authored-by: Siyang Tang <[email protected]>
---
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 89d40e2ca74..f09b0997315 100644
--- a/be/src/olap/rowset/rowset_writer_context.h
+++ b/be/src/olap/rowset/rowset_writer_context.h
@@ -111,8 +111,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 5f69051e3f6..4ff0966b44d 100644
--- a/be/src/olap/rowset_builder.cpp
+++ b/be/src/olap/rowset_builder.cpp
@@ -235,6 +235,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 18a0f241a2a..0cd37a004e8 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 2457ff11b83..49aef5e3fdb 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: [email protected]
For additional commands, e-mail: [email protected]