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]