sachinnn99 commented on PR #16167: URL: https://github.com/apache/iceberg/pull/16167#issuecomment-4466494726
Thanks for the thorough review @laskoviymishka! **On the 4 call sites:** Those methods use `org.apache.parquet.bytes.ByteBufferInputStream` (Parquet's class), not `org.apache.iceberg.io.ByteBufferInputStream` (the class modified here). They're in completely separate type hierarchies -- Parquet's extends `InputStream` directly, while Iceberg's extends `SeekableInputStream`. You can verify by checking the imports at line 24 in both `ValuesAsBytesReader.java` and `BaseVectorizedParquetValuesReader.java`. I also confirmed that no production code outside `core/io` references Iceberg's `ByteBufferInputStream`, so there are no callers that relied on the `EOFException` behavior. **On unused imports:** `EOFException` is still actively used in `SingleBufferInputStream` (`seek()`, `slice()`, `sliceBuffers()`), `MultiBufferInputStream` (same methods + a catch clause), and the test file (`testWholeSliceBuffers`, `testSkipFully`). The imports are still needed. **On enhancing `assertAtEOF`:** Good suggestion -- added `read(byte[])` assertion to the helper. **On the drained multi-buffer test:** Added `testDrainedMultiBufferStream` which creates a multi-buffer stream from non-empty buffers, drains it via `read(byte[])`, then calls `assertAtEOF`. This explicitly exercises the `nextBuffer() -> return -1` path at line 275. -- 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]
