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
>>
>>

Reply via email to