On the off chance that you think #SynologyDrive is enterprise-grade file synchronization software, let me disabuse you of that notion by telling you about two incredibly stupid things it does, or perhaps more accurately, doesn't do.
[This is in addition to having multiple data-loss bugs which I've posted about previously.]
#Synology #TechIsShitDispatch (1/5)
1) Drive lets you specify directories to exclude from synchronization on a specific device, but the filtering happens _on the device_, not on the server. This means all the synchronization events for all the changes to the contents of all the excluded directories are transmitted down to the device only to be discarded once they get there. Genius architecture (not). (2/5)
2) It's well-understood in the data synchronization field that obsolete events should be discarded by the server. For example: a Drive client is offline for several weeks. During that time, many files are created and deleted in Drive. When that client is brought online, none of those events should be sent to it; the deletes should cancel out the creates on the server. Alas, Synology Drive just sends all the events in order, consuming a huge amount of unnecessary bandwidth and processing. (3/5)
This morning I started Synology Drive on a laptop where it hadn't been running for a couple months.
Since then, drive has been synchronizing for _over eight hours_, sending down thousands and thousands of events that are either obsolete or irrelevant to this client because of its filter rules.
Right now my entire Drive folder has only 11MB of data in it. Drive should have been able to bring this laptop up-to-date in a few seconds. (4/5)
(By the way, the reason why there are only 11MB of data in my Synology Drive folder is because I've moved most of the data to Syncthing, which handles this use case with no trouble.) (5/5)