yihua opened a new issue, #19694:
URL: https://github.com/apache/hudi/issues/19694

   For tables below version 10, writers must persist the deprecated 
`hoodie.populate.meta.fields` boolean alongside `hoodie.meta.fields.mode` 
(introduced in #19205), because pre-1.3.0 readers know only the boolean and 
fall back to its `true` default when the key is absent. That fallback would 
make an old reader treat a selectively populated table as if all meta columns 
were populated.
   
   The persistence itself is implemented at two sites (the table builder and 
`HoodieTableConfig.create`), but the test coverage has gaps:
   
   1. The v6 branch of 
`TestHoodieTableMetaClient#testMetaFieldsModeDropsTheLegacyBooleanFromTableVersionTen`
 asserts through `populateMetaFields()`, which resolves through the mode 
property, so the assertion passes even when the raw boolean is never written to 
`hoodie.properties`.
   2. No test pins `HoodieTableConfig.create` deriving the boolean on its own. 
A regression confined to that site passes all existing tests (the builder 
stamps the boolean into the properties `create` receives), yet `create` is 
called directly with user-supplied properties by the repair overwrite props 
procedure.
   3. No functional test writes data into a table version 6 table with 
`hoodie.meta.fields.mode` set; the end-to-end suite runs only at the current 
table version.
   


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