voonhous commented on code in PR #17599:
URL: https://github.com/apache/hudi/pull/17599#discussion_r2643559024


##########
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieIndexUtils.java:
##########
@@ -150,50 +149,38 @@ static boolean 
validateDataTypeForSecondaryIndex(List<String> sourceFields, Sche
    * @param tableSchema  table schema
    * @return true if each field's data types are supported, false otherwise
    */
-  public static boolean 
validateDataTypeForSecondaryOrExpressionIndex(List<String> sourceFields, Schema 
tableSchema) {
+  public static boolean 
validateDataTypeForSecondaryOrExpressionIndex(List<String> sourceFields, 
HoodieSchema tableSchema) {
     return sourceFields.stream().anyMatch(fieldToIndex -> {
-      Schema schema = getNestedFieldSchemaFromWriteSchema(tableSchema, 
fieldToIndex);
-      return schema.getType() != Schema.Type.RECORD && schema.getType() != 
Schema.Type.ARRAY && schema.getType() != Schema.Type.MAP;
+      Option<Pair<String, HoodieSchemaField>> nestedFieldOpt = 
HoodieSchemaUtils.getNestedField(tableSchema, fieldToIndex);

Review Comment:
   Done!



##########
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java:
##########
@@ -341,15 +341,15 @@ private void saveInternalSchema(HoodieTable table, String 
instantTime, HoodieCom
     FileBasedInternalSchemaStorageManager schemasManager = new 
FileBasedInternalSchemaStorageManager(table.getMetaClient());
     if (!historySchemaStr.isEmpty() || 
Boolean.parseBoolean(config.getString(HoodieCommonConfig.RECONCILE_SCHEMA.key())))
 {
       InternalSchema internalSchema;
-      Schema avroSchema = 
HoodieAvroUtils.createHoodieWriteSchema(config.getSchema(), 
config.allowOperationMetadataField());
+      HoodieSchema schema = 
HoodieSchemaUtils.addMetadataFields(HoodieSchema.parse(config.getSchema()), 
config.allowOperationMetadataField());

Review Comment:
   I'd opt for throwing an error like what the original 
`HoodieAvroUtils#createHoodieWriteSchema` does. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to