Syncthing + Rekordbox = constant data issues

Hi everyone, new syncthing user here. Switched from Resilio Sync because that seems to be dead now.

My main usecase is to sync my DJ library across my devices. The library consists of 2 main folders:

  • Music
  • Rekordbox (the software from PIONEER to manage the library)

Music is straight forward - just a bunch of m4a/mp3/wav files

But rekordbox is a folder under ~/Library/Pioneer/rekordbox with lots of proprietary *.edb and .xml files that store things like analysis data, playlists, and so on. So tying all the music files together into one collection.

With Resilio this was never an issue. I update the library on device 1, close the app, open on device 2 and everything is in identical state. But with syncthing it happens constantly that things get corrupted. I sometimes get .conflict files, sometimes the app doesn’t open at all, sometimes for some reason syncthing puts one of the .edb files to a different version (probably from another machine, despite the other machine not doing anything) which wipes my progress, and I have to figure out which versioned file to restore.

This is my first day with Syncthing so I’m still very new, but it happened already twice just today which makes me a bit worried of letting it run. Sometimes I even see while I am working on a playlist that the library refreshes and everything I just did vanishes, because the db file got overridden (but still exists in version history)

My question:

Are there any settings I can adjust to improve this situation? Such as telling it what to do on conflict, maybe experimenting with block size or just syncing based on timestamp without any diffing?

Both devices running monterey and syncthing-macos-1.18.5-1

The changes have to come from somewhere, which suggests that the other computer is actually modifying the files or that the files were not synced properly before you started working on them.

You should figure out why that is happening.

Do you have some pointers how I could go on debugging this? Verbose logging?

The other computer was definitely not in use. It was just turned on and Syncthing running. The app was constantly modifying the db files, and syncthing syncing those right away (I’d guess). Could that make any issues? To have constant tiny changes to the state files in the background, instead of just letting it sync when I’m fully done?

I mean yes, modifying files on two computers causes conflicts, whether you modify it, or the app in the background, it makes no difference.

1 Like

The app wasn’t running on my other machine, I meant Syncthing was running in the background and syncing the changes as soon as the app on my main machine wrote to some of the files (while using it)

I am aware how syncing works, and know better than to write/use the files on 2 machines at the same time

I’m just trying to figure out how to debug and set this up reliably without having so much data corruption

For testing you could manually hit rescan in syncthing after closing your software to make sure all changes are picked up before starting it on the other pc.

1 Like

Syncthing has recent changes log in the ui that shows last N changes and who made them. You can also run with -verbose or -audit commandline switches for more info.