munendrasn opened a new pull request, #18463: URL: https://github.com/apache/iceberg/pull/18463
GCSFileIO.deleteFiles could not tell a missing object from a failed delete, so real failures were silently swallowed and callers had nothing to retry. This happened because Storage.delete(Iterable<BlobId>) returns false for both cases. deleteFiles now uses StorageBatch, which reports each object's outcome separately: false for a missing object, true on success, and a StorageException on failure. A missing object counts as success, so retries are safe to repeat. Any real failure (for example a permission error) is raised as BulkDeletionFailureException, so the caller knows what failed and can retry it. The GCSFileIO integration tests now run against both the fake-gcs emulator and real GCS, and clean up after themselves. This should preferably be merged after https://github.com/apache/iceberg/pull/18462, which wires the GCP integration tests into gradle check so they run in CI. -- 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]
