Skip to content

When bad things happen to good digests #10

Description

@JTimothyKing

Data::Dedup::Engine calls digest functions on objects, in order to compute blocking keys to help it detect duplicates. (Look for lines referring to $blockingsub.) It is possible that one of these functions might fail and call die. For example, if we are deduplicating files, the engine might get to computing the very last, longest, fullest digest on a particular file, and then encounter a read error because of a hardware problem.

As the code is now written, this will result in the entire process coming to a screaming halt, which is a reasonable response to that scenario. However, it might be even better instead to warn, remove that file from the block (and maybe the block itself if it is now empty, and the key-slot that referred to that block, and the keystore if there are no other keys, and...)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions