# HG changeset patch # User RhodeCode Admin # Date 2024-06-06 17:50:31 # Node ID 9c658c9d2f96847c0faf015626084bd66bfd529a # Parent 035c4f287b846a594c55255f6444f5450b40b47e feat(archive-cache): re-calculate size better if we miss it in stats diff --git a/rhodecode/lib/rc_cache/archive_cache/fanout_cache.py b/rhodecode/lib/rc_cache/archive_cache/fanout_cache.py --- a/rhodecode/lib/rc_cache/archive_cache/fanout_cache.py +++ b/rhodecode/lib/rc_cache/archive_cache/fanout_cache.py @@ -331,21 +331,25 @@ class FanoutCache: key_file_path = os.path.join(shard._directory, key_file) with open(key_file_path, 'rb') as f: metadata = json.loads(f.read()) - # in case we don't have size re-calc it... - if not metadata.get('size'): - fn = metadata.get('full_path') - size = os.stat(fn).st_size + + size = metadata.get('size') + filename = metadata.get('filename') + full_path = metadata.get('full_path') + + if not size: + # in case we don't have size re-calc it... + size = os.stat(full_path).st_size data.append([ cnt, key_file, key_file_path, - metadata.get('filename'), - metadata.get('full_path'), + filename, + full_path, metadata.get('store_time', 0), metadata.get('access_time', 0), metadata.get('access_count', 0), - metadata.get('size', size), + size, ]) cnt += 1