damccorm opened a new pull request, #41235:
URL: https://github.com/apache/beam/pull/41235

   ## Summary
   Fixes transient `org.apache.iceberg.exceptions.ForbiddenException: Exceeded 
rate limits: too many table update operations for this table` failures in 
`BigQueryMetastoreCatalogIT` during `IcebergIO Integration Tests` (e.g., 
https://github.com/apache/beam/actions/runs/43154192604).
   
   ### Root Cause
   BigQuery enforces a per-table metadata update quota of 5 table operations 
per 10 seconds (`rateLimitExceeded: Exceeded rate limits: too many table update 
operations for this table`, surfaced by `BigQueryMetastoreCatalog` as 
`org.apache.iceberg.exceptions.ForbiddenException`). When a multi-snapshot test 
such as `testStreamingCdcReadMixedDeleteAndOverwriteSnapshots` creates a table 
and commits 4 snapshots (5 table operations) and completes its DirectRunner 
pipeline within 10 seconds (9.7s in run `43154192604`), the 6th table operation 
(`catalog.dropTable(identifier)` in `catalogCleanup`) hits the 10-second rate 
limit window.
   
   ### Fix
   Override `catalogCleanup(List<Namespace>)` in `BigQueryMetastoreCatalogIT` 
to retry `super.catalogCleanup(namespaces)` up to 3 times with a 5s backoff 
when `ForbiddenException` is thrown, allowing the 10-second per-table rate 
limit window to clear before dropping the table and namespace.
   
   ## Verification
   - Triggered `IcebergIO Integration Tests` on this branch: 
https://github.com/apache/beam/actions/runs/43166035024


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