Skip to content

Commit 4a609a4

Browse files
authored
fix: close write object stream always (#1661)
fix: close write object stream always. otherwise Task will remain for long time until GC kills it and it'll throw this `"Task was destroyed but it is pending!"`
1 parent de2c8e9 commit 4a609a4

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

google/cloud/storage/_experimental/asyncio/async_appendable_object_writer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ async def close(self, finalize_on_close=False) -> Union[int, _storage_v2.Object]
267267
await self.finalize()
268268
else:
269269
await self.flush()
270-
await self.write_obj_stream.close()
270+
271+
await self.write_obj_stream.close()
271272

272273
self._is_stream_open = False
273274
self.offset = None

tests/unit/asyncio/test_async_appendable_object_writer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ async def test_finalize_on_close(mock_write_object_stream, mock_client):
313313
result = await writer.close(finalize_on_close=True)
314314

315315
# Assert
316-
mock_stream.close.assert_not_awaited() # Based on new implementation
316+
mock_stream.close.assert_awaited_once()
317317
assert not writer._is_stream_open
318318
assert writer.offset is None
319319
assert writer.object_resource == mock_resource

0 commit comments

Comments
 (0)