It would be great if there would be a way to prune empty (constant) revisions. I have several snapshots that look like this:
snap | rev | | files | bytes | chunks | bytes | uniq | bytes | new | bytes |
NAS1-Software | 1 | @ 2022-08-10 13:04 -hash | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 43962 | 211,002M |
NAS1-Software | 2 | @ 2022-08-12 01:03 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 3 | @ 2022-08-12 13:14 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 4 | @ 2022-08-14 12:27 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 5 | @ 2022-08-14 22:54 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 6 | @ 2022-08-16 04:36 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 7 | @ 2022-08-16 12:23 | 21255 | 226,943M | 43962 | 211,002M | 0 | 0 | 0 | 0 |
NAS1-Software | 8 | @ 2022-08-18 23:22 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 22 | 85,432K |
NAS1-Software | 9 | @ 2022-08-19 13:43 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 10 | @ 2022-08-19 13:57 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 11 | @ 2022-08-19 14:25 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 12 | @ 2022-08-19 14:34 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 13 | @ 2022-08-20 01:08 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 14 | @ 2022-08-20 17:47 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 15 | @ 2022-08-21 02:51 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 16 | @ 2022-08-22 21:18 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 17 | @ 2022-08-25 21:41 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 18 | @ 2022-08-27 17:55 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 19 | @ 2022-08-28 06:10 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 20 | @ 2022-08-29 12:35 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 21 | @ 2022-08-31 00:42 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 22 | @ 2022-09-01 20:55 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 23 | @ 2022-09-04 20:20 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 24 | @ 2022-09-05 20:52 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 25 | @ 2022-09-07 06:10 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 26 | @ 2022-09-07 07:11 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 27 | @ 2022-09-08 05:35 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 28 | @ 2022-09-08 06:35 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 29 | @ 2022-09-09 04:39 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 30 | @ 2022-09-10 00:37 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 31 | @ 2022-09-10 20:58 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 32 | @ 2022-09-11 17:28 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 33 | @ 2022-09-12 04:11 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 34 | @ 2022-09-12 06:00 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 35 | @ 2022-09-12 15:22 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 36 | @ 2022-09-14 00:15 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 37 | @ 2022-09-14 12:12 | 21255 | 226,850M | 43940 | 210,900M | 0 | 0 | 0 | 0 |
NAS1-Software | 38 | @ 2022-09-15 21:12 | 21257 | 226,931M | 43963 | 210,975M | 0 | 0 | 27 | 80,889K |
NAS1-Software | 39 | @ 2022-09-17 01:08 | 21257 | 226,931M | 43963 | 210,975M | 0 | 0 | 0 | 0 |
NAS1-Software | 40 | @ 2022-09-17 10:42 | 21257 | 226,931M | 43963 | 210,975M | 0 | 0 | 0 | 0 |
i.e. the snapshot is mostly constant, except once in a while there are some changes. If I am to restore something from such snapshot, I am offered a list of 40 revisions, though in reality there are only 3 (#1, #8 and #38), but I don’t know that during restore. So if I am looking for something, instead of checking just 3 revisions at most, I may poke a lot more (as during restore duplicate revisions are not obvious).
I assume I can manually delete duplicate revisions from /snapshots, or even attach some scripting to check log processing, but I think it would be better if these revisions could be dropped on a flag. Possibly even as part of check rather than prune, as check should have all the information needed to identify duplicate revisions, and no actual chunks are supposed to be pruned during this operation.
Thoughts?
slows down significantly, we’ve seen examples of that before. With mostly static snapshots, there is an easy way to deal with that by only throwing out minimal redundant information, while retaining non-trivial data and performance.