Sync with slow WebDAV. Could we just wait instead of timeout?

Hi all

With DT3 Pro (and DT2 Pro Office before that) and DTTG I am using WebDAV sync that is located on a server with a huge timeouts. Files are perfectly able to be copied, but whenever Database is trying to transfer a big file I get “The request timed out.” in the DevonThink logs and certainly nothing is synced, DTTG often crashes during a sync.

It would be great if DevonThink could work with the huge WebDAV timeouts at least optionally.

For those curious: I am using Yandex.Disk that used to be great and cheap, but at some point they decided to discourage backup-like use cases and nowadays inject artificial timeouts adding 60sec delay per MB when you are trying to upload large files over WebDAV: you upload a 10MB file, it gets uploaded quickly, but the connection is released only 10min latr.

The default timeout of requests is currently 60 seconds and that’s usually fine for most WebDAV servers so far. Maybe a future release will add a (hidden) preference for this but personally I would recommend looking for alternatives. By the way, do you have a paid or free account? Or doesn’t this make a difference?

@crunenberg, it’s not 60 sec, it’s 60 sec per megabyte of file uploaded :slight_smile:
Sure, if it’s just for one customer, probably it isn’t worth fixing much. However, I believe that you would have absolutely the same behavior for the WebDAV service that just happens to be very slow and/or you are syncing on a 2.5G-3G network and the issues are big: desktop app doesn’t get synced, iOS app simply crashes quite often. And as for iOS it seems that one big file in one database can stop all syncs in the app (not 100% sure though).

By the way, do you have a paid or free account?

A paid one (though very cheap), but Yandex added this delay to all the accounts. It is actually a known problem noticed by some backup managers about a year ago. Basically they position their Yandex.Disk as a Personal solution and anything that looks like a backup they treat as “non-personal” :slightly_frowning_face:

personally I would recommend looking for alternatives

I may need to indeed, just feels bad to pay for syncing just DevonThink and nothing else (all my other sync needs are fully satisfied by the free solutions and this paid Ya.Disk is a side effect of subsribing to their Music Service).

Maybe DevonThink could have a sync cloud one day that I could also use for link sharing :slight_smile:

Do you actually need to use a remote sync option?

I need to sync both ways indeed. Does it have to be exactly a remote sync? Well, I guess technically Bonjour way should work fine (I never tried it yet) and that is probably what I should give a real try now - thanks for the idea, @BLUEFROG!

In the long run though it is very unlikely that I’ll go for Bonjour. The requirement to have both Mac and iPhone next to each other for syncing… is okay once in a while, but not as a permanent solution.

Bonjour does not require devices to be “next to each other.” just on the same local network and DEVONthink running.

You’re welcome.

The question is do you have a colleague, assistant, or significant other accessing the databases on the Mac when you’re out?
If not, then why would you need a remote sync option?

@BLUEFROG, I am syncing only for myself, so that I could work with the documents both on Mac and iPhone (iPhone is way more on the consumption side certainly, writing only short notes and rarely there). I like the nice side effect that external service works as a backup as well, but syncing Mac-phone just for myself is the real need.

So Boinjour way may work as a replacement for me indeed, I just didn’t try it yet. I am somewhat afraid of that the lazy me will have to keep DevonThink running on both Mac and Phone exactly in my home WiFi (while remote sync can happen anywhere with app turned on one of the devices only), but maybe that happens to be not as big problem as I think.

FYI, the sync server version of the databases are NOT a backup. Just not. Re-read the Manual (or Help) on that topic. Make sure please that you have proper backups of your important DEVONthink databases (and all the devices).

Re keeping DEVONthink running … you can turn off the Mac when you leave the house, and then restart it (or just re-start DEVONthink if that is what you shutdown). When both devices detect each other (both running their respective versions of DEVONthink) via the local network … the sync will just happen.

Also … on the iPhone … only sync the database that you actually need. No need to do everything and then wait ages for what you call a “slow” backup. Moving bytes takes what time it takes. Bonjour will be MUCH faster than your cloud sync, but keep it only as-needed anyway.

1 Like

@rmschne I think I understand your point, what you suggest will probably work and I will probably even try it live soon.

That said I still believe that easy sync with even slow WebDAVs would have been a way better solution (with the ones slow intentionally as in my case or just because some services/connections are slow today).

FYI, the sync server version of the databases are NOT a backup. Just not.

If it walks like a duck, quaсks like a duck, looks like a duck, but is actually a weird turkey - can you use it as a duck?
Sure, if your laptop disk died, you cannot just copy-paste stuff from WebDAV to local machine and “proper backups” could be more efficient here, yet creating a clean local DB and syncing it with WebDAV sync source would anyway give you all your content with the proper tags, metadata, etc, just as if you have added yet another Mac to sync, wouldn’t it?

When both devices detect each other (both running their respective versions of DEVONthink) via the local network … the sync will just happen.

Sounds like a good workaround, so I’ll probably try it yet certainly UX-wise it’s better if I wouldn’t need to have both devices working at the same time.

Also … on the iPhone … only sync the database that you actually need. No need to do everything and then wait ages for what you call a “slow” backup.

Again a good workaround yet in 99% if not 100% of cases I don’t care about the sync time unless I have to do something special during this time such as making sure both devices are in the same room and apps are running on both. If it takes hours for the first time, so be it if it happens in the background.

And hmm, @rmschne, if indeed.

the sync server version of the databases are NOT a backup. Just not.

Then the possible amount of development efforts needed for supporting slow WebDAV servers could be much smaller! DevonThink developers certainly know their priorities better yet if it’s already not the “actual full files imported by user” that are sent-received to-from WebDAV, then it could be relatively easy to just make sure that e.g. no more than some 0.1-0.5MB sized “files” are sent to WebDAV. That could work well even with very unreliable sync destinations.

Well, if you don’t care about sync time, then why the initial (what I saw as a) “complaint” about a slow sync with WebDAV.

Most of what you say clashes with both my experience (more than a decade?) with DEVONthink and my basic understanding, but … there you go.

Good luck.

Oh, slow sync would be fine (not great, but fine) - trouble is that it fails, slowness is just a possible reason for it as I have a couple of 20-40MB files (causing 20-40min file transfer time) exactly in the database that fails to sync and I can see lots of “timeout” messages in the DevonThink logs.

The messages are harmless, the next sync will resume this.

There should always be an option to disable timeouts and wait forever, instead. Just my 2 cent

Well, it doesn’t quite sound like a duck. When you accidentally delete everything (or: something) from your database and sync, it’s gone. Forever. Same is true for documents lost due to bugs in the software.

But it should protect you from e.g. disk failures. But that is probably the least common cause of data loss.

2 Likes