-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Poor heuristic choices for sending incremental diffs #50
Comments
👍 Same problem here. |
It's a bit hard to diagnose this without having the snapshots. Note that the heuristic considers factors other than the diff size, including how "tall" the diff stack is on the destination. i.e., it won't create a thousand one-day diffs each depending on the previous, because if any one of those thousand goes bad, you lose the whole thing. Buttersink is designed to occasionally diff from an "old" snapshot, so that your diff repo is more reliable. In any event, I can see that it would at least be helpful to make the heuristic process more transparent, and maybe give some options for tweaking it. I'll leave this bug open to address that. |
Don't you think sending the snapshots in the order they are taken should be sufficient? |
Indeed. My comment should only be relevant when S3 is the destination. I'll investigate further. |
Base for diffs should be updated ones any snapshot transfer is finished. |
My extra note on optimizations #58. |
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
This makes to reuse newly transferred snapshot as a base for subsequent one. Resolves: AmesCornish#50
The case of transferring into a btrfs system should be addressed in d25e71e. "Tall" diff chains will only be avoided for S3, which is storing diffs. |
I have a read-write "current" subvolume, from which I create read-only snapshots every day.
If I didn't do anything significant on a given day,
btrfs send <today> -p <yesterday>
will produce a stream worth kilobytes.buttersink doesn't seem to realise this, and tries to do extremely expensive transfers from a much older snapshot.
To another btrfs hard disk:
To s3:
In the above situation,
The text was updated successfully, but these errors were encountered: