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

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


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new ea6e7784b61 branch-3.0: [fix](hudi) check requiredFields exists in 
splitHudiColumnNames in HudiJniScanner #51430 (#51503)
ea6e7784b61 is described below

commit ea6e7784b618ab33b7913f7da7cebe8c33b3c62c
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jun 12 10:14:57 2025 +0800

    branch-3.0: [fix](hudi) check requiredFields exists in splitHudiColumnNames 
in HudiJniScanner #51430 (#51503)
    
    Cherry-picked from #51430
    
    Co-authored-by: Socrates <[email protected]>
---
 .../java/org/apache/doris/hudi/HadoopHudiJniScanner.java  | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git 
a/fe/be-java-extensions/hadoop-hudi-scanner/src/main/java/org/apache/doris/hudi/HadoopHudiJniScanner.java
 
b/fe/be-java-extensions/hadoop-hudi-scanner/src/main/java/org/apache/doris/hudi/HadoopHudiJniScanner.java
index f163be11aa2..be7e31a115e 100644
--- 
a/fe/be-java-extensions/hadoop-hudi-scanner/src/main/java/org/apache/doris/hudi/HadoopHudiJniScanner.java
+++ 
b/fe/be-java-extensions/hadoop-hudi-scanner/src/main/java/org/apache/doris/hudi/HadoopHudiJniScanner.java
@@ -170,9 +170,6 @@ public class HadoopHudiJniScanner extends JniScanner {
                     for (int i = 0; i < fields.length; i++) {
                         Object fieldData = 
rowInspector.getStructFieldData(rowData, structFields[i]);
                         columnValue.setRow(fieldData);
-                        // LOG.info("rows: {}, column: {}, col name: {}, col 
type: {}, inspector: {}",
-                        //        numRows, i, types[i].getName(), 
types[i].getType().name(),
-                        //        fieldInspectors[i].getTypeName());
                         columnValue.setField(types[i], fieldInspectors[i]);
                         appendData(i, columnValue);
                     }
@@ -211,9 +208,15 @@ public class HadoopHudiJniScanner extends JniScanner {
                         .boxed()
                         .collect(Collectors.toMap(i -> 
splitHudiColumnNames[i], i -> hudiColumnTypes[i]));
 
-        requiredTypes = Arrays.stream(requiredFields)
-                .map(field -> ColumnType.parseType(field, 
hudiColNameToType.get(field)))
-                .toArray(ColumnType[]::new);
+        requiredTypes = new ColumnType[requiredFields.length];
+        for (int i = 0; i < requiredFields.length; i++) {
+            String requiredField = requiredFields[i];
+            if (!hudiColNameToType.containsKey(requiredField)) {
+                throw new IllegalArgumentException(
+                        "Required field " + requiredField + " not found in 
Hudi column names: " + splitHudiColumnNames);
+            }
+            requiredTypes[i] = ColumnType.parseType(requiredField, 
hudiColNameToType.get(requiredField));
+        }
 
         requiredColumnIds = Arrays.stream(requiredFields)
                 .mapToInt(hudiColNameToIdx::get)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to