refactor(hms): derive catalog configuration from properties
- Dominant language
- Rust
- Stars
- 1.4k
- Forks
- 567
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 93
Description
Part of [apache/iceberg-rust#3094](https://github.com/apache/iceberg-rust/issues/3094).
## Is your feature request related to a problem or challenge?
`HmsCatalogBuilder::load` manually parses URI, warehouse, and thrift transport properties and filters the remaining storage properties.
## Describe the solution you would like
Use the `Properties` derive macro for the HMS catalog property projection while preserving required URI and warehouse validation and the current framed, buffered, and fallback transport behavior.
Acceptance criteria:
- Public builder APIs remain unchanged.
- URI and warehouse validation remains compatible.
- Thrift transport parsing preserves existing fallback behavior.
- Unknown FileIO and KMS properties remain available downstream.
- Focused unit tests cover defaults, transport values, validation, and property retention.
## Willingness to contribute
I can contribute to this feature independently.
Contributor guide
Research direction
Start at HmsCatalogBuilder::load and inspect the current URI, warehouse, thrift transport, and storage-property handling alongside the Properties derive macro. Add focused unit coverage for defaults, transport values, validation, and property retention; done means public builder APIs and existing fallback behavior remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data-engineering
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100