Very aggresive rustic prune
behaviour
#1017
-
rustic very often tries to repack relatively huge amount of data for very limited gains. I have seen it for some time but finally created some clear case to post here. I remove two snapshots from my small (about 15GB) test repo:
and now attempting to run
now it gets interesting, I run limited
subsequent attempt to
|
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 18 replies
-
And one more clean test: forgetting one snapshot:
dry-run prune to see how much data has to be repacked - 4.7 GiB
asking to repack only 1 GiB
and surprise, surprise rustic does not want to repack anything more
|
Beta Was this translation helpful? Give feedback.
-
And at last comparison with
but
|
Beta Was this translation helpful? Give feedback.
-
I think this is more a documentation/clarification issue. Rustic has a dynamic targeted packsize depending on the repository size. The idea about pack sizes depending on the repository size is that you get a good fit for individual repsoitories without the need to set/guess something optimal. In general, rustic's pack sizes are larger than restics and can go up to almost 4GiB. To ignore too small or too large packs, there is |
Beta Was this translation helpful? Give feedback.
-
And I think we should open an issue about the |
Beta Was this translation helpful? Give feedback.
-
Sorry but it does not adds up. This is 15GB repository size (very small). And default |
Beta Was this translation helpful? Give feedback.
-
Ah, and I forgot to mention that the default for Another difference is that rustic always does repack partly used tree pack files. Those should be fast accessible for basically all command and are also in the cache unless it is deactivated. Hence repacking those should be very fast. But @kapitainsky I agree your results look strange. I need to take a closer look and - as mentioned - we need to add more analysis possibilities in the |
Beta Was this translation helpful? Give feedback.
-
In the meantime I will leave this test repo as it is - so I can use it later if you make any changes. |
Beta Was this translation helpful? Give feedback.
-
I have compiled the latest dev version (main branch) and indeed it is now behaving more as expected. Caveat is to understand that there are two flags BTW - would it be possible to include e.g. the last git commit number in |
Beta Was this translation helpful? Give feedback.
-
The nightly builds have the commit in the version. If you want to do the same with your own builds, see https://github.com/rustic-rs/rustic/blob/main/scripts/build.sh |
Beta Was this translation helpful? Give feedback.
Yes, I think this is solved with rustic-rs/rustic_core#167.
BTW - it is already included in the current main branch and will be in the next official release, too.