Skip to content

Dell: Handle EOF in EcsSeekableInputStream reads#17065

Open
thswlsqls wants to merge 1 commit into
apache:mainfrom
thswlsqls:fix/dell-seekableinputstream-eof
Open

Dell: Handle EOF in EcsSeekableInputStream reads#17065
thswlsqls wants to merge 1 commit into
apache:mainfrom
thswlsqls:fix/dell-seekableinputstream-eof

Conversation

@thswlsqls

Copy link
Copy Markdown
Contributor

Relates to #16062

Summary

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.

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 and, for the bulk read
overload, decrementing the read-bytes counter by 1 on every EOF. S3,
ADLS, and GCS input streams were already fixed the same way in apache#16055;
Dell's ECS-backed stream was the one implementation left behind
(tracked by issue apache#16062, PR apache#16266 closed by stale-bot with no
committer objection).

Generated-by: Claude Code
@github-actions github-actions Bot added the DELL label Jul 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant