How to best resolve hash mismatch

I have a few files in a few repos that are currently refusing to sync to my other two nodes. The log shows the big bad “hash mismatch” error on the other nodes. I don’t know what to do about this. It doesn’t seem like there’s any way to say “this is the current copy of the file, shut up and take it.” Removing the .syncthing.* files doesn’t help. Restarting syncthing doesn’t help.

What should I do about this? It’s going to get really old really fast if deleting the index is the only way to fix this kind of thing, because I have A LOT of files.

I was able to resolve it by copying the files over manually to both stuck nodes. Isn’t there a better way to handle this?

EDIT: Never mind, I spoke too soon. It’s getting itself stuck repeatedly on files that change somewhat often (around every 2-3 mins; it’s config files for a music player) in one of the problematic repos. So on a hunch, I went and changed one of the other problematic files and it got stuck too. I am not going to babysit this, and I’ve had more than enough problems this weekend so I’m going to bed. Hope to see some good advice in the morning.

There is no need to remove the index to resolve hash mismatches, you only need to wait for the files to stop changing, then for a rescan and it will get in sync.

Unless the file is some fishy memory mapped file which doesn’t get mtime updated as the content changes, then it simply won’t work.

That’s just the thing, they were regular text files. One of them wasn’t changing at all past the hash mismatch error, yet the error kept happening.

It did go away overnight, though. I don’t know why, but I’m not gonna question it. :confused:

We have a utility in the repo which you can compile and run, to see if the file is actually changing, but I guess it’s too late now.

You might think it’s not changing, but if you run md5sum or something, it might be changing.

I see… so I guess next time this comes up, I can just run md5sum on the file over and over to see if it’s actually changing?

Yes, just make sure you give syncthing to rescan and to try and repull, at the point it stops changing.

Okay, thanks for your help. :slight_smile: