diqiu50 opened a new issue, #12996: URL: https://github.com/apache/gravitino/issues/12996
### Version main branch ### Describe what's wrong When a table is created through a Glue catalog without an explicit `location` property, Gravitino always places it at `warehouse/database/table` and never reads the `LocationUri` that the Glue database declares, so tables created through Gravitino sit under a different prefix from tables other tools create in the same database, and where the catalog `warehouse` property is set to the database's own location the database name appears twice in the path. ### Error message and/or stacktrace No error is raised; the table is created successfully at the wrong path. ### How to reproduce Create a Glue database whose `LocationUri` is `s3://example-bucket/analytics`, create a Gravitino catalog with provider `glue` and `warehouse` set to `s3://example-bucket/analytics`, then create a table `example_table` in that database through Gravitino without passing a `location` property. `aws glue get-table --database-name analytics --name example_table --query 'Table.StorageDescriptor.Location'` returns `s3://example-bucket/analytics/analytics/example_table`, whereas a table created directly in Glue in the same database is at `s3://example-bucket/analytics/example_table`. ### Additional context Observed with the `glue` provider on 1.3.0 and reproducible on the main branch. The database's `LocationUri` is what storage-side rules such as lifecycle policies, bucket policies and replication rules are usually scoped to, so data written outside it is not covered by them. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
