diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/AbstractIcebergTableOperations.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/AbstractIcebergTableOperations.java index 451ebf361969..22e1bd303f45 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/AbstractIcebergTableOperations.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/catalog/AbstractIcebergTableOperations.java @@ -17,6 +17,7 @@ import dev.failsafe.RetryPolicy; import io.trino.annotation.NotThreadSafe; import io.trino.filesystem.Location; +import io.trino.filesystem.UnrecoverableIOException; import io.trino.plugin.hive.metastore.Column; import io.trino.plugin.hive.metastore.StorageFormat; import io.trino.plugin.iceberg.util.HiveSchemaUtil; @@ -260,7 +261,8 @@ protected void refreshFromMetadataLocation(String newLocation, Function failure instanceof ValidationException || isNotFoundException(failure)) + .abortOn(ValidationException.class, UnrecoverableIOException.class) + .abortOn(AbstractIcebergTableOperations::isNotFoundException) .build()) .get(() -> metadataLoader.apply(newLocation)); }