joyhaldar commented on code in PR #14940:
URL: https://github.com/apache/iceberg/pull/14940#discussion_r2654867901


##########
bigquery/src/main/java/org/apache/iceberg/gcp/bigquery/BigQueryTableOperations.java:
##########
@@ -161,21 +173,6 @@ private void updateTable(
     ExternalCatalogTableOptions options = 
table.getExternalCatalogTableOptions();
     addConnectionIfProvided(table, metadata.properties());
 
-    // If `metadataLocationFromMetastore` is different from metadata location 
of base, it means

Review Comment:
   > why is this check removed?
   
   Thank you for your review Manu.
   
   
   This check becomes redundant with caching. 
   
   Before:
   1. doRefresh() loads table -> metadata location = "v1"
   2. Someone else commits -> metadata location = "v2"
   3. updateTable() loads table again -> sees "v2"
   4. Check catches: "v1" != "v2" -> fail
   
   With caching:
   
   1. doRefresh() loads table -> metadata location = "v1", cached
   2. Someone else commits -> metadata location = "v2"
   3. updateTable() uses cached table -> still sees "v1"
   4. Check passes: "v1" == "v1" (compares against itself)
   5. tables.patch fails with HTTP 412 (ETag mismatch) -> Iceberg retries
   
   The ETag check in tables.patch catches the same conflict, so this check no 
longer adds value.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to