Folder ping pong

I have the current setup: A.F1 -> B.F1 -> C.F1

  • F1 is the sync folder.
  • A.F1 is flagged as “Folder Master”
  • A.F1 is shared with B.F1
  • B.F1 is shared with C.F1
  • A.F1 sees B.F1, B.F1 sees C.F1 but A.F1 doesn’t see C.F1
  • A.F1 and B.F1 are on the same (1000MB) lan
  • B.F1 and C.F1 are on 2 different lans connected by a FW (both FW interfaces are 1000MB)
  • F1 have 1830 files, 875 GiB

Before installing synching, F1 was already shared on A, B and C (using btsync). I first shared A.F1 with B.F1. Then (after the sync between A.F1 and B.F1 was completed) I shared B.F1 with C.F1.

Wha’s happening

  1. Some of the old files from C.F1 (OFS) move up to B.F1
  2. OFS are being push from B.F1 to A.F1
  3. A.F1 show the red “Overide Changes” button
  4. A.F1 sync back the correct state for OFS to B.F1
  5. I’m not sure but it seems something happening in parallel during the sync of OFS between A.F1 and B.F1 and B.F1 and C.F1 because at some point in time OFS are being pushed back to A.F1

So OFS are being “ping pong” between A1.F1 and C1.F1 and I don’t see how I could prevent that. Is there a way to tell B.F1 not to accept modification from C.F1 but only from A.F1?


Is there a reason for C.F1 not to see A.F1? At the very least to get everything on the same page and then break the link and see where it goes from there.

Yes. There are not on the same lan and for security reason C.F1 doesn’t have access to A.F1. I described a subset of F1. The big picture is more:

                       | ---{VPN}---[FW]->E.F1
                       | ---{VPN}---[FW]->F.F1
                       | ---{VPN}---[FW]->G.F1

A does have access to B, B to C and C to D, E, F, G but A does have access to D, E, F, G

I’d try stopping the sync. Manually copy the folder from A to B and C so they are all starting from the data and then restart the sync. Probably wouldn’t make any changes till everything shows as up to date as well.

Not really ideal, but should get things working I think.

Ty for sharing. Agree with you. I could rsync between A and B and B and C and then have C being the master for D, E F, G but I would like to do everything from syncthing. Something like a “forward read only”.

I suppose it’s a go reason to learn GO.

thanks again for you time.