Hi Ryan,

Thanks for the proposal. Here are some questions and comments.

   1. Are we going to open for other ways to store the table metadata
   instead of the metadata.json files? For example, a relational database or a
   key-value database. This will be a big change if that’s so, since it
   changes the assumption that the table version is preserved as a file.
   2. Assume that we still keep metadata.json files, does that mean the
   catalog server needs to write a new metadata.json for each commit, which
   needs the permission to access the file system where the table is located?
   It is tricky to do that for some users whose catalog doesn’t have the
   access of the file system.
   3. What’s the major benefits of the REST catalog APIs? Considering that
   the current user has to make a lot of changes to adopt it, either from
   client side and server side. The client side should be fine since Iceberg
   may provide it, but the server side is a big task for existing users.
   4. How does an existing catalog support the new APIs? For example, HMS
   may need to add an extra layer or a plugin to support the server side of
   the APIs.

Best,

Yufei

`This is not a contribution`


On Mon, Jan 3, 2022 at 10:42 AM Ryan Blue <b...@tabular.io> wrote:

> Hi everyone,
>
> I wrote up a design doc that covers making changes to Iceberg tables in
> the REST catalog API
> <https://docs.google.com/document/d/1D0R3G0slssEhggH5XnIzMwsUIP-c385Qp2sjv5E7e6E/edit?usp=sharing>
> .
>
> The doc outlines the current changes to metadata, identifies a more
> orthogonal set of changes that we can use, and outlines conflict detection.
> In the end, the proposed API is to send a list of requirements, like
> "current snapshot must be <ID>", and a list of changes, like "add snapshot
> ..." and "set current snapshot to <ID>".
>
> Please have a look and discuss!
>
> Ryan
>
> --
> Ryan Blue
> Tabular
>

Reply via email to