I think I'd be fine exposing this through a test Jar, but it seems to me
that if we were to put it into a normal package it would turn into the
situation we want to avoid. People would use it for unintended purposes and
it would become a distraction.

What do you think about using the tests Jar for this?

On Thu, Jan 25, 2024 at 12:48 PM Jack Ye <yezhao...@gmail.com> wrote:

> Yes, sorry I did not make it clear, I also agree it is not the right
> direction to invest a lot of community effort. I am more talking about
> casual use cases like importing a server for unit tests outside Iceberg,
> running some local debugging, etc. I think it would be valuable to provide
> a server in Iceberg for that purpose, and maybe vend it as test utils.
> Thoughts?
>
> -Jack
>
> On Thu, Jan 25, 2024 at 11:35 AM Ryan Blue <b...@tabular.io> wrote:
>
>> > I know we have the RESTCatalogAdapter and RESTCatalogSevlet for unit
>> tests, and technically we have a very similar Jetty server implementation
>> in TestRESTCatalog. Should we think about making those components out of
>> the tests into an iceberg-rest-server module for this use case, and merge
>> with the implementation that Gravitino has?
>>
>> I think that this would take the Iceberg project in the wrong direction.
>> Iceberg has always been a library and I think it should continue to be.
>> Concerns about runtime should be left to other projects that need to fit
>> into existing infrastructure or skillsets of people maintaining them. The
>> question of whether to use Jetty or Tomcat or whatever else is a serious
>> consideration, as is how to monitor that application and send metrics. I
>> think it would slow down the core purpose of Iceberg if we got distracted
>> by these things.
>>
>> In fact, I think that this project shows that the library is getting the
>> balance right: it is using `CatalogHandlers` for their intended purpose. It
>> has opinions about how to run the actual HTTP service and people that agree
>> can use it. Other people could use `CatalogHandlers` to build on a
>> different foundation.
>>
>> On Thu, Jan 25, 2024 at 11:13 AM Jack Ye <yezhao...@gmail.com> wrote:
>>
>>> Really cool project!
>>>
>>> I browsed a bit of the codebase, and see this implementation of the REST
>>> service backend:
>>> -
>>> https://github.com/datastrato/gravitino/blob/main/catalogs/catalog-lakehouse-iceberg/src/main/java/com/datastrato/gravitino/catalog/lakehouse/iceberg/IcebergRESTService.java#L39
>>> -
>>> https://github.com/datastrato/gravitino/blob/main/catalogs/catalog-lakehouse-iceberg/src/main/java/com/datastrato/gravitino/catalog/lakehouse/iceberg/ops/IcebergTableOps.java#L42-L51
>>>
>>>  Looks like it is initializing a Jetty server that uses CatalogHandlers
>>> to delegate the execution to a specific Java Catalog implementation.
>>>
>>> I think this is actually something that is lacking today in Iceberg,
>>> which is an easy way for users to start an actual REST HTTP server.
>>>
>>> I know we have the RESTCatalogAdapter and RESTCatalogSevlet for unit
>>> tests, and technically we have a very similar Jetty server implementation
>>> in TestRESTCatalog. Should we think about making those components out of
>>> the tests into an iceberg-rest-server module for this use case, and merge
>>> with the implementation that Gravitino has?
>>>
>>> Best,
>>> Jack Ye
>>>
>>> On Thu, Jan 25, 2024 at 10:47 AM Yufei Gu <flyrain...@gmail.com> wrote:
>>>
>>>> Thanks Justin for the sharing.
>>>>
>>>> It's pretty cool to see an open source REST catalog implementation in
>>>> action. Having dabbled a bit in the early development of Gravitino myself,
>>>> I'm really excited about its potential with the Iceberg REST catalog.
>>>>
>>>> The idea of Gravitino moving to an ASF project is promising. It’ll
>>>> surely boost its visibility and open up more doors for collaboration and
>>>> adoption.
>>>>
>>>> Looking forward to where this goes. Keep up the fantastic work!
>>>>
>>>> Yufei
>>>>
>>>>
>>>> On Thu, Jan 25, 2024 at 5:55 AM Jean-Baptiste Onofré <j...@nanthrax.net>
>>>> wrote:
>>>>
>>>>> Hi Justin,
>>>>>
>>>>> I talked with Junping a couple of months ago about Gravitino. Thanks
>>>>> for sharing !
>>>>>
>>>>> Regards
>>>>> JB
>>>>>
>>>>> On Thu, Jan 25, 2024 at 12:15 AM Justin Mclean <
>>>>> jus...@classsoftware.com> wrote:
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > We open-sourced a new project, Gravitino, in December and have been
>>>>> working on growing the community and adding new functionality. We plan to
>>>>> donate the project to the ASF this year. Gravitino is a unified metadata
>>>>> lake solution offering a unified approach to managing datasets from 
>>>>> diverse
>>>>> sources and regions across multiple cloud platforms. Its core is an 
>>>>> Iceberg
>>>>> REST catalog service implementation to manage Iceberg tables efficiently.
>>>>> >
>>>>> > If this sounds like something you would be interested in, then the
>>>>> following resources will help:
>>>>> > -  Blog post:
>>>>> https://datastrato.ai/blog/gravitino-iceberg-rest-catalog-service/
>>>>> > -  Gravitino documentation: https://datastrato.ai/docs/0.3.1/
>>>>> > -  Iceberg REST service documentation:
>>>>> https://datastrato.ai/docs/0.3.1/iceberg-rest-service
>>>>> >
>>>>> > We welcome any feedback and suggestions you have, and as always, all
>>>>> contributions are welcome. You can find the source code at
>>>>> https://github.com/datastrato/gravitino.
>>>>> >
>>>>> > Kind Regards,
>>>>> > Justin
>>>>>
>>>>
>>
>> --
>> Ryan Blue
>> Tabular
>>
>

-- 
Ryan Blue
Tabular

Reply via email to