I have a large catalog (Photo 100 000 files, 260 GB) If I add this directory to the repository, scanning starts and runs for 5 hours. After restarting SyncThing, this repository is scanned again for a long time. If I understand correctly, this is due to the hash file. Can be carried out only hash files when you synchronize specific files? And initially scans only the name and date of the file?
The initial scan calculates hashes. Further scans only looks at the modification time. That can still take a while if it’s many files and the metadata is not in the disk cache. You’ll probably want to tweak the rescan interval to something higher (30 minutes? depends on the use case) or look into the people working on the inotify integration.
No. I’m set big re-scan interval, but a rescan has been held for much faster (a few minutes). Ideologically, why do we need to hashing files when creating a new repository, if they do not want to transfer files, but it increases the start of the program and the addition of large repositories. At the same time, when you restart the program, it begins to accept connections only after a full scan, which is somewhat difficult to use. Ie added the repository, restart the program and the node is turned off, while hashing. This is somewhat inconvenient.
Files can be searched for by the hash?
So, this can be improved for sure (there are tickets on that somewhere), so don’t take this as “it must be this way, because”, rather just “it’s this way currently, because”.
But the main reason is that the hashing is necessary because otherwise we can’t tell other nodes what we have, and they don’t know what parts of a file they might be missing or not. We don’t start talking to other nodes until we’re done because we don’t know what to tell them yet.
Perhaps then run to the hashing background? That at this time to synchronize others repository.
We can’t start syncing files from another device until we know what we have on disk, either. We could announce files as we hash them to allow other devices to start syncing from us though.
I understand. node A: repo1 - 100Mb repo2 - 5mb repo3 - 50 mb repo4 - 200 GB
SyncThing not connect and sync repo1, repo2, repo3, while indexed repo4.