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]