Skip to content

Core, API: Add support for recursive namespace listing#16199

Draft
ebyhr wants to merge 1 commit intoapache:mainfrom
ebyhr:ebi/rest-recursive
Draft

Core, API: Add support for recursive namespace listing#16199
ebyhr wants to merge 1 commit intoapache:mainfrom
ebyhr:ebi/rest-recursive

Conversation

@ebyhr
Copy link
Copy Markdown
Member

@ebyhr ebyhr commented May 3, 2026

SHOW SCHEAMS with REST catalog in the Trino Iceberg connector currently gets namespaces recursively
for non-leaf namespaces. It can be time-consuming.

This PR introduces a new recursive option to the REST catalog and the SupportsNamespaces interface
so we can get all namespaces with a single request.

Fixes #13453.
It seems the request comes from the DuckDB community. It's helpful for Trino as well.

Relates to https://lists.apache.org/thread/o6ojgqyzrpwxp1wb0onl7wxmrxrfgx46

Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
Comment thread api/src/main/java/org/apache/iceberg/catalog/SupportsNamespaces.java Outdated
}
} catch (NoSuchNamespaceException e) {
// Namespace may have been deleted concurrently, skip it
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though I'm not confident with the authz semantics against nested namespaces, can this properly handle the case where 403 Forbidden happens?

@ebyhr ebyhr force-pushed the ebi/rest-recursive branch from 2d0ac2c to bb072e4 Compare May 6, 2026 09:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[REST API] Add recursive=true parameter for /v1/{prefix}/namespaces endpoint

3 participants