I was curious how the synchronization behaved between instances so I posted a comment while lemmy.world was on 0.17 and temporarily disconnected from lemmy.ca. I noticed that even though lemmy.world and lemmy.ca are on 0.18.1 and 0.18 now, the comment still has not gotten to lemmy.ca. If a comment is posted while there is a network partition of some kind, do the comments eventually get through or are comments only synchronized between instances when they are posted?
I haven’t studied the federation code, but my understanding is that it’s on a retry basis. A message that fails delivery would retry for “a while”, long enough to handle an instance getting rebooted or going down for maintenance for an hour.
But if something fails delivery for days, the sending server will probably stop trying… which is kind of a desirable property to prevent a server coming back online from getting inundated with a backlog of failed deliveries it can never catch up on.
A backlog reconciliation feature would be cool, but I don’t think it works that way today.
Yes, I get the impression that content changes are pushed between instances, rather than trying to synchronize entire communities.
Fair enough. Yeah backlog reconciliation would be really nice especially for new instances that spin up. It would be nice if you could do the “site:lemmy.world [search query]” trick at some point. Without backlog reconciliation that may not work as well.