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