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]

Reply via email to