Hey Jack,

thanks for the feedback. I replied in the doc but I can reiterate my answer
here too: The *path* is unique and required so that feels more appropriate
than requiring to have an optional *operationId* in the OpenAPI spec.
Additionally, using the path is more straight-forward when we introduce v2
endpoints, while you would have to make sure that all *operationIds* are
unique across endpoints (and I'm not sure if OpenAPI tools actually enforce
uniqueness).



On Thu, Aug 15, 2024 at 5:20 PM Jack Ye <yezhao...@gmail.com> wrote:

> Hi Eduard,
>
> In general I agree with this proposal, thanks for putting this up! Just
> one question (which I also added in the design), what are the thoughts
> behind using "<HTTP VERB> <resource path from REST spec>", vs using the
> operationId defined in the OpenAPI?
>
> The operationId approach definitely looks much cleaner to me, but (1) in
> OpenAPI it is not a requirement to define it, and (2) right now there are
> some inconsistent operationIds, for example UpdateTable is the operationId,
> but CommitTable is used for all request and response models. But these are
> all pretty solvable issues because we can enforce operationId to be
> required in the Iceberg spec, and fix it to be consistent, assuming nobody
> is taking a dependency on these operationIds right now.
>
> Personally speaking, I am pretty neutral on this topic, but curious what
> everyone thinks.
>
> Best,
> Jack Ye
>
>
>
> On Wed, Aug 14, 2024 at 9:20 AM Eduard Tudenhöfner <
> etudenhoef...@apache.org> wrote:
>
>> Hey Dmitri,
>>
>> this proposal is the result of the community feedback from the
>> Capabilities proposal. Ultimately the capabilities turned out to entail
>> more complexity than necessary and so this proposal solves the core problem
>> while keeping complexity and spec changes to an absolute minimum.
>>
>> Eduard
>>
>> On Wed, Aug 14, 2024 at 5:15 PM Dmitri Bourlatchkov
>> <dmitri.bourlatch...@dremio.com.invalid> wrote:
>>
>>> Hi Eduard,
>>>
>>> How is this proposal related to the Server Capabilities discussion?
>>>
>>> Thanks,
>>> Dmitri.
>>>
>>> On Wed, Aug 14, 2024 at 5:14 AM Eduard Tudenhöfner <
>>> etudenhoef...@apache.org> wrote:
>>>
>>>> Hey everyone,
>>>>
>>>> I'd like to propose a way for REST servers to communicate to clients
>>>> what endpoints it supports via a new *endpoints* field in the
>>>> *CatalogConfig* of the *v1/config* endpoint.
>>>>
>>>> This enables clients to make better decisions and clearly signal that a
>>>> particular endpoint isn’t supported.
>>>>
>>>> I opened #10937 <https://github.com/apache/iceberg/issues/10937> to
>>>> track the proposal in GH. Please find the proposal doc here
>>>> <https://docs.google.com/document/d/1krcIaLfxtBFDABU5ssLmf64zyHgE8BRncpGPIMTWlxo/edit?usp=sharing>
>>>>  (estimated
>>>> read time: 5 minutes). The proposal requires a Spec change, which can be
>>>> seen in #10928 <https://github.com/apache/iceberg/pull/10928>.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Eduard
>>>>
>>>

Reply via email to