vamshipasunuru1 opened a new pull request, #20282:
URL: https://github.com/apache/hudi/pull/20282

   ### Describe the issue this Pull Request addresses
   
   `MetaFieldsMode.toLegacyPopulateMetaFields()` returned `true` only for 
`ALL`, so every selective mode derived the deprecated 
`hoodie.populate.meta.fields` as `false`. That boolean has two states and 
`false` means exactly one thing — no meta columns at all — so it misdescribes 
`COMMIT_TIME_ONLY`, `FILE_NAME_ONLY` and `COMMIT_TIME_AND_FILE_NAME`, which do 
populate `_hoodie_commit_time` and/or `_hoodie_file_name`.
   
   The boolean is persisted into `hoodie.properties` alongside the mode for 
writers that predate `hoodie.meta.fields.mode`. Such a writer cannot see the 
mode, reads `false` as "meta fields disabled", defaults its own to `true`, and 
is rejected. A table written once with a selective mode then cannot be written 
by an older writer against the same base path, breaking mixed-version operation 
during an upgrade.
   
   ```
   hoodie.populate.meta.fields already disabled for the table. Can't be 
re-enabled back
     at HoodieTableMetaClient.validateTableProperties
     at BaseHoodieWriteClient.initTable
   ```
   
   
   ### Summary and Changelog
   
   
   
   ### Impact
   
   Break cutover from newer hudi 1.2 to older hudi 0.14.
   
   ### Risk Level
   
   low
   
   ### 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]

Reply via email to