yihua opened a new pull request, #20276: URL: https://github.com/apache/hudi/pull/20276
### Describe the issue this Pull Request addresses closes #20275 A table created below version 8 only persisted `hoodie.table.keygenerator.type`, plus the class for user-provided key generators. Hudi 0.x only reads `hoodie.table.keygenerator.class`, so it saw no key generator on such a table and silently fell back to the write config. ### Summary and Changelog - `TableBuilder.build()` also persists `hoodie.table.keygenerator.class` when the table version is below 8, the same thing the 8 to 7 downgrade already does. - `HoodieTestUtils.assertTableConfigs` asserts the exact persisted `hoodie.properties`, and one table-config test per engine (table builder, streamer, Spark datasource, Spark SQL, Flink) now uses it across table versions 6, 8, 9 and 10. Future table config changes can extend these tests instead of adding new ones. Two Spark tests that only checked the table version on creation are folded in. ### Impact New tables below version 8 also carry `hoodie.table.keygenerator.class`. 1.x already resolves the class ahead of the type, so 1.x behavior is unchanged. Existing tables are not rewritten. ### Risk Level low Without the fix, the new tests fail only on the missing key generator class at version 6, and pass at 8, 9 and 10. ### Documentation Update none ### Contributor's checklist - [x] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [x] Enough context is provided in the sections above - [x] Adequate tests were added if applicable -- 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]
