Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/swh/storage/archiver/copier.py b/swh/storage/archiver/copier.py
index b4e67c22f..53e517636 100644
--- a/swh/storage/archiver/copier.py
+++ b/swh/storage/archiver/copier.py
@@ -1,49 +1,56 @@
# Copyright (C) 2015-2016 The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information
import logging
+from swh.core import hashutil
+from swh.objstorage.exc import ObjNotFoundError
logger = logging.getLogger('archiver.worker.copier')
class ArchiverCopier():
""" This archiver copy some files into a remote objstorage
in order to get a backup.
"""
def __init__(self, source, destination, content_ids):
""" Create a Copier for the archiver
Args:
source (ObjStorage): source storage to get the contents.
destination (ObjStorage): Storage where the contents will
be copied.
content_ids: list of content's id to archive.
"""
self.source = source
self.destination = destination
self.content_ids = content_ids
def run(self):
""" Do the copy on the backup storage.
Run the archiver copier in order to copy the required content
into the current destination.
The content which corresponds to the sha1 in self.content_ids
will be fetched from the master_storage and then copied into
the backup object storage.
Returns:
A boolean that indicates if the whole content have been copied.
"""
try:
for content_id in self.content_ids:
- content = self.source.get(content_id)
+ try:
+ content = self.source.get(content_id)
+ except ObjNotFoundError:
+ logging.error('content %s not found' %
+ hashutil.hash_to_hex(content_id))
+ continue
self.destination.add(content, content_id)
except Exception as e:
logging.error('Problem during copy: %s' % e)
return False
return True

File Metadata

Mime Type
text/x-diff
Expires
Jul 4 2025, 9:25 AM (5 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3312123

Event Timeline