1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-03-04 10:39:50 +00:00

Merge pull request #6918 from ThomasWaldmann/compaction-debugging-1.2

repository: add debug logging for issue #6687
This commit is contained in:
TW 2022-08-06 10:27:23 +02:00 committed by GitHub
commit fa8d8ecd73
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -817,9 +817,10 @@ class Repository:
elif tag == TAG_DELETE and not in_index:
# If the shadow index doesn't contain this key, then we can't say if there's a shadowed older tag,
# therefore we do not drop the delete, but write it to a current segment.
shadowed_put_exists = key not in self.shadow_index or any(
# If the key is in the shadow index and there is any segment with an older PUT of this
# key, we have a shadowed put.
key_not_in_shadow_index = key not in self.shadow_index
# If the key is in the shadow index and there is any segment with an older PUT of this
# key, we have a shadowed put.
shadowed_put_exists = key_not_in_shadow_index or any(
shadowed < segment for shadowed in self.shadow_index[key])
delete_is_not_stable = index_transaction_id is None or segment > index_transaction_id
@ -865,6 +866,10 @@ class Repository:
self.compact[new_segment] += size
segments.setdefault(new_segment, 0)
else:
logger.debug('dropping DEL for id %s - seg %d, iti %r, knisi %r, spe %r, dins %r, si %r',
bin_to_hex(key), segment, index_transaction_id,
key_not_in_shadow_index, shadowed_put_exists, delete_is_not_stable,
self.shadow_index.get(key))
# we did not keep the delete tag for key (see if-branch)
if not self.shadow_index[key]:
# shadowed segments list is empty -> remove it