You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/10/05 04:13:32 UTC
[doris] branch master updated: [fix](BE) fix the stream load error when upgrade BE from 1.1.2 to master (#13058)
This is an automated email from the ASF dual-hosted git repository.
yiguolei 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 7b75c2df54 [fix](BE) fix the stream load error when upgrade BE from 1.1.2 to master (#13058)
7b75c2df54 is described below
commit 7b75c2df54323e8c280af3ce3d91a094ebb5c62d
Author: Lightman <31...@users.noreply.github.com>
AuthorDate: Wed Oct 5 12:13:26 2022 +0800
[fix](BE) fix the stream load error when upgrade BE from 1.1.2 to master (#13058)
---
be/src/exec/olap_scanner.cpp | 3 ++-
be/src/exec/tablet_info.cpp | 10 ++++++----
be/src/vec/exec/scan/new_olap_scanner.cpp | 2 +-
be/src/vec/exec/volap_scanner.cpp | 3 ++-
.../src/main/java/org/apache/doris/planner/OlapScanNode.java | 4 ++--
.../src/main/java/org/apache/doris/planner/OlapTableSink.java | 3 ++-
gensrc/thrift/Descriptors.thrift | 2 +-
gensrc/thrift/PlanNodes.thrift | 2 +-
8 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/be/src/exec/olap_scanner.cpp b/be/src/exec/olap_scanner.cpp
index 8ff6db2ab6..75a45b9a46 100644
--- a/be/src/exec/olap_scanner.cpp
+++ b/be/src/exec/olap_scanner.cpp
@@ -81,7 +81,8 @@ Status OlapScanner::prepare(
return Status::InternalError(ss.str());
}
_tablet_schema->copy_from(*_tablet->tablet_schema());
- if (!_parent->_olap_scan_node.columns_desc.empty() &&
+ if (_parent->_olap_scan_node.__isset.columns_desc &&
+ !_parent->_olap_scan_node.columns_desc.empty() &&
_parent->_olap_scan_node.columns_desc[0].col_unique_id >= 0) {
_tablet_schema->clear_columns();
for (const auto& column_desc : _parent->_olap_scan_node.columns_desc) {
diff --git a/be/src/exec/tablet_info.cpp b/be/src/exec/tablet_info.cpp
index 08e77d9565..62926e5fa9 100644
--- a/be/src/exec/tablet_info.cpp
+++ b/be/src/exec/tablet_info.cpp
@@ -98,10 +98,12 @@ Status OlapTableSchemaParam::init(const TOlapTableSchemaParam& tschema) {
}
index->slots.emplace_back(it->second);
}
- for (auto& tcolumn_desc : t_index.columns_desc) {
- TabletColumn* tc = _obj_pool.add(new TabletColumn());
- tc->init_from_thrift(tcolumn_desc);
- index->columns.emplace_back(tc);
+ if (t_index.__isset.columns_desc) {
+ for (auto& tcolumn_desc : t_index.columns_desc) {
+ TabletColumn* tc = _obj_pool.add(new TabletColumn());
+ tc->init_from_thrift(tcolumn_desc);
+ index->columns.emplace_back(tc);
+ }
}
_indexes.emplace_back(index);
}
diff --git a/be/src/vec/exec/scan/new_olap_scanner.cpp b/be/src/vec/exec/scan/new_olap_scanner.cpp
index 5d88345cf5..d6fe854e63 100644
--- a/be/src/vec/exec/scan/new_olap_scanner.cpp
+++ b/be/src/vec/exec/scan/new_olap_scanner.cpp
@@ -67,7 +67,7 @@ Status NewOlapScanner::prepare(
_tablet_schema->copy_from(*_tablet->tablet_schema());
TOlapScanNode& olap_scan_node = ((NewOlapScanNode*)_parent)->_olap_scan_node;
- if (!olap_scan_node.columns_desc.empty() &&
+ if (olap_scan_node.__isset.columns_desc && !olap_scan_node.columns_desc.empty() &&
olap_scan_node.columns_desc[0].col_unique_id >= 0) {
// Originally scanner get TabletSchema from tablet object in BE.
// To support lightweight schema change for adding / dropping columns,
diff --git a/be/src/vec/exec/volap_scanner.cpp b/be/src/vec/exec/volap_scanner.cpp
index 9258d48611..fc082a6313 100644
--- a/be/src/vec/exec/volap_scanner.cpp
+++ b/be/src/vec/exec/volap_scanner.cpp
@@ -71,7 +71,8 @@ Status VOlapScanner::prepare(
return Status::InternalError(ss.str());
}
_tablet_schema->copy_from(*_tablet->tablet_schema());
- if (!_parent->_olap_scan_node.columns_desc.empty() &&
+ if (_parent->_olap_scan_node.__isset.columns_desc &&
+ !_parent->_olap_scan_node.columns_desc.empty() &&
_parent->_olap_scan_node.columns_desc[0].col_unique_id >= 0) {
// Originally scanner get TabletSchema from tablet object in BE.
// To support lightweight schema change for adding / dropping columns,
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java
index 290e934361..e813bf03e2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapScanNode.java
@@ -913,8 +913,8 @@ public class OlapScanNode extends ScanNode {
}
msg.node_type = TPlanNodeType.OLAP_SCAN_NODE;
- msg.olap_scan_node = new TOlapScanNode(desc.getId().asInt(), keyColumnNames, keyColumnTypes, isPreAggregation,
- columnsDesc);
+ msg.olap_scan_node = new TOlapScanNode(desc.getId().asInt(), keyColumnNames, keyColumnTypes, isPreAggregation);
+ msg.olap_scan_node.setColumnsDesc(columnsDesc);
if (null != sortColumn) {
msg.olap_scan_node.setSortColumn(sortColumn);
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
index 9172d618fe..ef470cf711 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
@@ -215,7 +215,8 @@ public class OlapTableSink extends DataSink {
columnsDesc.add(tColumn);
}
TOlapTableIndexSchema indexSchema = new TOlapTableIndexSchema(pair.getKey(), columns,
- indexMeta.getSchemaHash(), columnsDesc);
+ indexMeta.getSchemaHash());
+ indexSchema.setColumnsDesc(columnsDesc);
schemaParam.addToIndexes(indexSchema);
}
return schemaParam;
diff --git a/gensrc/thrift/Descriptors.thrift b/gensrc/thrift/Descriptors.thrift
index ff365db7c4..f9517e2bfa 100644
--- a/gensrc/thrift/Descriptors.thrift
+++ b/gensrc/thrift/Descriptors.thrift
@@ -175,7 +175,7 @@ struct TOlapTableIndexSchema {
1: required i64 id
2: required list<string> columns
3: required i32 schema_hash
- 4: required list<TColumn> columns_desc
+ 4: optional list<TColumn> columns_desc
}
struct TOlapTableSchemaParam {
diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift
index 0a4529572b..fe81af746b 100644
--- a/gensrc/thrift/PlanNodes.thrift
+++ b/gensrc/thrift/PlanNodes.thrift
@@ -479,7 +479,7 @@ struct TOlapScanNode {
5: optional string sort_column
6: optional Types.TKeysType keyType
7: optional string table_name
- 8: required list<Descriptors.TColumn> columns_desc
+ 8: optional list<Descriptors.TColumn> columns_desc
9: optional TSortInfo sort_info
// When scan match sort_info, we can push limit into OlapScanNode.
// It's limit for scanner instead of scanNode so we add a new limit.
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org