ignore corrupt files cache, fixes #2939

ignore the files cache when corrupt and emit a warning message
so the users notices that there is a problem.
This commit is contained in:
Thomas Waldmann 2017-08-16 01:52:33 +02:00
parent edda2e6989
commit 5beaa5bd02
1 changed files with 10 additions and 4 deletions

View File

@ -208,10 +208,16 @@ Chunk index: {0.total_unique_chunks:20d} {0.total_chunks:20d}"""
if not data:
break
u.feed(data)
for path_hash, item in u:
item[0] += 1
# in the end, this takes about 240 Bytes per file
self.files[path_hash] = msgpack.packb(item)
try:
for path_hash, item in u:
item[0] += 1
# in the end, this takes about 240 Bytes per file
self.files[path_hash] = msgpack.packb(item)
except (TypeError, ValueError) as exc:
logger.warning('The files cache seems corrupt, ignoring it. '
'Expect lower performance. [%s]' % str(exc))
self.files = {}
return
def begin_txn(self):
# Initialize transaction snapshot