Thanks for initiating this discussion. I suggested <https://github.com/apache/iceberg/pull/10630#issuecomment-2216704059> moving it to the mailing list because the javadoc of SupportsNamespaces and the REST API spec don't clearly define how to handle missing parent namespaces.
I'm generally +1 of the idea to automatically create missing namespaces now, as it reduces the burden on the user. However, I believe this approach should be standardized and adopted by all catalogs that support multi-level namespaces to avoid confusion. That is we need to update the java doc and REST API spec descriptions for this behavior once we have consensus. - Ajantha On Wed, Jul 10, 2024 at 7:44 PM Renjie Liu <liurenjie2...@gmail.com> wrote: > Hi, Yong: > > Thanks for reporting this. > > Do you think iceberg needs to standardize the REST spec to make sure the >> logic is the same for using the SupportsNamespace interface? > > > Yes, I think it's valuable. I remember @Jean-Baptiste Onofré > <j...@nanthrax.net> had a proposal for TCK of rest catalog, and this case > shows that TCK has a lot of merit. > > On Wed, Jul 10, 2024 at 5:47 PM Yong Zhang <zhangyong1025...@gmail.com> > wrote: > >> Hi all, >> >> When I was using the SupportsNamespaces to do the namespace >> create and exists check with other catalog services that implement >> the Iceberg REST API, I found it has different results with different >> catalog services. Iceberg has provided a standard API to do the >> namespace operations, but seems iceberg does not have a standard >> spec on the REST API implementation. That makes the other catalog >> services implement differently and then breaks the SupportsNamespace >> interface usage. >> >> Do you think iceberg needs to standardize the REST spec to make sure the >> logic is the same for using the SupportsNamespace interface? >> Otherwise, the SupportsNamespace interface is meaningless because the >> client >> needs to handle different logic to create a namespace or other operations >> when using different catalog. >> >> For example, Nessie doesn't support auto-creating parent namespace: >> https://github.com/apache/iceberg/pull/10630 >> But the JDBC catalog supports it. >> >> Thanks. >> Yong >> >>