apache / gravitino

World's most powerful open data catalog for building a high-performance, geo-distributed and federated metadata lake.
https://gravitino.apache.org
Apache License 2.0
1.09k stars 343 forks source link

[Improvement] IcebergRESTServer should not use Gravitino iceberg catalog with REST backend #5153

Open FANNG1 opened 1 month ago

FANNG1 commented 1 month ago

What would you like to be improved?

This may cause deadlock, if IcebergRESTServer using the Gravitino Iceberg catalog with the same Iceberg REST address.

GravitinoBasedIcebergCatalogWrapperProvider.java#getIcebergTableOps()

   Catalog catalog = client.loadMetalake(gravitinoMetalake).loadCatalog(catalogName);
    Preconditions.checkArgument(
        "lakehouse-iceberg".equals(catalog.provider()),
        String.format("%s.%s is not iceberg catalog", gravitinoMetalake, catalogName));
   // should check catalog backend in catalog.properties()

How should we improve?

No response

lsyulong commented 1 month ago

Hello, can this task be assigned to me? I'll give it a try

FANNG1 commented 1 month ago

@lsyulong sure, please go ahead

lsyulong commented 1 month ago

GravitinoBasedIcebergCatalogWrapperProvider

@FANNG1 I cloned the latest code here again, but couldn't find this class(GravitinoBasedIcebergCatalogWrapperProvider). Did you change the name

FANNG1 commented 1 month ago

GravitinoBasedIcebergCatalogWrapperProvider

The latest class is DynamicIcebergConfigProvider#getIcebergCatalogConfig