Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions src/borg/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -797,7 +797,7 @@ def write_archive_index(archive_id, chunk_idx):

def read_archive_index(archive_id, archive_name):
archive_chunk_idx_path = mkpath(archive_id)
logger.info("Reading cached archive chunk index for %s ...", archive_name)
logger.info("Reading cached archive chunk index for %s", archive_name)
try:
try:
# Attempt to load compact index first
Expand Down Expand Up @@ -837,13 +837,12 @@ def get_archive_ids_to_names(archive_ids):
return archive_names

def create_master_idx(chunk_idx):
logger.info("Synchronizing chunks cache...")
logger.debug("Synchronizing chunks index...")
cached_ids = cached_archives()
archive_ids = repo_archives()
logger.info(
"Archives: %d, w/ cached Idx: %d, w/ outdated Idx: %d, w/o cached Idx: %d.",
len(archive_ids),
len(cached_ids),
"Cached archive chunk indexes: %d fresh, %d stale, %d need fetching.",
len(archive_ids & cached_ids),
len(cached_ids - archive_ids),
len(archive_ids - cached_ids),
)
Expand All @@ -858,7 +857,7 @@ def create_master_idx(chunk_idx):
pi = ProgressIndicatorPercent(
total=len(archive_ids),
step=0.1,
msg="%3.0f%% Syncing chunks cache. Processing archive %s",
msg="%3.0f%% Syncing chunks index. Processing archive %s.",
msgid="cache.sync",
)
archive_ids_to_names = get_archive_ids_to_names(archive_ids)
Expand All @@ -872,26 +871,26 @@ def create_master_idx(chunk_idx):
if archive_id not in cached_ids:
# Do not make this an else branch; the FileIntegrityError exception handler
# above can remove *archive_id* from *cached_ids*.
logger.info("Fetching and building archive index for %s ...", archive_name)
logger.info("Fetching and building archive index for %s.", archive_name)
archive_chunk_idx = ChunkIndex()
fetch_and_build_idx(archive_id, decrypted_repository, archive_chunk_idx)
logger.info("Merging into master chunks index ...")
logger.debug("Merging into master chunks index.")
chunk_idx.merge(archive_chunk_idx)
else:
chunk_idx = chunk_idx or ChunkIndex(usable=master_index_capacity)
logger.info("Fetching archive index for %s ...", archive_name)
logger.info("Fetching archive index for %s.", archive_name)
fetch_and_build_idx(archive_id, decrypted_repository, chunk_idx)
pi.finish()
logger.debug(
"Cache sync: processed %s (%d chunks) of metadata",
"Chunks index sync: processed %s (%d chunks) of metadata.",
format_file_size(processed_item_metadata_bytes),
processed_item_metadata_chunks,
)
logger.debug(
"Cache sync: compact chunks.archive.d storage saved %s bytes",
"Chunks index sync: compact chunks.archive.d storage saved %s bytes.",
format_file_size(compact_chunks_archive_saved_space),
)
logger.info("Done.")
logger.debug("Chunks index sync done.")
return chunk_idx

# The cache can be used by a command that e.g. only checks against Manifest.Operation.WRITE,
Expand Down