Since you also had the problem of zstd suddenly getting mixed up with gzip and it resolved itself - i wonder if there’s any hardware issue here (RAM for example?)
Can you:
wait and try again?
reboot and verify again?
use another machine to connect to the repo and verify it?
See if you can find a pattern there… If you can consistenly reproduce this (even if different behavior every time), please ping me on Slack so we can work on fixing it.
I don’t think it is a RAM issue. Regardless … I tested the RAM (it is ok). And I verified the repository on a different machine and Linux instead of Win. But I also got CRC errors there.
I don’t know what you mean by a “fresh repository”? (a fresh repo in my vocabulary means “newly created repo without data”). In my testing I create and delete repos “daily”. I have run it 10 times (it takes a lot of times …), but I did it a quite few times and got crc errors (but not always). It does not happen on smaller repos.
I would suggest you try the same. Create a new repo, enable zstd, snapshot 150GB files to a filesystem repo. Do a full maintenance run, and then run a 100% content verify.
I am also wondering, is there a way to find out to which files(s) the content blocks with crc errors belong? Maybe there is a pattern there?
BTW, I also verified backups created with other tools, but there never has been an issue.
I ran this serveral times on my windows box using a script, but it was not able to reproduce it, I’ll keep trying but I would appreciate if you could help me narrow it down:
Are those large files, small files? Generally compressible or non-compressible?
Would you be able to try with a different compression method and see if you can reproduce it? Also without compression?
Also, I would like to double check that there is no activity between snapshot and maintenance? Maintenance after a single snapshot should basically be a no-op since there is no data to rewrite or delete. Wondering if you can reproduce this without maintenance at all?
I did the test with gzip a few times before but there no were no crc errors. But I ran it again today.
I noticed one issue. zstd is supposed to be fast, certainly not much slower than gzip. However, verifying a repo with zstd takes 45 minutes, while the gzip repo only takes 15 minutes. Do you see the same in your tests?
There is also another weird issue I noticed
zstd verify:
Finished verifying 294807 contents, found 6 errors.
gzip verify
Finished verifying 200859 contents, found 0 errors
There is a huge difference in the number of contents. Do you see the same in your tests?
The zstd repo is 3GB smaller than gzip which is to be expected since zstd has better compression.
The source is a mix of large, medium, and small files, roughly 50% is not compressible (according to content stats).
There was no activity between - other than snapshot list or so (and I disabled automatic maintenance as well).
Unfortunately the developer has abandoned this question … (Even though I raised interesting points in my last reply: 1. Number of contents. 2. zstd slower than gzip …)
My recommendation is to stick with the default compressor gzip. It seems much more stable.