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

dataroaring pushed a commit to branch compaction_opt
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/compaction_opt by this push:
     new 86c724a930 [bugfix](compaction) fix add rowset type check (#14267)
86c724a930 is described below

commit 86c724a930f066308bfca458598eb0cd50b05275
Author: yixiutt <102007456+yixi...@users.noreply.github.com>
AuthorDate: Tue Nov 15 14:18:19 2022 +0800

    [bugfix](compaction) fix add rowset type check (#14267)
---
 be/src/olap/rowset/beta_rowset_writer.cpp     |  1 +
 be/src/olap/rowset/rowset_factory.cpp         | 13 ++++++-------
 be/src/olap/rowset/rowset_factory.h           |  2 +-
 be/src/olap/snapshot_manager.cpp              |  2 +-
 be/src/olap/tablet.cpp                        |  7 +++----
 be/test/olap/rowid_conversion_test.cpp        |  4 ++--
 be/test/olap/rowset/beta_rowset_test.cpp      |  2 +-
 be/test/olap/segcompaction_test.cpp           |  4 ++--
 be/test/vec/olap/vertical_compaction_test.cpp | 12 ++++++------
 build-support/clang-format.sh                 |  3 +--
 gensrc/proto/olap_file.proto                  |  1 -
 11 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/be/src/olap/rowset/beta_rowset_writer.cpp 
b/be/src/olap/rowset/beta_rowset_writer.cpp
index 154d76224d..55e80007ff 100644
--- a/be/src/olap/rowset/beta_rowset_writer.cpp
+++ b/be/src/olap/rowset/beta_rowset_writer.cpp
@@ -972,6 +972,7 @@ Status 
BetaRowsetWriter::_flush_segment_writer(std::unique_ptr<segment_v2::Segme
     DCHECK_LE(min_key.compare(max_key), 0);
     key_bounds.set_min_key(min_key.to_string());
     key_bounds.set_max_key(max_key.to_string());
+    _segments_encoded_key_bounds.emplace_back(key_bounds);
 
     Statistics segstat;
     segstat.row_num = row_num;
diff --git a/be/src/olap/rowset/rowset_factory.cpp 
b/be/src/olap/rowset/rowset_factory.cpp
index 5df3acf4f9..fcbfb5fd61 100644
--- a/be/src/olap/rowset/rowset_factory.cpp
+++ b/be/src/olap/rowset/rowset_factory.cpp
@@ -32,27 +32,26 @@ Status RowsetFactory::create_rowset(TabletSchemaSPtr 
schema, const std::string&
     if (rowset_meta->rowset_type() == ALPHA_ROWSET) {
         return Status::OLAPInternalError(OLAP_ERR_ROWSET_INVALID);
     }
-    if (rowset_meta->rowset_type() == BETA_ROWSET ||
-        rowset_meta->rowset_type() == VERTICAL_BETA_ROWSET) {
+    if (rowset_meta->rowset_type() == BETA_ROWSET) {
         rowset->reset(new BetaRowset(schema, tablet_path, rowset_meta));
         return (*rowset)->init();
     }
     return Status::OLAPInternalError(OLAP_ERR_ROWSET_TYPE_NOT_FOUND); // 
should never happen
 }
 
-Status RowsetFactory::create_rowset_writer(const RowsetWriterContext& context,
+Status RowsetFactory::create_rowset_writer(const RowsetWriterContext& context, 
bool is_vertical,
                                            std::unique_ptr<RowsetWriter>* 
output) {
     if (context.rowset_type == ALPHA_ROWSET) {
         return Status::OLAPInternalError(OLAP_ERR_ROWSET_INVALID);
     }
     if (context.rowset_type == BETA_ROWSET) {
+        if (is_vertical) {
+            output->reset(new VerticalBetaRowsetWriter);
+            return (*output)->init(context);
+        }
         output->reset(new BetaRowsetWriter);
         return (*output)->init(context);
     }
-    if (context.rowset_type == VERTICAL_BETA_ROWSET) {
-        output->reset(new VerticalBetaRowsetWriter);
-        return (*output)->init(context);
-    }
     return Status::OLAPInternalError(OLAP_ERR_ROWSET_TYPE_NOT_FOUND);
 }
 
diff --git a/be/src/olap/rowset/rowset_factory.h 
b/be/src/olap/rowset/rowset_factory.h
index e216b81f52..72d2e76cf8 100644
--- a/be/src/olap/rowset/rowset_factory.h
+++ b/be/src/olap/rowset/rowset_factory.h
@@ -37,7 +37,7 @@ public:
     // create and init rowset writer.
     // return OLAP_SUCCESS and set `*output` to inited rowset writer.
     // return others if failed
-    static Status create_rowset_writer(const RowsetWriterContext& context,
+    static Status create_rowset_writer(const RowsetWriterContext& context, 
bool is_vertical,
                                        std::unique_ptr<RowsetWriter>* output);
 };
 
diff --git a/be/src/olap/snapshot_manager.cpp b/be/src/olap/snapshot_manager.cpp
index 904ef62baf..66a740feab 100644
--- a/be/src/olap/snapshot_manager.cpp
+++ b/be/src/olap/snapshot_manager.cpp
@@ -266,7 +266,7 @@ Status SnapshotManager::_rename_rowset_id(const 
RowsetMetaPB& rs_meta_pb,
     context.segments_overlap = rowset_meta->segments_overlap();
 
     std::unique_ptr<RowsetWriter> rs_writer;
-    RETURN_NOT_OK(RowsetFactory::create_rowset_writer(context, &rs_writer));
+    RETURN_NOT_OK(RowsetFactory::create_rowset_writer(context, false, 
&rs_writer));
 
     res = rs_writer->add_rowset(org_rowset);
     if (!res.ok()) {
diff --git a/be/src/olap/tablet.cpp b/be/src/olap/tablet.cpp
index 14275c9e95..d741203f1c 100644
--- a/be/src/olap/tablet.cpp
+++ b/be/src/olap/tablet.cpp
@@ -1610,8 +1610,7 @@ Status Tablet::create_vertical_rowset_writer(
     context.tablet_schema = tablet_schema;
     context.enable_unique_key_merge_on_write = 
enable_unique_key_merge_on_write();
     _init_context_common_fields(context);
-    context.rowset_type = VERTICAL_BETA_ROWSET;
-    return RowsetFactory::create_rowset_writer(context, rowset_writer);
+    return RowsetFactory::create_rowset_writer(context, true, rowset_writer);
 }
 
 Status Tablet::create_rowset_writer(const Version& version, const 
RowsetStatePB& rowset_state,
@@ -1639,7 +1638,7 @@ Status Tablet::create_rowset_writer(const Version& 
version, const RowsetStatePB&
     context.enable_unique_key_merge_on_write = 
enable_unique_key_merge_on_write();
     context.fs = fs;
     _init_context_common_fields(context);
-    return RowsetFactory::create_rowset_writer(context, rowset_writer);
+    return RowsetFactory::create_rowset_writer(context, false, rowset_writer);
 }
 
 Status Tablet::create_rowset_writer(const int64_t& txn_id, const PUniqueId& 
load_id,
@@ -1657,7 +1656,7 @@ Status Tablet::create_rowset_writer(const int64_t& 
txn_id, const PUniqueId& load
     context.tablet_schema = tablet_schema;
     context.enable_unique_key_merge_on_write = 
enable_unique_key_merge_on_write();
     _init_context_common_fields(context);
-    return RowsetFactory::create_rowset_writer(context, rowset_writer);
+    return RowsetFactory::create_rowset_writer(context, false, rowset_writer);
 }
 
 void Tablet::_init_context_common_fields(RowsetWriterContext& context) {
diff --git a/be/test/olap/rowid_conversion_test.cpp 
b/be/test/olap/rowid_conversion_test.cpp
index 01ac4a667c..a08f17f4c4 100644
--- a/be/test/olap/rowid_conversion_test.cpp
+++ b/be/test/olap/rowid_conversion_test.cpp
@@ -164,7 +164,7 @@ protected:
         create_rowset_writer_context(tablet_schema, overlap, UINT32_MAX, 
&writer_context);
 
         std::unique_ptr<RowsetWriter> rowset_writer;
-        Status s = RowsetFactory::create_rowset_writer(writer_context, 
&rowset_writer);
+        Status s = RowsetFactory::create_rowset_writer(writer_context, false, 
&rowset_writer);
         EXPECT_TRUE(s.ok());
 
         RowCursor input_row;
@@ -367,7 +367,7 @@ protected:
         RowsetWriterContext writer_context;
         create_rowset_writer_context(tablet_schema, NONOVERLAPPING, 3456, 
&writer_context);
         std::unique_ptr<RowsetWriter> output_rs_writer;
-        Status s = RowsetFactory::create_rowset_writer(writer_context, 
&output_rs_writer);
+        Status s = RowsetFactory::create_rowset_writer(writer_context, false, 
&output_rs_writer);
         EXPECT_TRUE(s.ok());
 
         // merge input rowset
diff --git a/be/test/olap/rowset/beta_rowset_test.cpp 
b/be/test/olap/rowset/beta_rowset_test.cpp
index 2df689fc04..ea8a3485fa 100644
--- a/be/test/olap/rowset/beta_rowset_test.cpp
+++ b/be/test/olap/rowset/beta_rowset_test.cpp
@@ -182,7 +182,7 @@ TEST_F(BetaRowsetTest, BasicFunctionTest) {
         create_rowset_writer_context(tablet_schema, &writer_context);
 
         std::unique_ptr<RowsetWriter> rowset_writer;
-        s = RowsetFactory::create_rowset_writer(writer_context, 
&rowset_writer);
+        s = RowsetFactory::create_rowset_writer(writer_context, false, 
&rowset_writer);
         EXPECT_EQ(Status::OK(), s);
 
         RowCursor input_row;
diff --git a/be/test/olap/segcompaction_test.cpp 
b/be/test/olap/segcompaction_test.cpp
index ca2dc28f04..fa07a514ec 100644
--- a/be/test/olap/segcompaction_test.cpp
+++ b/be/test/olap/segcompaction_test.cpp
@@ -216,7 +216,7 @@ TEST_F(SegCompactionTest, SegCompactionThenRead) {
         create_rowset_writer_context(10047, tablet_schema, &writer_context);
 
         std::unique_ptr<RowsetWriter> rowset_writer;
-        s = RowsetFactory::create_rowset_writer(writer_context, 
&rowset_writer);
+        s = RowsetFactory::create_rowset_writer(writer_context, false, 
&rowset_writer);
         EXPECT_EQ(Status::OK(), s);
 
         RowCursor input_row;
@@ -322,7 +322,7 @@ TEST_F(SegCompactionTest, 
SegCompactionInterleaveWithBig_ooooOOoOooooooooO) {
         create_rowset_writer_context(10048, tablet_schema, &writer_context);
 
         std::unique_ptr<RowsetWriter> rowset_writer;
-        s = RowsetFactory::create_rowset_writer(writer_context, 
&rowset_writer);
+        s = RowsetFactory::create_rowset_writer(writer_context, false, 
&rowset_writer);
         EXPECT_EQ(Status::OK(), s);
 
         RowCursor input_row;
diff --git a/be/test/vec/olap/vertical_compaction_test.cpp 
b/be/test/vec/olap/vertical_compaction_test.cpp
index 7061b6f471..28e605ef8f 100644
--- a/be/test/vec/olap/vertical_compaction_test.cpp
+++ b/be/test/vec/olap/vertical_compaction_test.cpp
@@ -161,7 +161,7 @@ protected:
         RowsetId rowset_id;
         rowset_id.init(inc_id);
         rowset_writer_context->rowset_id = rowset_id;
-        rowset_writer_context->rowset_type = VERTICAL_BETA_ROWSET;
+        rowset_writer_context->rowset_type = BETA_ROWSET;
         rowset_writer_context->data_dir = _data_dir.get();
         rowset_writer_context->rowset_state = VISIBLE;
         rowset_writer_context->tablet_schema = tablet_schema;
@@ -198,7 +198,7 @@ protected:
         create_rowset_writer_context(tablet_schema, overlap, UINT32_MAX, 
&writer_context);
 
         std::unique_ptr<RowsetWriter> rowset_writer;
-        Status s = RowsetFactory::create_rowset_writer(writer_context, 
&rowset_writer);
+        Status s = RowsetFactory::create_rowset_writer(writer_context, true, 
&rowset_writer);
         EXPECT_TRUE(s.ok());
 
         RowCursor input_row;
@@ -493,7 +493,7 @@ TEST_F(VerticalCompactionTest, TestDupKeyVerticalMerge) {
     RowsetWriterContext writer_context;
     create_rowset_writer_context(tablet_schema, NONOVERLAPPING, 3456, 
&writer_context);
     std::unique_ptr<RowsetWriter> output_rs_writer;
-    Status s = RowsetFactory::create_rowset_writer(writer_context, 
&output_rs_writer);
+    Status s = RowsetFactory::create_rowset_writer(writer_context, true, 
&output_rs_writer);
     EXPECT_TRUE(s.ok());
 
     // merge input rowset
@@ -601,7 +601,7 @@ TEST_F(VerticalCompactionTest, TestUniqueKeyVerticalMerge) {
     RowsetWriterContext writer_context;
     create_rowset_writer_context(tablet_schema, NONOVERLAPPING, 3456, 
&writer_context);
     std::unique_ptr<RowsetWriter> output_rs_writer;
-    Status s = RowsetFactory::create_rowset_writer(writer_context, 
&output_rs_writer);
+    Status s = RowsetFactory::create_rowset_writer(writer_context, true, 
&output_rs_writer);
     EXPECT_TRUE(s.ok());
 
     // merge input rowset
@@ -702,7 +702,7 @@ TEST_F(VerticalCompactionTest, 
TestDupKeyVerticalMergeWithDelete) {
     RowsetWriterContext writer_context;
     create_rowset_writer_context(tablet_schema, NONOVERLAPPING, 3456, 
&writer_context);
     std::unique_ptr<RowsetWriter> output_rs_writer;
-    Status s = RowsetFactory::create_rowset_writer(writer_context, 
&output_rs_writer);
+    Status s = RowsetFactory::create_rowset_writer(writer_context, true, 
&output_rs_writer);
     EXPECT_TRUE(s.ok());
 
     // merge input rowset
@@ -797,7 +797,7 @@ TEST_F(VerticalCompactionTest, TestAggKeyVerticalMerge) {
     RowsetWriterContext writer_context;
     create_rowset_writer_context(tablet_schema, NONOVERLAPPING, 3456, 
&writer_context);
     std::unique_ptr<RowsetWriter> output_rs_writer;
-    Status s = RowsetFactory::create_rowset_writer(writer_context, 
&output_rs_writer);
+    Status s = RowsetFactory::create_rowset_writer(writer_context, true, 
&output_rs_writer);
     EXPECT_TRUE(s.ok());
 
     // merge input rowset
diff --git a/build-support/clang-format.sh b/build-support/clang-format.sh
index dd04d4ba23..9dfeb25167 100755
--- a/build-support/clang-format.sh
+++ b/build-support/clang-format.sh
@@ -31,7 +31,6 @@ DORIS_HOME=$(
 )
 export DORIS_HOME
 
-#CLANG_FORMAT="${CLANG_FORMAT_BINARY:=$(which clang-format)}"
-CLANG_FORMAT="/mnt/disk1/yixiu/incubator-doris/clang-format"
+CLANG_FORMAT="${CLANG_FORMAT_BINARY:=$(which clang-format)}"
 
 python "${DORIS_HOME}/build-support/run_clang_format.py" 
"--clang-format-executable" "${CLANG_FORMAT}" "-r" "--style" "file" "--inplace" 
"true" "--extensions" "c,h,C,H,cpp,hpp,cc,hh,c++,h++,cxx,hxx" "--exclude" 
"none" "be/src be/test"
diff --git a/gensrc/proto/olap_file.proto b/gensrc/proto/olap_file.proto
index 46715ffa96..30b127fc78 100644
--- a/gensrc/proto/olap_file.proto
+++ b/gensrc/proto/olap_file.proto
@@ -34,7 +34,6 @@ message ZoneMap {
 enum RowsetTypePB {
     ALPHA_ROWSET = 0; // doris original column storage format
     BETA_ROWSET  = 1; // new column storage format
-    VERTICAL_BETA_ROWSET = 2; // vertical for compaction
 }
 
 enum RowsetStatePB {


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

Reply via email to