This is an automated email from the ASF dual-hosted git repository.

eldenmoon pushed a commit to branch variant-sparse
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/variant-sparse by this push:
     new c8779cbed27 fix cloud record schema (#49715)
c8779cbed27 is described below

commit c8779cbed2749d14514e7eff6497079c574151c6
Author: lihangyu <lihan...@selectdb.com>
AuthorDate: Mon Mar 31 21:59:39 2025 +0800

    fix cloud record schema (#49715)
---
 be/src/cloud/cloud_rowset_writer.cpp            | 5 ++++-
 be/src/olap/rowset/segment_v2/column_reader.cpp | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/be/src/cloud/cloud_rowset_writer.cpp 
b/be/src/cloud/cloud_rowset_writer.cpp
index 343ccc23b27..368db847934 100644
--- a/be/src/cloud/cloud_rowset_writer.cpp
+++ b/be/src/cloud/cloud_rowset_writer.cpp
@@ -106,7 +106,10 @@ Status CloudRowsetWriter::build(RowsetSharedPtr& rowset) {
     // update rowset meta tablet schema if tablet schema updated
     auto rowset_schema = _context.merged_tablet_schema != nullptr ? 
_context.merged_tablet_schema
                                                                   : 
_context.tablet_schema;
-    _rowset_meta->set_tablet_schema(rowset_schema);
+    auto schema = rowset_schema->need_record_variant_extended_schema()
+                          ? rowset_schema
+                          : 
rowset_schema->copy_without_variant_extracted_columns();
+    _rowset_meta->set_tablet_schema(schema);
 
     if (_rowset_meta->newest_write_timestamp() == -1) {
         _rowset_meta->set_newest_write_timestamp(UnixSeconds());
diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp 
b/be/src/olap/rowset/segment_v2/column_reader.cpp
index 881e4edaefa..a38871155ce 100644
--- a/be/src/olap/rowset/segment_v2/column_reader.cpp
+++ b/be/src/olap/rowset/segment_v2/column_reader.cpp
@@ -532,7 +532,7 @@ Status VariantColumnReader::init(const ColumnReaderOptions& 
opts, const SegmentF
 
         // init sparse column
         if (path.copy_pop_front().get_path() == SPARSE_COLUMN_PATH) {
-            DCHECK(column_pb.has_variant_statistics());
+            DCHECK(column_pb.has_variant_statistics()) << 
column_pb.DebugString();
             const auto& variant_stats = column_pb.variant_statistics();
             for (const auto& [path, size] : 
variant_stats.sparse_column_non_null_size()) {
                 _statistics->sparse_column_non_null_size.emplace(path, size);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to