Skip to content

Commit 5b36122

Browse files
authored
Fix: Solve garbage collection deleting issues that raises individually and stops the garbage process. (#792)
1 parent ad19c70 commit 5b36122

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/aleph/services/storage/garbage_collector.py

+14-13
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@ def __init__(
2525
async def _delete_from_ipfs(self, file_hash: ItemHash):
2626
ipfs_client = self.storage_service.ipfs_service.ipfs_client
2727
try:
28-
result = await ipfs_client.pin.rm(file_hash)
29-
print(result)
30-
28+
await ipfs_client.pin.rm(file_hash)
3129
except NotPinnedError:
3230
LOGGER.warning("File not pinned: %s", file_hash)
3331
except Exception as err:
34-
LOGGER.error("Failed to unpin file %s: %s", file_hash, str(err))
32+
LOGGER.warning("Failed to unpin file %s: %s", file_hash, str(err))
3533

3634
# Smaller IPFS files are cached in local storage
3735
LOGGER.debug("Deleting %s from local storage", file_hash)
@@ -55,18 +53,21 @@ async def collect(self, datetime: dt.datetime):
5553
LOGGER.info("Found %d files to delete", len(files_to_delete))
5654

5755
for file_to_delete in files_to_delete:
58-
file_hash = ItemHash(file_to_delete.hash)
59-
LOGGER.info("Deleting %s...", file_hash)
56+
try:
57+
file_hash = ItemHash(file_to_delete.hash)
58+
LOGGER.info("Deleting %s...", file_hash)
6059

61-
delete_file_db(session=session, file_hash=file_hash)
62-
session.commit()
60+
delete_file_db(session=session, file_hash=file_hash)
61+
session.commit()
6362

64-
if file_hash.item_type == ItemType.ipfs:
65-
await self._delete_from_ipfs(file_hash)
66-
elif file_hash.item_type == ItemType.storage:
67-
await self._delete_from_local_storage(file_hash)
63+
if file_hash.item_type == ItemType.ipfs:
64+
await self._delete_from_ipfs(file_hash)
65+
elif file_hash.item_type == ItemType.storage:
66+
await self._delete_from_local_storage(file_hash)
6867

69-
LOGGER.info("Deleted %s", file_hash)
68+
LOGGER.info("Deleted %s", file_hash)
69+
except Exception as err:
70+
LOGGER.error("Failed to delete file %s: %s", file_hash, str(err))
7071

7172

7273
async def garbage_collector_task(

0 commit comments

Comments
 (0)