How to fix Missing Chunk?

I ran a check on my backup yesterday and it looks like it found 1 or 2 missing chunks.
I never ran a prune job since there are only a few snapshots.
I ran the check after a backup job completed yesterday.
Is there something i can do to run the backup in a mode that should fix the missing chunk ?
I backup to a Google Drive storage.

Thanks a bunch.
-DM

Hello @TheMentor,

Well i think this could have been easy to solve with a little search

also easily findable via our guide which is linked right on the first page of the forum (see circled button above)

You can at least try the suggestions there before asking us, right?

I read a bunch of posts but they didnt make any sense to me and required deleting snapshots and renaming snapshots etc.
I dont want to re-upload everything just to re-upload the missing chunks.

-DM

Is this one of the threads you already read? Are you interested in finding out how the chunk became missing to prevent this from happening again or do you only want to try to fix the missing chunk issue?

Yes this is the thread that I read.
I don’t really care why it got corrupted and from now on i’m going to run a check after my backups to catch it as soon as it happens.
If it will happen again than i’ll investigate what’s the cause.

Thanks.
-DM

  1. Since this is Google Drive, check the trash for the deleted chunk and put it back in the correct chunk folder.

  2. If you don’t want to try the Duplicacy-specific steps that have been suggested in the previously linked thread (which has a much higher chance of fixing the issue), you could maybe try to run a backup using the -hash option (which re-reads, chunks, and hashes everything). If the missing chunk is a file chunk, there’s a chance that the same exact chunk will be created again and uploaded – but this depends on a few factors and isn’t certain.

@leerspace I ran a backup with the -hash option and then i ran a check again.
it seems like it didnt work and the same chunk is still missing.

any other ideas?

The key is to create a separate temporary backup name for it. It will then upload the missing chunks as part of a new backup. Then you can delete that temporary backup.

How is an initial backup different from running one with the -hash option in this scenario? Will Duplicacy look at hashes in the previous snapshots and assume that if they’re listed in the backup then the chunk must exist – and so skip uploading it?

I don’t know for sure since I did not need to dig into this before, but what you say is quite a plausible reason and is aligned with how I understand it. On the other hand, this is what wiki you linked to above recommends in the section about recovering from missing chunk, (bold mine):

… if the backup where the missing chunk comes from was done recently and the files in that backup haven’t changed since the backup. In this case, you can modify the .duplicacy/preferences file to assign to the repository a new id that hasn’t been used by any repositories connecting to the same storage, and then run a new backup. This backup will be an initial backup because of the new repository id and therefore attempt to upload all chunks that do not exist in the storage. If you are lucky, this procedure will be able to produce an identical copy of the missing chunk.

1 Like

@TheMentor BTW, which version are you using? Have you manually verified that the chunk the check operation says is missing is actually not present in the storage?

@leerspace I’m have the GUI version - 2.1.2 (2e5cbc) installed but i’m running everything from the command line.

@saspus would changing the repository ID have any side effects? what are the disadvantages of such a thing ?

Thanks.
-DM

No, no side effects, you will change it back afterwards.
Because there are no snapshots at the destination for the new repository duplicacy will generate new chunks and attempt to upload all; those that already exist at the destination will be skipped. Those that don’t - will get uploaded. Which is the whole point.

It’s much easier than creating another temporary repository id (less typing)

In either case you will end up with an extra snapshot file in the sanapshot directory at the destination corresponding to the new backup; you can delete those or you can leave it be, they are pretty small.

Note, if however your repository has changed significantly since the chunk went missing this either won’t generate the same chunk, and/or upload many other different chunks. You can just prune the respositoru after deleting the temporary snapshots to clean that up.

I tried changing the repository ID, I’ve appended the -fix to the repository id.
ran the backup again and then the check it completed successfully without issues.
thank i changed the repository ID back to what it was.

Thanks for all your help.
I wish there was a simpler fix as part of the check command or something.
but i’m happy that its working as expected.

-DM

2 Likes

For anyone: Feel free to use the :heart: button on the posts that you found useful.

For the OP of any #support topic: you can mark the post that solved your issue by ticking the image box under the post. That of course may include your own post :slight_smile:

Here is a recommendation to make life easier for everyone: if you have read other topics that are related to the issue you’re trying to solve, please mention those topics in your post (that is: link to them or even cite them) so that people who are trying to help you can start where you left off, rather than starting from scratch, e.g. by pointing you to the related discussions.

Another advantage is that by linking those related posts, you are making the authors of those posts aware of your issue and so they might come with the right answer (because they are likely to understand best what you are talking about).

3 Likes