dramaticlly commented on code in PR #12228:
URL: https://github.com/apache/iceberg/pull/12228#discussion_r1970726948


##########
core/src/test/java/org/apache/iceberg/catalog/CatalogTests.java:
##########
@@ -2871,6 +2872,33 @@ public void testRegisterExistingTable() {
     assertThat(catalog.dropTable(identifier)).isTrue();
   }
 
+  @Test
+  public void testRegisterAndOverwriteExistingTable() {
+    C catalog = catalog();

Review Comment:
   Sharing my thoughts here, so I believe table UUID is the ideal way for 
consumer to identify the uniqueness of a given table, instead of relying on the 
table identifier in the given catalog. 
   
   Today, the table operation on refresh will check if underlying the UUID has 
changed, also REST catalog will have requirements on table UUID unchanged for 
replace and update of the table. If we want to support register overwrite with 
foreign table, then it secretly break the assumption, implies catalog need to 
evict the cached table (even with same table identifier) and force to reload. 
   
   Personally I think it's probably better to only support same table UUID on 
register with overwrite (which provides atomicity), and support table UUID 
change with drop table first and then reregister. 



-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to