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 503a79e4d8 [Bugfix](load) fix be may core dump when load column 
mapping has function (#12509)
503a79e4d8 is described below

commit 503a79e4d824c2846b5b8957c4331ba2d4d2f3e5
Author: Zhengguo Yang <yangz...@gmail.com>
AuthorDate: Tue Sep 13 08:44:10 2022 +0800

    [Bugfix](load) fix be may core dump when load column mapping has function 
(#12509)
    
    fix be may core dump when load column mapping has function
    this bug may be introduced by #12375
---
 .../doris/load/loadv2/LoadingTaskPlanner.java      | 36 ++++++++++++----------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadingTaskPlanner.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadingTaskPlanner.java
index 3796040f21..dedd436a78 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadingTaskPlanner.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadingTaskPlanner.java
@@ -109,29 +109,33 @@ public class LoadingTaskPlanner {
             throws UserException {
         // Generate tuple descriptor
         TupleDescriptor destTupleDesc = descTable.createTupleDescriptor();
-        TupleDescriptor scanTupleDesc = 
descTable.createTupleDescriptor("ScanTuple");
+        TupleDescriptor scanTupleDesc = destTupleDesc;
+        if (Config.enable_vectorized_load) {
+            scanTupleDesc = descTable.createTupleDescriptor("ScanTuple");
+        }
         // use full schema to fill the descriptor table
         for (Column col : table.getFullSchema()) {
             SlotDescriptor slotDesc = 
descTable.addSlotDescriptor(destTupleDesc);
             slotDesc.setIsMaterialized(true);
             slotDesc.setColumn(col);
             slotDesc.setIsNullable(col.isAllowNull());
-
-            SlotDescriptor scanSlotDesc = 
descTable.addSlotDescriptor(scanTupleDesc);
-            scanSlotDesc.setIsMaterialized(true);
-            scanSlotDesc.setColumn(col);
-            scanSlotDesc.setIsNullable(col.isAllowNull());
-            if (fileGroups.size() > 0) {
-                for (ImportColumnDesc importColumnDesc : 
fileGroups.get(0).getColumnExprList()) {
-                    try {
-                        if (!importColumnDesc.isColumn() && 
importColumnDesc.getColumnName() != null
-                                && 
importColumnDesc.getColumnName().equals(col.getName())) {
-                            
scanSlotDesc.setIsNullable(importColumnDesc.getExpr().isNullable());
-                            break;
+            if (Config.enable_vectorized_load) {
+                SlotDescriptor scanSlotDesc = 
descTable.addSlotDescriptor(scanTupleDesc);
+                scanSlotDesc.setIsMaterialized(true);
+                scanSlotDesc.setColumn(col);
+                scanSlotDesc.setIsNullable(col.isAllowNull());
+                if (fileGroups.size() > 0) {
+                    for (ImportColumnDesc importColumnDesc : 
fileGroups.get(0).getColumnExprList()) {
+                        try {
+                            if (!importColumnDesc.isColumn() && 
importColumnDesc.getColumnName() != null
+                                    && 
importColumnDesc.getColumnName().equals(col.getName())) {
+                                
scanSlotDesc.setIsNullable(importColumnDesc.getExpr().isNullable());
+                                break;
+                            }
+                        } catch (Exception e) {
+                            // An exception may be thrown here because the 
`importColumnDesc.getExpr()` is not analyzed
+                            // now. We just skip this case here.
                         }
-                    } catch (Exception e) {
-                        // An exception may be thrown here because the 
`importColumnDesc.getExpr()` is not analyzed
-                        // now. We just skip this case here.
                     }
                 }
             }


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

Reply via email to