Skip to content

refactor(rest): derive catalog configuration from properties - #3106

Draft
blackmwk wants to merge 4 commits into
apache:mainfrom
blackmwk:ir-3100-rest-properties
Draft

blackmwk wants to merge 4 commits into
apache:mainfrom
blackmwk:ir-3100-rest-properties

Conversation

@blackmwk

@blackmwk blackmwk commented Aug 28, 2026 •

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

What changes are included in this PR?

Replace RestCatalogConfig with a Properties-derived RestCatalogProperties covering catalog locations and prefix, authentication and OAuth settings, typed headers, header redaction, pagination, and cache capacity/expiry. Keep raw property maps and injected runtime objects outside the typed configuration.

Preserve server-default < client < server-override precedence, complete property forwarding to auth/FileIO/KMS, and secret redaction. Page-size and cache settings are validated after the server handshake so overrides can replace invalid lower-priority values.

Are these changes tested?

  • cargo test -p iceberg-catalog-rest --lib --all-features --locked — 134 passed.
  • cargo clippy -p iceberg-catalog-rest --all-targets --all-features --locked -- -D warnings
  • cargo test -p iceberg-catalog-rest --doc --all-features --locked — 2 passed, 3 ignored.
  • make generate-public-api — all workspace snapshots unchanged.
  • cargo fmt --all -- --check and git diff --check

AI Disclosure

Developed with assistance from OpenAI Codex. Review should focus on deferred page-size/cache validation, injected auth-manager precedence, and complete raw-property forwarding while keeping secrets out of debug output.

Use the shared property derive for REST catalog settings while retaining server merge precedence, injected clients, and secret redaction.

Tracks [apache#3100](apache#3100).

Generated-by: Codex
@blackmwk
blackmwk force-pushed the ir-3100-rest-properties branch from f9fbc2d to b08836c Compare September 4, 2026 03:23
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions Bot added the stale label Oct 5, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions Bot closed this Oct 12, 2026
@blackmwk blackmwk reopened this Oct 14, 2026
@blackmwk blackmwk removed the stale label Oct 14, 2026
Resolve REST catalog conflicts while preserving property derivation,
page-size precedence, table caching, and contextual authentication.
Replace RestCatalogConfig with derived RestCatalogProperties for catalog, authentication, headers, pagination, and cache settings. Keep raw properties and runtime injections outside the typed projection, and preserve validation after server overrides for pagination and caching.
Comment thread crates/catalog/rest/src/catalog.rs Outdated

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(rest): derive catalog configuration from properties

1 participant