wombatu-kun commented on code in PR #20346:
URL: https://github.com/apache/hudi/pull/20346#discussion_r4302821941


##########
hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java:
##########
@@ -701,6 +701,12 @@ public static void create(HoodieStorage storage, 
StoragePath metadataFolder, Pro
         hoodieConfig.setValue(POPULATE_META_FIELDS,
             Boolean.toString(metaFieldsMode.toLegacyPopulateMetaFields()));
       }
+      List<String> orderingFields = 
StringUtils.split(hoodieConfig.getProps().getProperty(ORDERING_FIELDS.key()), 
",");
+      if (orderingFields.size() == 1 && 
tableVersion.lesserThan(HoodieTableVersion.NINE)) {
+        // readers of tables below version 9 only know the deprecated 
precombine key, which the 9 to 8 downgrade writes too,
+        // and take its value as one field name
+        hoodieConfig.setValue(PRECOMBINE_FIELD, orderingFields.get(0));

Review Comment:
   Reverted in c27bc854e990 after [danny0405's 
comment](https://github.com/apache/hudi/pull/20346#discussion_r4300817866): a 
table declared with `_event_seq` still gets the same precombine key as a 
downgraded one, and one declared with `ts` now keeps `ts`. With `_event_seq` 
next to `hoodie.table.ordering.fields=ts`, a 0.x or 1.0.x Spark writer would 
dedup on `_event_seq` while 1.x dedups on `ts`, or fail with `Config conflict` 
when passed `ts`.
   



##########
hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java:
##########
@@ -701,6 +701,17 @@ public static void create(HoodieStorage storage, 
StoragePath metadataFolder, Pro
         hoodieConfig.setValue(POPULATE_META_FIELDS,
             Boolean.toString(metaFieldsMode.toLegacyPopulateMetaFields()));
       }
+      List<String> orderingFields = 
StringUtils.split(hoodieConfig.getProps().getProperty(ORDERING_FIELDS.key()), 
",");

Review Comment:
   With c27bc854e990 the block is back to one `if`, the size of the 
`POPULATE_META_FIELDS` step above it, so it stays inline.
   



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