Fokko opened a new pull request, #6532:
URL: https://github.com/apache/iceberg/pull/6532
When a binary field would be zero bytes, we would still read the stream,
causing a EOFErrors:
```
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/manifest.py", line
139, in read_manifest_entry
for record in reader:
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/file.py", line
194, in __next__
return self.__next__()
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/file.py", line
186, in __next__
return next(self.block)
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/file.py", line
113, in __next__
return self.reader.read(self.block_decoder)
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/reader.py", line
260, in read
struct.set(pos, field.read(decoder)) # later: pass reuse in here
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/reader.py", line
260, in read
struct.set(pos, field.read(decoder)) # later: pass reuse in here
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/reader.py", line
233, in read
return self.option.read(decoder)
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/reader.py", line
313, in read
read_items[key] = self.value.read(decoder)
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/reader.py", line
200, in read
return decoder.read_bytes()
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/decoder.py", line
118, in read_bytes
return self.read(self.read_int())
File
"/Users/fokkodriesprong/Desktop/iceberg/python/pyiceberg/avro/decoder.py", line
54, in read
raise EOFError
EOFError
```
Fixes #6435
Many thanks to @joshuarobinson for reporting this 🙏🏻
--
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]