thswlsqls opened a new pull request, #17065: URL: https://github.com/apache/iceberg/pull/17065
Relates to #16062 ## Summary - `EcsSeekableInputStream.read()` and `read(byte[], int, int)` advanced `pos` and incremented the read metrics before checking whether the underlying stream returned EOF (`-1`), violating the `InputStream` contract. - For the bulk read overload, `readBytes.increment(-1)` decremented the counter on every EOF instead of leaving it unchanged. - Matches the fix already merged for S3/ADLS/GCS in #16055; PR #16266 attempted the same fix for Dell/Aliyun but was closed by stale-bot with no committer objection. ## Testing done - Added `TestEcsSeekableInputStream#readAtEndOfStreamReturnsEofWithoutAdvancingPos` and `#readBytesAtEndOfStreamReturnsEofWithoutAdvancingPos` covering EOF for both `read()` and `read(byte[], int, int)`. - `./gradlew :iceberg-dell:check` — 6 tests passed (4 existing + 2 new), spotlessCheck/checkstyle passed. -- 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]
