Because of a combination of bugs, cachegrand is not taking into account changes to existing keys when verifying if the threshold for the amount of keys or data changed have been hit to run the snapshot.
The PR fixes this bug and refactor the code to allow skipping a snapshot run instead of running, indefinitely, consuming a lot of cpu cycles, checking if a snapshot can be taken or not.
The PR also improves the reporting in case of failures at the preparation stage (e.g. the directory indicated for the snapshots doesn't exist).
Because of a combination of bugs, cachegrand is not taking into account changes to existing keys when verifying if the threshold for the amount of keys or data changed have been hit to run the snapshot.
The PR fixes this bug and refactor the code to allow skipping a snapshot run instead of running, indefinitely, consuming a lot of cpu cycles, checking if a snapshot can be taken or not.
The PR also improves the reporting in case of failures at the preparation stage (e.g. the directory indicated for the snapshots doesn't exist).