Skip to content

Commit cfe6a13

Browse files
committed
Fix: Solve garbage collection deleting issues that raises individually and stops the garbage process.
1 parent ad19c70 commit cfe6a13

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/aleph/services/storage/garbage_collector.py

Lines changed: 15 additions & 13 deletions
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)
@@ -54,19 +52,23 @@ async def collect(self, datetime: dt.datetime):
5452
files_to_delete = list(get_unpinned_files(session))
5553
LOGGER.info("Found %d files to delete", len(files_to_delete))
5654

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

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

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)
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)
6868

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

7173

7274
async def garbage_collector_task(

0 commit comments

Comments
 (0)