[EPIC] Iceberg REST Catalog (IRC) at scale readiness improvements
- 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
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