diff --git a/streamflow/deployment/aiotarstream.py b/streamflow/deployment/aiotarstream.py index 0f08d4cea..8a7804c5b 100644 --- a/streamflow/deployment/aiotarstream.py +++ b/streamflow/deployment/aiotarstream.py @@ -253,7 +253,13 @@ def __init__(self, stream): self.position: int = 0 async def read(self, size: int | None = None): - buf = await self.stream.read(size) + buf = b"" + while size > 0: + res = await self.stream.read(size) + if len(res) == 0: + break + size -= len(res) + buf += res self.position += len(buf) return buf