rdblue commented on code in PR #12476: URL: https://github.com/apache/iceberg/pull/12476#discussion_r1985859647
########## core/src/main/java/org/apache/iceberg/ManifestReader.java: ########## @@ -133,12 +131,18 @@ private <T extends ContentFile<T>> PartitionSpec readPartitionSpec(InputFile inp private static <T extends ContentFile<T>> Map<String, String> readMetadata(InputFile inputFile) { Map<String, String> metadata; try { - try (AvroIterable<ManifestEntry<T>> headerReader = - Avro.read(inputFile) + try (CloseableIterable<ManifestEntry<T>> headerReader = + InternalData.read(FileFormat.AVRO, inputFile) .project(ManifestEntry.getSchema(Types.StructType.of()).select("status")) .classLoader(GenericManifestEntry.class.getClassLoader()) .build()) { - metadata = headerReader.getMetadata(); + + if (headerReader instanceof InternalData.DataIterable) { Review Comment: I'm not sure that this is needed and I'd prefer not to add the interface if possible. We should not really be using the file metadata to recover things like the partition spec. I think that this is only used by older code paths that we didn't migrate to pass the id to spec map through. At this point, I think we should go see where those methods are used and try to remove them, instead of adding this. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org