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]

Reply via email to