apache / apache/gravitino

[EPIC] Iceberg REST Catalog (IRC) at scale readiness improvements

Open
#11,131 0 comments 0 reactions 0 assignees View on GitHub
epic
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 15h
Merged PRs (30d)
315

Description

## Describe the proposal

A source-code review of the `iceberg-rest-server` module and supporting modules identified 8 issues across correctness, scalability, and maintainability. The underlying architecture is solid — credential cache with token-lifetime-aware expiry, metadata cache with multi-server-coherent pointer validation, ETag fast paths, atomic Caffeine cache loaders. The remaining issues are mostly defaults and gaps rather than missing capabilities.

## Task list

- [ ] #11132 NamespaceNotEmptyException maps to HTTP 400 instead of 409 (spec non-conformance)
- [ ] #11133 Table metadata cache disabled by default; default capacity (200) too small for enterprise scale
- [ ] #11134 List endpoints (listTable, listNamespaces, listView) do not support pagination (pageToken/pageSize)
- [ ] #11135 RBAC OGNL expression parse and conversion repeat on every authorized request
- [ ] #11136 No HTTP timeout configuration on RESTCatalog backend used for federation
- [ ] #11137 registerTable does not follow the federation FileIO-property-extraction pattern that loadTable does
- [ ] #11138 Federation behavior implemented as scattered instanceof RESTCatalog short-circuits in CatalogWrapperForREST

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the `iceberg-rest-server` and supporting modules, then read the linked issues #11132–#11138 individually. The task covers HTTP status mapping, cache defaults, pagination, RBAC expression reuse, RESTCatalog timeouts, FileIO-property extraction, and federation structure. Done means the applicable child issues are resolved and the full readiness review is addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.