How to fix missing blobs?

I recently found out about Kopia, and I really like it so far. It combines usability and functionality in a nice package and ticks all the checkboxes.

One thing I particularly like is the ability to skip snapshotting when no data was changed. This feature is missing in many backup tools. When using frequent snapshot schedule, and then needing to restore, say, a deleted file, it would be time-consuming to go through all snapshots (imagine over 100 per day) in order to find the file. Or finding actually changed versions of the file.

However, there is one thing I don’t understand about Kopia. My favorite test with backup tools is deleting a file at the destination and seeing what happens. When I did that with Kopia backup, it didn’t detect anything. Upon reading documentation I ran “snapshot verify”. It detected the missing blob. Good, but what do we do now? Subsequent snapshots happily take place without re-uploading the missing bits. The data is still there at the source. It should be a simple problem to fix.

There are several older discussions about the same issue, but no solution. I tried these (one at a time):
snapshot fix remove-files --object-id= --commit
snapshot fix invalid-files --verify-files-percent=100 --commit

It fixes the issue in terms of “snapshot verify” no longer throwing errors, however, a) missing data is not uploaded, b) the next snapshot runs, after which “snapshot verify” throws errors again, and rightfully so since the data is still missing.

I understand due to the nature of snapshots past snapshots won’t have the missing data. But surely there has to be a way to make Kopia back up missing data on the next run?

Kopia assumes the storage medium is stable and doesn’t try uploading things it thinks it has completed successfully. There is no way to recover a blob from the repository. This missing blob may affect multiple files because Kopia is doing dedups

However, if the source is still available then you can tell kopia to check everything on its next snapshot. So something like “kopia snapshot create --force-hash=100” should make it rescan everything and upload the missing parts.

If it was truly gone then the solution would just be to delete the snapshot or let the snapshot age out.

Thank you for a quick reply. I just tried this command, and it didn’t produce the desired outcomed. Even when running it wasn’t showing enough data uploaded. Running “snapshot verify” right afterwards shows the same “missing blob” error.

Do you have any other suggestions? It seems the only way is to wipe out the repository and start over. Even manually removing all snapshots and doing a new one with force-hash still didn’t help. Kopia is just stuck thinking it has the missing blob no matter what I do.