Skip to content
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

Tree xxxxxx not found in repository and abort #1798

Closed
fab120 opened this issue May 22, 2018 · 7 comments · Fixed by #2876
Closed

Tree xxxxxx not found in repository and abort #1798

fab120 opened this issue May 22, 2018 · 7 comments · Fixed by #2876
Labels

Comments

@fab120
Copy link

fab120 commented May 22, 2018

Output of restic version

restic 0.9.0 compiled with go1.10.2 on linux/amd64

How did you run restic exactly?

restic -r swift:backup:/ forget --group-by paths --keep-last 15 --prune

What backend/server/service did you use to store the repository?

OVH object storage

Expected behavior

Warn about the missing object and continue the execution.

Actual behavior

[...]
2 snapshots have been removed, running prune
counting files in repo
building new index for repo
[1:49] 100.00%  1605 / 1605 packs
repository contains 1605 packs (225480 blobs) with 6.871 GiB
processed 225480 blobs: 3485 duplicate blobs, 4.761 MiB duplicate
load all snapshots
find data that is still in use for 30 snapshots
tree c649f1f83e9be8d420fd29d21cd9fb03f0e0838c86e8bf8fc6877e25738b6bb5 not found in repository
github.com/restic/restic/internal/repository.(*Repository).LoadTree
	src/github.com/restic/restic/internal/repository/repository.go:654
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:11
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:31
main.pruneRepository
	src/github.com/restic/restic/cmd/restic/cmd_prune.go:191
main.runForget
	src/github.com/restic/restic/cmd/restic/cmd_forget.go:240
main.glob..func10
	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:756
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC
	src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:846
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute
	src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:794
main.main
	src/github.com/restic/restic/cmd/restic/main.go:86
runtime.main
	/usr/local/go/src/runtime/proc.go:198
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:2361

Steps to reproduce the behavior

Running resting forget --prune against a repo

Did restic help you or made you happy in any way?

Restic is really awesome! Thanks for developing this!

@fd0 fd0 changed the title [0.9.0] Tree xxxxxx not found in repository and abort Tree xxxxxx not found in repository and abort May 22, 2018
@fd0 fd0 added category: prune 0.9.0 affects 0.9.0 0.8.3 affects 0.8.3 labels May 22, 2018
@fd0
Copy link
Member

fd0 commented May 22, 2018

Thanks for the report, this needs to be handled better. Please be aware that it looks like a file is missing from the repository, this is unfortunately not the first time it was reported to happen with the OVH Swift backend. I'm not aware of anything we could do from restic's side of view here.

@fd0 fd0 added 0.8.3 affects 0.8.3 and removed 0.8.3 affects 0.8.3 labels May 22, 2018
@fab120
Copy link
Author

fab120 commented May 23, 2018

I'm aware that it seems there are problems on OVH side.

I opened this issue only for handle this error in a better way 😄

@rmoriz
Copy link

rmoriz commented Jun 15, 2018

We've the same issue with s3:

# restic prune
repository a63869d2 opened successfully, password is correct
counting files in repo
building new index for repo
[5:26] 100.00%  16188 / 16188 packs
repository contains 16188 packs (84737 blobs) with 62.905 GiB
processed 84737 blobs: 9208 duplicate blobs, 1.882 GiB duplicate
load all snapshots
find data that is still in use for 112 snapshots
tree 6eb0c38dd7e85f6ae2bca0d7947cc79b482f415b9ce78bcb83cd257af86b1bff not found in repository
github.com/restic/restic/internal/repository.(*Repository).LoadTree
	src/github.com/restic/restic/internal/repository/repository.go:654
github.com/restic/restic/internal/restic.FindUsedBlobs
	src/github.com/restic/restic/internal/restic/find.go:11
main.pruneRepository
	src/github.com/restic/restic/cmd/restic/cmd_prune.go:191
main.runPrune
	src/github.com/restic/restic/cmd/restic/cmd_prune.go:85
main.glob..func18
	src/github.com/restic/restic/cmd/restic/cmd_prune.go:25
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).execute
	src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:756
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).ExecuteC
	src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:846
github.com/restic/restic/vendor/github.com/spf13/cobra.(*Command).Execute
	src/github.com/restic/restic/vendor/github.com/spf13/cobra/command.go:794
main.main
	src/github.com/restic/restic/cmd/restic/main.go:86
runtime.main
	/usr/local/go/src/runtime/proc.go:198
runtime.goexit
	/usr/local/go/src/runtime/asm_amd64.s:2361

Backup started with 0.8.0, we've seen this error with 0.8.1 and even after updating to 0.9.0

@fab120
Copy link
Author

fab120 commented Jun 15, 2018

@rmoriz Can you try with version 0.9.1?
Since I've upgraded Restic to this version, I do not get this error anymore (3 backups so far... can you confirm it too?)

@rmoriz
Copy link

rmoriz commented Jun 15, 2018

@fab120 Still having the issue wie 0.9.1

@DavidDreher
Copy link

DavidDreher commented Nov 5, 2018

I also have the same issue with a Backblaze B2 storage backend. How come that all these backends loose files?
What does this error entail? Are my backups broken by this?

BTW the restic version for me was 0.9.1

@MichaelEischer
Copy link
Member

Closing this as the issue is quite old and there have been several fixes which could be related to this issue. Contained in a released restic version: #2773 #2674 #1494 . To be released: #2842

Recovering from really missing trees is tracked via #1759.

Please open a new issue if the problem persists with a recent restic version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants