Apache Iceberg version
1.10.1 (latest release)
Query engine
None
Please describe the bug 🐞
Description
#16055 identified and fixed an EOF handling bug in GCSInputStream. But it looks like the same bug exists in all other cloud storage InputStream implementations.
Impact: The single-byte read() bug can cause an infinite loop for callers that reads until EOF. In practice, Iceberg typically reads files using range reads at known offsets rather than sequential reads to EOF, so this is unlikely to be hit in the hot path.
There is also a metric bug in the buffered read called out in the PR.
Affected implementations:
GCS fix from @vladislav-sidorovich : #16055
Willingness to contribute
Apache Iceberg version
1.10.1 (latest release)
Query engine
None
Please describe the bug 🐞
Description
#16055 identified and fixed an EOF handling bug in
GCSInputStream. But it looks like the same bug exists in all other cloud storageInputStreamimplementations.Impact: The single-byte
read()bug can cause an infinite loop for callers that reads until EOF. In practice, Iceberg typically reads files using range reads at known offsets rather than sequential reads to EOF, so this is unlikely to be hit in the hot path.There is also a metric bug in the buffered read called out in the PR.
Affected implementations:
S3InputStream#read()ADLSInputStream#read()OSSInputStream(aliyun)EcsSeekableInputStream(dell)GCS fix from @vladislav-sidorovich : #16055
Willingness to contribute