nsivabalan commented on PR #19205: URL: https://github.com/apache/hudi/pull/19205#issuecomment-5221857304
@danny0405 @voonhous — I have **reopened four threads I had previously marked resolved**, because the behavior changed after you read my replies. Flagging here so they are not missed under a resolved marker. | Thread | What you read | What it does now | |---|---|---| | `HoodieWriteConfig.java:3976` (your P1) | `populate=true` + selective mode **accepted**, boolean silently derived | **Rejected at creation.** Invariant unchanged; upheld by rejection rather than override | | `HoodieWriteConfig.java` (your other P1) | full-enum comparison catches the mismatch | Writer now **inherits** when it states neither property; rejected in both directions when it states either | | `TenToNineDowngradeHandler.java:111` | selective downgrade **throws** | **Downgrades normally with a warning** — no special case needed | | `TenToNineDowngradeHandler.java` (@voonhous) | same | same | The downgrade one turned over twice in a day, which is on me: degrade-with-warning → throw → downgrade-normally. The final answer is the simplest of the three, and @nsivabalan is the reason — he pointed out the throw was guarding a problem that cannot occur, since every selective mode already persists `populate.meta.fields=false`. I had missed that the invariant makes the special case unnecessary. The other 15 resolved threads are unaffected; my replies there still describe current behavior. **The PR description is now the authoritative statement** and is worth reading before the threads — it has four numbered sections covering config resolution, the table-property rule, which mode transitions are legal, and upgrade/downgrade. It also lists the three follow-ups in landing order. On follow-up ordering, correcting something I said earlier in this thread: **#19206 cannot land before this PR.** `MetaFieldsMode` and `hoodie.meta.fields.mode` are introduced here (commit `0b259186c19b`), and the CLI command calls them — it only compiles because it is stacked on this branch. So the dependency is strictly #19205 → #19206. The consequence is a short window where the error messages here point at a hudi-cli command that has not landed yet; they name table recreation as the alternative, which works, so I have left the wording alone rather than churn it now and revert it after #19206. -- 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]
