diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveErrorCode.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveErrorCode.java index 87085d9cabac..c628d970b120 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveErrorCode.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveErrorCode.java @@ -33,7 +33,7 @@ public enum HiveErrorCode HIVE_PARTITION_OFFLINE(6, USER_ERROR), HIVE_BAD_DATA(7, EXTERNAL), HIVE_PARTITION_SCHEMA_MISMATCH(8, EXTERNAL), - HIVE_MISSING_DATA(9, EXTERNAL), + // HIVE_MISSING_DATA(9, EXTERNAL) is deprecated HIVE_INVALID_PARTITION_VALUE(10, EXTERNAL), HIVE_TIMEZONE_MISMATCH(11, EXTERNAL), HIVE_INVALID_METADATA(12, EXTERNAL), diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/line/LinePageSourceFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/line/LinePageSourceFactory.java index 66d8b0da07af..42b8232ae150 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/line/LinePageSourceFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/line/LinePageSourceFactory.java @@ -40,9 +40,7 @@ import io.trino.spi.predicate.TupleDomain; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; -import java.io.FileNotFoundException; import java.io.InputStream; import java.util.List; import java.util.Optional; @@ -51,12 +49,10 @@ import java.util.function.Predicate; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.collect.ImmutableList.toImmutableList; import static io.trino.hive.formats.line.LineDeserializer.EMPTY_LINE_DESERIALIZER; import static io.trino.hive.thrift.metastore.hive_metastoreConstants.FILE_INPUT_FORMAT; import static io.trino.plugin.hive.HiveErrorCode.HIVE_CANNOT_OPEN_SPLIT; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.HivePageSourceProvider.projectBaseColumns; import static io.trino.plugin.hive.ReaderPageSource.noProjectionAdaptation; import static io.trino.plugin.hive.util.HiveUtil.getDeserializerClassName; @@ -163,10 +159,6 @@ public Optional createPageSource( throw e; } catch (Exception e) { - if (nullToEmpty(e.getMessage()).trim().equals("Filesystem closed") || - e instanceof FileNotFoundException) { - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, splitError(e, path, start, length), e); } @@ -180,15 +172,11 @@ public Optional createPageSource( LinePageSource pageSource = new LinePageSource(lineReader, lineDeserializer, lineReaderFactory.createLineBuffer(), path.toString()); return Optional.of(new ReaderPageSource(pageSource, readerProjections)); } - catch (Throwable e) { - if (e instanceof TrinoException) { - throw (TrinoException) e; - } - String message = splitError(e, path, start, length); - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); - } - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, message, e); + catch (TrinoException e) { + throw e; + } + catch (Exception e) { + throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, splitError(e, path, start, length), e); } } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/HdfsOrcDataSource.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/HdfsOrcDataSource.java index f54fdfd6133f..05aef24b475c 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/HdfsOrcDataSource.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/HdfsOrcDataSource.java @@ -21,12 +21,10 @@ import io.trino.orc.OrcReaderOptions; import io.trino.plugin.hive.FileFormatDataSourceStats; import io.trino.spi.TrinoException; -import org.apache.hadoop.hdfs.BlockMissingException; import java.io.IOException; import static io.trino.plugin.hive.HiveErrorCode.HIVE_FILESYSTEM_ERROR; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.HiveErrorCode.HIVE_UNKNOWN_ERROR; import static java.lang.String.format; import static java.util.Objects.requireNonNull; @@ -82,9 +80,6 @@ protected void readInternal(long position, byte[] buffer, int bufferOffset, int } catch (Exception e) { String message = format("Error reading from %s at position %s", this, position); - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); - } if (e instanceof IOException) { throw new TrinoException(HIVE_FILESYSTEM_ERROR, message, e); } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcDeleteDeltaPageSource.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcDeleteDeltaPageSource.java index dd217d0fc126..4d50ce58118c 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcDeleteDeltaPageSource.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcDeleteDeltaPageSource.java @@ -30,9 +30,7 @@ import io.trino.spi.TrinoException; import io.trino.spi.connector.ConnectorPageSource; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; -import java.io.FileNotFoundException; import java.io.IOException; import java.io.UncheckedIOException; import java.util.List; @@ -40,15 +38,14 @@ import java.util.Optional; import static com.google.common.base.MoreObjects.toStringHelper; -import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.collect.Maps.uniqueIndex; import static io.trino.memory.context.AggregatedMemoryContext.newSimpleAggregatedMemoryContext; import static io.trino.orc.OrcReader.MAX_BATCH_SIZE; import static io.trino.orc.OrcReader.createOrcReader; import static io.trino.orc.OrcReader.fullyProjectedLayout; import static io.trino.plugin.base.util.Closables.closeAllSuppress; +import static io.trino.plugin.hive.HiveErrorCode.HIVE_BAD_DATA; import static io.trino.plugin.hive.HiveErrorCode.HIVE_CANNOT_OPEN_SPLIT; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.acid.AcidSchema.ACID_COLUMN_BUCKET; import static io.trino.plugin.hive.acid.AcidSchema.ACID_COLUMN_ORIGINAL_TRANSACTION; import static io.trino.plugin.hive.acid.AcidSchema.ACID_COLUMN_ROW_ID; @@ -87,10 +84,6 @@ public static Optional createOrcDeleteDeltaPageSource( stats); } catch (Exception e) { - if (nullToEmpty(e.getMessage()).trim().equals("Filesystem closed") || - e instanceof FileNotFoundException) { - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, openError(e, path), e); } @@ -111,11 +104,10 @@ public static Optional createOrcDeleteDeltaPageSource( if (e instanceof TrinoException) { throw (TrinoException) e; } - String message = openError(e, path); - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); + if (e instanceof OrcCorruptionException) { + throw new TrinoException(HIVE_BAD_DATA, e); } - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, message, e); + throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, openError(e, path), e); } } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcPageSourceFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcPageSourceFactory.java index 8ce6e14f0480..0f02da60b347 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcPageSourceFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/orc/OrcPageSourceFactory.java @@ -23,6 +23,7 @@ import io.trino.memory.context.AggregatedMemoryContext; import io.trino.orc.NameBasedFieldMapper; import io.trino.orc.OrcColumn; +import io.trino.orc.OrcCorruptionException; import io.trino.orc.OrcDataSource; import io.trino.orc.OrcDataSourceId; import io.trino.orc.OrcReader; @@ -52,12 +53,10 @@ import io.trino.spi.type.Type; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; import org.joda.time.DateTimeZone; import javax.inject.Inject; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -69,7 +68,6 @@ import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.common.collect.ImmutableMap.toImmutableMap; import static com.google.common.collect.Maps.uniqueIndex; @@ -86,7 +84,6 @@ import static io.trino.plugin.hive.HiveErrorCode.HIVE_BAD_DATA; import static io.trino.plugin.hive.HiveErrorCode.HIVE_CANNOT_OPEN_SPLIT; import static io.trino.plugin.hive.HiveErrorCode.HIVE_FILE_MISSING_COLUMN_NAMES; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.HivePageSourceProvider.projectBaseColumns; import static io.trino.plugin.hive.HiveSessionProperties.getOrcLazyReadSmallRanges; import static io.trino.plugin.hive.HiveSessionProperties.getOrcMaxBufferSize; @@ -270,10 +267,6 @@ private ConnectorPageSource createOrcPageSource( stats); } catch (Exception e) { - if (nullToEmpty(e.getMessage()).trim().equals("Filesystem closed") || - e instanceof FileNotFoundException) { - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, splitError(e, path, start, length), e); } @@ -453,11 +446,10 @@ else if (column.getBaseHiveColumnIndex() < fileColumns.size()) { if (e instanceof TrinoException) { throw (TrinoException) e; } - String message = splitError(e, path, start, length); - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); + if (e instanceof OrcCorruptionException) { + throw new TrinoException(HIVE_BAD_DATA, e); } - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, message, e); + throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, splitError(e, path, start, length), e); } } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/parquet/ParquetPageSourceFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/parquet/ParquetPageSourceFactory.java index 3541bd6ef24f..0a2a5c55c42c 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/parquet/ParquetPageSourceFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/parquet/ParquetPageSourceFactory.java @@ -46,7 +46,6 @@ import io.trino.spi.predicate.TupleDomain; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.hadoop.metadata.BlockMetaData; import org.apache.parquet.hadoop.metadata.ColumnChunkMetaData; @@ -61,7 +60,6 @@ import javax.inject.Inject; -import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashSet; import java.util.List; @@ -73,7 +71,6 @@ import java.util.Set; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.collect.ImmutableList.toImmutableList; import static com.google.common.collect.ImmutableSet.toImmutableSet; import static io.trino.memory.context.AggregatedMemoryContext.newSimpleAggregatedMemoryContext; @@ -88,7 +85,6 @@ import static io.trino.plugin.hive.HiveColumnHandle.ColumnType.REGULAR; import static io.trino.plugin.hive.HiveErrorCode.HIVE_BAD_DATA; import static io.trino.plugin.hive.HiveErrorCode.HIVE_CANNOT_OPEN_SPLIT; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.HivePageSourceProvider.projectBaseColumns; import static io.trino.plugin.hive.HivePageSourceProvider.projectSufficientColumns; import static io.trino.plugin.hive.HiveSessionProperties.getParquetMaxReadBlockRowCount; @@ -315,14 +311,7 @@ && predicateMatches( if (e instanceof ParquetCorruptionException) { throw new TrinoException(HIVE_BAD_DATA, e); } - if (nullToEmpty(e.getMessage()).trim().equals("Filesystem closed") || - e instanceof FileNotFoundException) { - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, e); - } String message = format("Error opening Hive split %s (offset=%s, length=%s): %s", inputFile.location(), start, length, e.getMessage()); - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, message, e); } } diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/rcfile/RcFilePageSourceFactory.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/rcfile/RcFilePageSourceFactory.java index 70cc993d119f..8244cd0fa83f 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/rcfile/RcFilePageSourceFactory.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/rcfile/RcFilePageSourceFactory.java @@ -48,12 +48,10 @@ import io.trino.spi.type.TypeManager; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; import org.joda.time.DateTimeZone; import javax.inject.Inject; -import java.io.FileNotFoundException; import java.io.InputStream; import java.util.List; import java.util.Optional; @@ -61,11 +59,9 @@ import java.util.Properties; import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.nullToEmpty; import static com.google.common.collect.ImmutableList.toImmutableList; import static io.trino.plugin.hive.HiveErrorCode.HIVE_BAD_DATA; import static io.trino.plugin.hive.HiveErrorCode.HIVE_CANNOT_OPEN_SPLIT; -import static io.trino.plugin.hive.HiveErrorCode.HIVE_MISSING_DATA; import static io.trino.plugin.hive.HivePageSourceProvider.projectBaseColumns; import static io.trino.plugin.hive.HiveSessionProperties.getTimestampPrecision; import static io.trino.plugin.hive.ReaderPageSource.noProjectionAdaptation; @@ -163,10 +159,6 @@ else if (deserializerClassName.equals(COLUMNAR_SERDE_CLASS)) { throw e; } catch (Exception e) { - if (nullToEmpty(e.getMessage()).trim().equals("Filesystem closed") || - e instanceof FileNotFoundException) { - throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, splitError(e, path, start, length), e); } @@ -192,17 +184,14 @@ else if (deserializerClassName.equals(COLUMNAR_SERDE_CLASS)) { ConnectorPageSource pageSource = new RcFilePageSource(rcFileReader, projectedReaderColumns); return Optional.of(new ReaderPageSource(pageSource, readerProjections)); } + catch (TrinoException e) { + throw e; + } catch (Throwable e) { - if (e instanceof TrinoException) { - throw (TrinoException) e; - } String message = splitError(e, path, start, length); if (e instanceof FileCorruptionException) { throw new TrinoException(HIVE_BAD_DATA, message, e); } - if (e instanceof BlockMissingException) { - throw new TrinoException(HIVE_MISSING_DATA, message, e); - } throw new TrinoException(HIVE_CANNOT_OPEN_SPLIT, message, e); } } diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java index 4d5686823665..5a746fded030 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiErrorCode.java @@ -25,7 +25,7 @@ public enum HudiErrorCode HUDI_UNKNOWN_TABLE_TYPE(0, EXTERNAL), HUDI_INVALID_PARTITION_VALUE(1, EXTERNAL), HUDI_BAD_DATA(2, EXTERNAL), - HUDI_MISSING_DATA(3, EXTERNAL), + // HUDI_MISSING_DATA(3, EXTERNAL) is deprecated HUDI_CANNOT_OPEN_SPLIT(4, EXTERNAL), HUDI_UNSUPPORTED_FILE_FORMAT(5, EXTERNAL), HUDI_CURSOR_ERROR(6, EXTERNAL); diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java index 5fb4a8bcce5b..6d8248a643f7 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiPageSourceProvider.java @@ -46,7 +46,6 @@ import io.trino.spi.type.Decimals; import io.trino.spi.type.TypeSignature; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hdfs.BlockMissingException; import org.apache.hudi.common.model.HoodieFileFormat; import org.apache.parquet.column.ColumnDescriptor; import org.apache.parquet.hadoop.metadata.BlockMetaData; @@ -89,7 +88,6 @@ import static io.trino.plugin.hudi.HudiErrorCode.HUDI_CANNOT_OPEN_SPLIT; import static io.trino.plugin.hudi.HudiErrorCode.HUDI_CURSOR_ERROR; import static io.trino.plugin.hudi.HudiErrorCode.HUDI_INVALID_PARTITION_VALUE; -import static io.trino.plugin.hudi.HudiErrorCode.HUDI_MISSING_DATA; import static io.trino.plugin.hudi.HudiErrorCode.HUDI_UNSUPPORTED_FILE_FORMAT; import static io.trino.plugin.hudi.HudiSessionProperties.isParquetOptimizedNestedReaderEnabled; import static io.trino.plugin.hudi.HudiSessionProperties.isParquetOptimizedReaderEnabled; @@ -264,16 +262,10 @@ && predicateMatches(parquetPredicate, block, dataSource, descriptorsByPath, parq if (e instanceof TrinoException) { throw (TrinoException) e; } - String message = format("Error opening Hudi split %s (offset=%s, length=%s): %s", - path, start, length, e.getMessage()); - if (e instanceof ParquetCorruptionException) { - throw new TrinoException(HUDI_BAD_DATA, message, e); - } - - if (e instanceof BlockMissingException) { - throw new TrinoException(HUDI_MISSING_DATA, message, e); + throw new TrinoException(HUDI_BAD_DATA, e); } + String message = "Error opening Hudi split %s (offset=%s, length=%s): %s".formatted(path, start, length, e.getMessage()); throw new TrinoException(HUDI_CANNOT_OPEN_SPLIT, message, e); } } diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergErrorCode.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergErrorCode.java index 3488690865a0..51e955458e18 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergErrorCode.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergErrorCode.java @@ -29,7 +29,7 @@ public enum IcebergErrorCode ICEBERG_TOO_MANY_OPEN_PARTITIONS(2, USER_ERROR), ICEBERG_INVALID_PARTITION_VALUE(3, EXTERNAL), ICEBERG_BAD_DATA(4, EXTERNAL), - ICEBERG_MISSING_DATA(5, EXTERNAL), + // ICEBERG_MISSING_DATA(5, EXTERNAL) is deprecated ICEBERG_CANNOT_OPEN_SPLIT(6, EXTERNAL), ICEBERG_WRITER_OPEN_ERROR(7, EXTERNAL), ICEBERG_FILESYSTEM_ERROR(8, EXTERNAL), diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergPageSourceProvider.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergPageSourceProvider.java index b5961c3f52f9..2096aa7dde75 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergPageSourceProvider.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergPageSourceProvider.java @@ -81,7 +81,6 @@ import io.trino.spi.type.TypeManager; import org.apache.avro.file.DataFileStream; import org.apache.avro.generic.GenericDatumReader; -import org.apache.hadoop.hdfs.BlockMissingException; import org.apache.iceberg.MetadataColumns; import org.apache.iceberg.PartitionSpec; import org.apache.iceberg.PartitionSpecParser; @@ -143,7 +142,6 @@ import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_BAD_DATA; import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_CANNOT_OPEN_SPLIT; import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_CURSOR_ERROR; -import static io.trino.plugin.iceberg.IcebergErrorCode.ICEBERG_MISSING_DATA; import static io.trino.plugin.iceberg.IcebergMetadataColumn.FILE_MODIFIED_TIME; import static io.trino.plugin.iceberg.IcebergMetadataColumn.FILE_PATH; import static io.trino.plugin.iceberg.IcebergSessionProperties.getOrcLazyReadSmallRanges; @@ -693,10 +691,10 @@ else if (orcColumn != null) { if (e instanceof TrinoException) { throw (TrinoException) e; } - String message = format("Error opening Iceberg split %s (offset=%s, length=%s): %s", inputFile.location(), start, length, e.getMessage()); - if (e instanceof BlockMissingException) { - throw new TrinoException(ICEBERG_MISSING_DATA, message, e); + if (e instanceof OrcCorruptionException) { + throw new TrinoException(ICEBERG_BAD_DATA, e); } + String message = "Error opening Iceberg split %s (offset=%s, length=%s): %s".formatted(inputFile.location(), start, length, e.getMessage()); throw new TrinoException(ICEBERG_CANNOT_OPEN_SPLIT, message, e); } } @@ -1039,15 +1037,10 @@ else if (column.getId() == TRINO_MERGE_PARTITION_DATA) { if (e instanceof TrinoException) { throw (TrinoException) e; } - String message = format("Error opening Iceberg split %s (offset=%s, length=%s): %s", inputFile.location(), start, length, e.getMessage()); - if (e instanceof ParquetCorruptionException) { - throw new TrinoException(ICEBERG_BAD_DATA, message, e); - } - - if (e instanceof BlockMissingException) { - throw new TrinoException(ICEBERG_MISSING_DATA, message, e); + throw new TrinoException(ICEBERG_BAD_DATA, e); } + String message = "Error opening Iceberg split %s (offset=%s, length=%s): %s".formatted(inputFile.location(), start, length, e.getMessage()); throw new TrinoException(ICEBERG_CANNOT_OPEN_SPLIT, message, e); } }