Sync'ing problem between desktop and mobile

Hello, I’m using DEVONthink Pro (3.9.7) and DEVONthink To Go (3.8.6 (17457)). I’m using iCloud (iCloudKit) to sync two databases, with no encryption key. Both apps claim to be fully synced, reporting their sync status as “up-to-date” a few minutes ago.

However, there is a folder of indexed files that has 2312 files on my desktop, and only 2296 on mobile. Mobile is clearly almost a day behind, even though the about page says Last Synchronized is now, and last background sync was about two hours ago.

How can I debug why syncing has effectively stopped? I tried dragging and dropping a new file into the root of one of the databases, but despite syncing on both sides, the change does not show up on mobile.

Thanks, John

As has been mentioned in many places, including these forums…

  • What is reported in DEVONthink’s Window > Log?
  • Is there a triangle on the sync icon in DEVONthink To Go’s bottom toolbar? If so, tap it. What is reported?

And may I ask why are you using a remote sync location like CloudKit?

Both sometimes say “ documents left to be uploaded”, but afterward report both uploading and downloading messages. This happens often.

And may I ask why are you using a remote sync location like CloudKit?

I often do not remember to run DEVONthink To Go before leaving the house, and I didn’t notice it syncing in the background. Now that you mention this, I will give Bonjour a try, to see if it satisfies my needs. Thank you for the quick response.

John

1 Like

You’re welcome!

PS: In case you didn’t see our recent blog post…

Great resource! Reading through this and the related links now. The Bonjour sync has completed on all my devices, and seems pretty responsive at updating changes.

I wonder if this means I now have to run DEVONthink on my laptop before I take it out of the house, in order for the local sync to run there. I wonder if it’s possible to use ChronoSync to copy the database from desktop to laptop, and then when I get back home to sync back from laptop to desktop, and then Bonjour will update the mobile devices?

The only reason I ask this is that the laptop sits waiting to be taken out of the house, and is basically just a sync target until the moment when switchover happens. I usually don’t run any apps after it’s sync’d until I’m already out of the house and wherever I wanted to go. I suppose if I have to I could just leave DT running all the time there, to ensure it was fully sync’d up until the last minute…

Thanks! :slight_smile:

I wonder if this means I now have to run DEVONthink on my laptop before I take it out of the house, in order for the local sync to run there. I wonder if it’s possible to use ChronoSync to copy the database from desktop to laptop, and then when I get back home to sync back from laptop to desktop, and then Bonjour will update the mobile devices?

No, I would not do this.

The only reason I ask this is that the laptop sits waiting to be taken out of the house, and is basically just a sync target until the moment when switchover happens. I usually don’t run any apps after it’s sync’d until I’m already out of the house and wherever I wanted to go.

Stop for a moment and think about this and your previous statement re: ChronoSync…
You’d have to open the laptop to copy the database via ChronoSync, so why would you do that versus just opening DEVONthink and letting Bonjour sync?
Also, sync is not a file copying mechanism. There is much more going on under-the-hood, including transactional data necessary to ensure things are synced properly. Let DEVONthink handle its own syncing.

2 Likes

Let me describe my scenario a little more fully, since it may be an odd one…

I have 9 databases, comprising 113 GB of data and ~350k files. Just opening all of these databases at once causes DEVONthink to use 7 GB of RAM on my Mac, and depending on what operations I’m performing, I’ve seen it be many times higher than that.

So, in general I just keep three databases open most of the time: Global Inbox, Documents (small, often accessed), and Files (large, mostly financial).

For many years now, I’ve used either ChronoSync or rsync to synchronize my databases between laptop and desktop, with the personal requirement that only one machine ever opens or modifies any of its files at one time. When I’m making the “switch” I will quit all apps on both devices, perform the sync, and then proceed to work on either the desktop or the laptop. In effect, it is like having one machine across two physical devices. This works very well.

The new piece I’m trying to add in is keeping the Inbox and Documents databases sync’d with my mobile devices, because I’m trying to use DEVONthink instead of other apps (it has replaced iCloud files, Apple Notes, Notability, etc). This has largely been working quite well also, and with iCloud sync I was able to just not sync the Inbox and Documents on my laptop, and rely on remote syncing to bring it up to speed when necessary. The other databases were being ChronoSync’d.

The addition of Bonjour sync’ing means that my mobile devices need to be sync’d before I leave the house, but hopefully with DEVONthink running most of the time on my desktop — until I shut it down to sync to the laptop — and with background refresh active on those devices, this should all work out. I don’t need the mobile devices to sync while out of the house.

The main complexity, then, is the relationship between the laptop and the desktop. I’d prefer to keep the simplicity and absoluteness of the ChronoSync workflow. So this is what I’m thinking to do now. Please let me know if this is incompatible with Bonjour syncing:

  1. Use ChronoSync to sync all databases between laptop and desktop, ensuring that DEVONthink is only ever running post-sync on one machine.

  2. While using the desktop, Bonjour is enabled so the mobile devices can see or deliver any updates. If changes were made on both the laptop, pre-sync, and the mobile devices, then there may be a version conflict and I’ve told DTTG to duplicate the file in that case. This rarely happens, since I tend to use the mobile devices as a read-only reference, rather than to author things there.

  3. While using the laptop, Bonjour is not enabled and the mobile devices must use their local copies (I always use deep copying).

The only thing I can think of that might prevent this from working is if Bonjour syncing depends on files not being copied by ChronoSync, so that if I make changes on the laptop and sync back, everything gets borked.

If that’s the case, I may need to abandon DTTG. I have too much data to leave DEVONthink running with all database open all of the time on both machines, and the ChronoSync workflow has proven to be ideal in almost all respects, with the exception of how I involve the mobile devices.

I have 9 databases, comprising 113 GB of data and ~350k files. Just opening all of these databases at once causes DEVONthink to use 7 GB of RAM on my Mac, and depending on what operations I’m performing, I’ve seen it be many times higher than that.

And what’s in these databases that would cause you to open them all at once?

I’d prefer to keep the simplicity and absoluteness of the ChronoSync workflow.

If we were sitting down as friends, I would talk you out of the Chronosync method, no matter how comfortable it feels. Using Chronosync to back up your databases to an external drive perhaps, but I don’t see the real benefit in the situation.

Bonjour transparently syncs when devices are on and running DEVONthink or DEVONthink To Go. There’s no need to shut down the application on different devices and they can stay in sync without any extra effort. So why do you need ChronoSync to copy databases?

(I always use deep copying).

What is deep copying ?

If that’s the case, I may need to abandon DTTG.

Why?

I have too much data to leave DEVONthink running with all database open all of the time on both machines

Again, I don’t know why you’d have all those databases open. And also, sync is always optional. DEVONthink To Go doesn’t need to sync any databases, let alone all of them. So what’s the issue in your situation?

1 Like

Oh, I never do. One of them is an “Archives” database that should be opened as rarely as possible, even. But if I weren’t using ChronoSync, how else would I make sure that these database are up to date on both laptop and desktop?

Ah, I do like the idea of sitting down as friends to discuss this. :slight_smile: I think there is more to my situation than is becoming evident through this thin channel. There is lots of other stuff being synchronized between these machines, and ChronoSync’s bidirectional approach with ChronoAgent has proven by far to be the safest and most capable way to keep the machines in sync with each other. In a way, DEVONthink is the “odd man out” by being the only app that wants to do this syncing by itself. I don’t use iCloud syncing for my Desktop & Documents, either: everything is kept in sync between the two using CS. This is why I favor a workflow that keeps DEVONthink sync’d within the same regime.

You used the term “shallow copying” in your blog article to refer to databases that download content on demand. I was just reversing your term. :slight_smile: My mobile devices always download everything, is what I meant.

Well, the full ChronoSync workflow has been working great for many years. If using DTTG brings on a Bonjour element that means CS can’t be used between the physical machines, then I prefer not to add the newcomer. I could live without DTTG in that case, I would just rather have it because DT is a superior database to all the other apps trying to vie for that function.

Oh, my reason for using DTTG at all is to have a mobile copy of my Documents and Inbox databases. This is where I stuff all manner of things that used to be located in a host of other apps. Only these databases need to be sync’d, and they really only need to be sync’d with the mobile devices. If I can use one form of sync’ing between laptop and desktop, and Bonjour between desktop and mobile, then I have no issues.

Thanks for continuing to engage with me on this. I’m happy to just go away and do some testing and come back if I have any further difficulties. I fear I’ve taken enough of your helpful time for today.

Yours, John

No time is wasted for sure. :slight_smile:
If you want to get deeper into the weeds you could open a support ticket to chat off to the side.

PS: We call it a full sync when you download the contents and metadata.