Skip to content

Improve messaging from "restic check --check-unused" after forget and prune with --max-unused > 0 #3295

@underhillian

Description

@underhillian

Output of restic version

restic 0.12.0 compiled with go1.15.8 on linux/amd64

What should restic do differently? Which functionality do you think we should add?

Running "restic check --check-unused" after successfully completing a forget --prune operation using the new (>= 0.12.0) prune version with a non-zero --max-unused value can produce thousands of "unused blob <data/xxxxxxxx>" messages followed by "Fatal: repository contains errors" even though the repository is perfectly healthy.

Apart from filling the log with unnecessary information, the casual user could easily interpret these messages as indicating a problem with the repo when in fact none exists.

Some possible ways to address this (none of them great; hopefully others will have better ideas) include:

--have restic track which blobs are intentionally unused (i.e. exist as a consequence of a successful forget and prune) and suppress the --check-unused messages (especially any "Fatal" message) attributable to these blobs.

--put an explanation in the documentation of the "--check-unused" option alerting the user of the potential for these messages and appropriate interpretation

--phase out/deprecate the --check-unused flag to restic clean. With the new default prune behavior, the value of this check may not be what it used to be.

What are you trying to do? What problem would this solve?

Avoid user confusion associated by with seeing many unexpected messages and the word "Fatal" in restic check output when in fact no issue exists.

Did restic help you today? Did it make you happy in any way?

Restic is great! And the speed improvement with the "new prune" is amazing...many thanks!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions