apache / apache/iceberg-rust

refactor(hms): derive catalog configuration from properties

Open
#3,098 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.