How is error correction to be used?


I am new to kopia and I am wondering how Reed–Solomon error correction is to be used. When I do the kopia benchmark ecc I get a recommendation saying:

Fastest option for this machine is: --ecc=REED-SOLOMON-CRC32 - 2%

But what do I do with that? How can I enable this? How can I check what the current value is? Is ecc used by default? I assume not, because the documentation says that this feature is experimental.

I guess I found it. ecc is a feature of the repository and needs to be defined during repo creation.

      --ecc=ALGO                 [EXPERIMENTAL] Error correction algorithm.
      --ecc-overhead-percent=0   [EXPERIMENTAL] How much space overhead can be used for error correction, in percentage. Use 0 to disable ECC.

Does it make sense to use that if the repository is sitting on a filesystem that has checksums (zfs, btrfs)?

One more question:
the command kopia repo status does not tell if ecc is turned on for the repo.

I only see one status parameter which differs between ecc enabled and disabled:

With ecc:
Format version: 3

Without ecc:
Format version: 2

Is that the differentiator for ecc?

This is experimental and in your case totally pointless to use IMO.

I am also thinking that it does not make sense for me because my filesystem is zfs. Nevertheless it is interesting to understand how it works. The documentation doesn’t say a lot.

Thanks for all the info. I have seen that already.

What about my other question: How does kopia tell the user if a repository has ecc enabled?

It is experimental feature so highly likely there are many hard edges.

You would have to check in source code. It is somewhere:)

BTW you can see it in kopia UI

What is it in repo status? Please see my first post in this thread.

repository status --json

has all details, e.g.:

  "contentFormat": {
    "hash": "BLAKE2B-256-128",
    "encryption": "AES256-GCM-HMAC-SHA256",
    "ecc": "REED-SOLOMON-CRC32",
    "eccOverheadPercent": 1,
    "version": 2,
    "maxPackSize": 20971520,
    "indexVersion": 2,
1 Like