yihua commented on code in PR #14120:
URL: https://github.com/apache/hudi/pull/14120#discussion_r2448965924


##########
hudi-common/src/main/java/org/apache/hudi/common/config/HoodieCommonConfig.java:
##########
@@ -54,6 +54,14 @@ public class HoodieCommonConfig extends HoodieConfig {
       .markAdvanced()
       .withDocumentation("Enables support for Schema Evolution feature");
 
+  public static final ConfigProperty<Boolean> 
SCHEMA_EVOLUTION_ALLOW_LOGICAL_EVOLUTION = ConfigProperty
+      .key("hoodie.schema.evolution.allow.logical.evolution")

Review Comment:
   I think this flag can be added in an independent PR, not to be coupled with 
the logical timestamp fix, to avoid confusion.
   
   On master, the timestamp-micros to timestamp-millis type change is allowed 
although it should not be, given that it incurs precision loss. Thus for new 
table on table version 9, such type change in the schema should be validated 
and disallowed.
   
   However, for the logical timestamp fix to work, the Hudi streamer needs to 
automatically change the field type from timestamp-micros (because of the 
regression) to timestamp-millis based on the target schema in the schema 
provider. So such field type change needs to be allowed for table version 8 and 
below, where the field is incorrectly changed from timestamp-millis in the 
target schema from the schema provider to timestamp-micros in the table schema 
due to the regression.



-- 
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