rdblue commented on a change in pull request #14: Pluggable file I/O submodule in TableOperations URL: https://github.com/apache/incubator-iceberg/pull/14#discussion_r239300299
########## File path: core/src/main/java/com/netflix/iceberg/TableOperations.java ########## @@ -56,27 +55,15 @@ void commit(TableMetadata base, TableMetadata metadata); /** - * Create a new {@link InputFile} for a path. - * - * @param path a string file path - * @return an InputFile instance for the path + * Obtain a handler to read and write files. */ - InputFile newInputFile(String path); + FileIO fileIo(); - /** - * Create a new {@link OutputFile} in the table's metadata store. - * - * @param filename a string file name, not a full path - * @return an OutputFile instance for the path - */ - OutputFile newMetadataFile(String filename); + String resolveMetadataPath(String fileName); - /** - * Delete a file. - * - * @param path path to the file - */ - void deleteFile(String path); + default OutputFile newMetadataFile(String fileName) { Review comment: If possible, I'd rather have callers use `newMetadataLocation` and `newOutputFile` instead of continuing to have this. Now that `FileIO` is separate, this looks like it breaks the abstraction. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services