Skip to content

Commit 908d43e

Browse files
Setting num_bytes to DEFAULT_READ_BUFFER_SIZE if it is None originally (#34475)
* Setting num_bytes to DEFAULT_READ_BUFFER_SIZE if it is None originally (resolves #34435) * Setting num_bytes to DEFAULT_READ_BUFFER_SIZE if it is None originally (resolves #34435) * Setting num_bytes to DEFAULT_READ_BUFFER_SIZE if it is None originally (resolves #34435) * setting the default value in the function definition
1 parent 404170a commit 908d43e

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

sdks/python/apache_beam/io/filesystem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ def _read_from_internal_buffer(self, read_fn):
291291
self._read_buffer.seek(0, os.SEEK_END) # Allow future writes.
292292
return result
293293

294-
def read(self, num_bytes: Optional[int] = None) -> bytes:
294+
def read(self, num_bytes: Optional[int] = DEFAULT_READ_BUFFER_SIZE) -> bytes:
295295
if not self._decompressor:
296296
raise ValueError('decompressor not initialized')
297297

sdks/python/apache_beam/io/filesystem_test.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,21 @@ def test_read_and_seek_back_to_beginning(self):
470470

471471
self.assertEqual(first_pass, second_pass)
472472

473+
def test_read(self):
474+
for compression_type in [CompressionTypes.BZIP2,
475+
CompressionTypes.DEFLATE,
476+
CompressionTypes.GZIP,
477+
CompressionTypes.ZSTD,
478+
CompressionTypes.LZMA]:
479+
file_name = self._create_compressed_file(compression_type, self.content)
480+
with open(file_name, 'rb') as f:
481+
compressed_fd = CompressedFile(
482+
f, compression_type, read_size=self.read_block_size)
483+
484+
data = compressed_fd.read()
485+
486+
self.assertEqual(data, self.content)
487+
473488
def test_tell(self):
474489
lines = [b'line%d\n' % i for i in range(10)]
475490
tmpfile = self._create_temp_file()

0 commit comments

Comments
 (0)