No delta sync while updating metadata of FLAC files

I have 650+ GB of FLAC files (music), each file weighs ±30 MB. I recently updated tags (artist name, album name,…) of 60 GB of files and thought that only the difference (metadata) would be synced across the network. In fact, all instances did receive 60 GB of files, no diff has been made, it seems that each block of the files has been perceived as a new block. This link suggests that the metadata of flac files is stored in the header. So 99% of the file hasn’t changed.

Any idea why syncthing didn’t catch the diff ?


Because Syncthing only looks at blocks of data which haven’t moved within the file. Since you changed the size of the header, all of the data within the file moved, and Syncthing saw it as a difference.

There’s a PR open to allow detection of moved data, but there are questions around how useful it would be in practice, versus the cost added when scanning every single file.

Thanks for your fast answer, I’ll ping the PR you mentioned !

To be clear, you’re absolutely certain that the data was transmitted over the network? The GUI doesn’t make the difference clear at a glance as it simply shoes the entire file as out of sync.

The FLAC format has padding blocks that are intended to allow for in place metadata edits. But it’s not guaranteed that an encoder or editor will use them.

Yes, sure at 99%, I only have FLAC files in my sync folder and the only thing I did in month was to batch retag some in the past days. Screenshot below.

I will try some tests with one single file later in the day

Yes, looks like they’re being resynced completely. That means there is at least one real world use case for the PR linked above, even if I personally think the editor is doing the wrong thing here when it rewrites the file completely for a metadata change.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.