[ https://issues.apache.org/jira/browse/HIVE-26157?focusedWorklogId=759247&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-759247 ]
ASF GitHub Bot logged work on HIVE-26157: ----------------------------------------- Author: ASF GitHub Bot Created on: 20/Apr/22 13:50 Start Date: 20/Apr/22 13:50 Worklog Time Spent: 10m Work Description: marton-bod commented on code in PR #3226: URL: https://github.com/apache/hive/pull/3226#discussion_r854160373 ########## iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandler.java: ########## @@ -450,7 +452,9 @@ public boolean isValidMetadataTable(String metaTableName) { public URI getURIForAuth(org.apache.hadoop.hive.metastore.api.Table hmsTable) throws URISyntaxException { String dbName = hmsTable.getDbName(); String tableName = hmsTable.getTableName(); - return new URI(ICEBERG_URI_PREFIX + dbName + "/" + tableName); + Table table = IcebergTableUtil.getTable(conf, hmsTable); Review Comment: We ran into problems with the approach of loading the Iceberg table here before. The problem is that this method can be called to authorize CREATE TABLE commands as well, at which point the iceberg table does not exist yet, so this will lead to NPE. In that case, when the table object is null, then maybe we fall back to using the `hmsTable.getSd().location() + "/metadata"`? I'm not sure though, just thinking out loud Issue Time Tracking ------------------- Worklog Id: (was: 759247) Time Spent: 0.5h (was: 20m) > Change Iceberg storage handler authz URI to metadata location > ------------------------------------------------------------- > > Key: HIVE-26157 > URL: https://issues.apache.org/jira/browse/HIVE-26157 > Project: Hive > Issue Type: Improvement > Reporter: László Pintér > Assignee: László Pintér > Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > In HIVE-25964, the authz URI has been changed to "iceberg://db.table". > It is possible to set the metadata pointers of table A to point to table B, > and therefore you could read table B's data via querying table A. > {code:sql} > alter table A set tblproperties > ('metadata_location'='/path/to/B/snapshot.json', > 'previous_metadata_location'='/path/to/B/prev_snapshot.json'); {code} -- This message was sent by Atlassian Jira (v8.20.7#820007)