restic: Prune error: hash does not match id
Output of restic version
restic 0.8.1
compiled with go1.9.2 on linux/amd64
How did you run restic exactly?
export GOOGLE_APPLICATION_CREDENTIALS=
export GOOGLE_PROJECT_ID=xyz
export RESTIC_REPOSITORY=gs:xyz:/restic
> restic forget --keep-daily 14 --keep-weekly 4 --keep-monthly 3 --prune
...
3 snapshots have been removed, running prune
counting files in repo
building new index for repo
[2:32:08] 100.00%  267296 / 267296 packs
repository contains 267296 packs (8872906 blobs) with 1.202 TiB
processed 8872906 blobs: 391104 duplicate blobs, 72.908 GiB duplicate
load all snapshots
find data that is still in use for 93 snapshots
[9:33:37] 100.00%  93 / 93 snapshots
found 2599583 of 8872906 data blobs still in use, removing 6273323 blobs
will remove 0 invalid files
will delete 26302 packs and rewrite 31477 packs, this frees 204.107 GiB
hash does not match id: want da8129b85e6293465f70f91ca7add69a24edd0290cd5d81c8e5779bf14a8ac0e, got d0c254cddddb0152cbb6620ad30a12047181430cecb46f5d3109a7536acfb979
github.com/restic/restic/internal/repository.Repack
        src/github.com/restic/restic/internal/repository/repack.go:54
main.pruneRepository
        src/github.com/restic/restic/cmd/restic/cmd_prune.go:274
main.runForget
        src/github.com/restic/restic/cmd/restic/cmd_forget.go:237
main.glob..func8
        src/github.com/restic/restic/cmd/restic/cmd_forget.go:24
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute
        src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:698
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC
        src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:783
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute
        src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:736
main.main
        src/github.com/restic/restic/cmd/restic/main.go:69
runtime.main
        /usr/local/go/src/runtime/proc.go:195
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:2337
What backend/server/service did you use to store the repository?
Google cloud storage
Expected behavior
Prune to complete successfully or suggest a way to rectify the error.
Actual behavior
Steps during prune operation take a long time. Error returned during the pack deletion stage, unclear how to resolve.
Steps to reproduce the behavior
Prune a large repository. (first time)
Do you have any idea what may have caused this?
No
Do you have an idea how to solve the issue?
Perhaps it would be useful to be able to resume a prune operation, rather than needing to re-run the lengthy find data step again.
Did restic help you or made you happy in any way?
Restic is otherwise fantastic a very well designed backup tool.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 30 (16 by maintainers)
I’d like to point out that there’s a positive side to this: restic told you that something odd is going on and you cannot (currently) rely on all data in that particular repo 😃