anuragmantri opened a new pull request, #18534:
URL: https://github.com/apache/iceberg/pull/18534
Catalog services that read HMS over Thrift and without storage level access
cannot see an Iceberg table's format version, because format-version is a
reserved key kept only in metadata.json. Without it, these services cannot
enforce format-level controls, such as blocking upgrades that break
compatibility.
After this PR, format version is written as an HMS table parameter on every
commit, so create and upgrade both update it. Like `uuid` (#3914), it is a
derived, one-way value that is never read back into Iceberg properties. Views
are unchanged. Existing tables get the parameter on their next commit.
Test plan: TestHiveCatalog checks the HMS parameter after create at v1, v2
and v3, and after upgrading v2 to v3.
---
AI Disclosure
- Model: Claude Opus 5.5
- Platform/Tool: Claude Code
- Human Oversight: Fully reviewed by me.
- Prompt Summary: Analyze why the Iceberg Hive catalog doesn't write the
format version to HMS parameters, and add it with tests.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]