Direct connections without "host" and "client"

I set up a direct connection between my iMac and my MacBook Pro, but I failed to notice the bit in the manual about using one as the “host” and the other as the “client” (“for every [direct] connection one side acts as the host and the other side connects as a client”).

On both machines, I allowed access to the other in “Bonjour Options” and selected the other machine in both instances of the “locations” pane.

Despite the fact that I flagrantly ignored the advice in the manual about “host” and “client”, it all seems to work (using “automatic” sync).

I edit a document on one machine, a little later it gets updated on the other. I switch machines and do the same, and it all seems to sync perfectly.

So my question is, having ignored the advice in the manual, when is the sky going to fall in? When will my databases be turned to cheese?

It is not wise to ignore the advice given by us. (Ask the people who thought keeping their databases in Dropbox should be safe, and came back brokenhearted when their databases got jacked up because of it.)

There is no point to setting up both ends of an inherently bidirectional connection. All it does is waste bandwidth and gives opportunities for a collision in Bonjour calls to stall the ports, inhibiting Sync.

So can you? Yes.
Should you? No.

As a connection from A to B is identical to a connection from B to A, this doesn’t waste bandwidth actually. And the only advantage is that you can manually sync on both ends. However, it doesn’t make sense to set up both connections and have them synchronize automatically.

It was accidental as I was setting it up - though perhaps in doing so I was unconsciously looking for a “bidirectional” sense of the sync.

However, if there is no danger then maybe being able to manually sync on both ends is a tiny advantage, since I might conceivably wish to provoke a sync manually.

So let’s see. In order to be “out of the manual”, the database which appears at:

Preferences > Sync [databases pane]

… should only be ticked on one machine.

Is that correct ?

Now I just get “server busy” whenever I try anything. Not looking as good as it did last night …

As I said… :smiley:

Hmm. OK. But I thought I reset everything and started again, and then got those “server busy” errors.

So how do I really start again?

Have you relaunched DEVONthink on both machines - after unchecking one end of the connection?

I have deleted and reinstalled DTPO on the Macbook Pro.

Just so that I don’t fire up the schadenfreude again, and to be clear:

In order to be “out of the manual”, the database which appears at:

Preferences > Sync [databases pane]

… should only be ticked on one machine.

Is that right?

It should checked on the machine hosting the database.
It should not be checked on the client machine, for the same database.

If you follow the manual, specifically page 31, it appears that it’s checked on the client, not the host.

I set up a database on my iMac. I indexed a folder into that database.

Then, in order to sync it with my MBP, I followed the instructions on page 31 of the manual:

  • I set up the direct connection on my iMac. I enabled incoming connections on the iMac (“Step 1: On the host, click Bonjour Options”), etc

  • On the client (my MBP) - “Step 5: On the client, the connection appears automatically as a possible location to add. You’ll need to provide the password entered in step 4” Did that on the MBP.

  • “Step 6: Done. You can now proceed, e.g., import the desired database from the host” That’s on my client MBP. Did that.

  • “To download a database from a sync store or directly from another Mac or iOS device, you import it from the sync location” - i.e., On the MBP, I import it, from the iMac.

  • I save the database on the MBP client.

So, carefully following the manual, I see that the option I referred to is checked, not on the host, but on the client.

Isn’t that correct?

Hang on… This thread has gotten confusion about what and who is checking.

Stop, breathe…

For a Bonjour (Direct) Connection between machines…
Machine A has the database to be Synced.
Machine B wants to Sync with Machine A.

Machine A has it On.

Machine B checks the checkbox to connect to Machine A.

Machine B sees the list of available databases on Machine A.
—> If the database is only on Machine A, databases will be listed in the Remote section and will need to be imported. Right-click the desired remote database and choose “Import Database”. You will be prompted to Save the database on Machine B. It is now Synced and a client of that database on Machine A.
—> If the database is on both machines, they will be listed in the Local section. Machine B would check the checkbox and it would Sync with Machine A. It is now Synced and a client of that database on Machine A.

As the Bonjour connection is bidirectional by design, changes made on Machine B will be pushed to Machine A as expected.

Note: In the case where you already have a copy on both machines, technically either machine could act as the host for the Sync, but you should pick one host only. In this case we chose Machine A.

Note 2: There is nothing new going on here. It is the same thing as connecting to a cloud account. For example, when you connect to your iCloud account, you are a client of the host (server). If you make a change to your iCloud Drive folder on your machine, the changes are pushed to your iCloud account. Changes to iCloud from another machine are pushed to your machine. The iCloud server never becomes a client of your machine. This is the same thing and setup as our Bonjour Connections.

My MBP is Machine B. The client.

I think it’s working, anyway.

It takes on average about 20-30 seconds for changes to appear. Make that 2 minutes or so.

Correct. There is an interval, a range actually, in which Sync will trigger when set to Automatic.

Here’s a word of advice (a lesson learned myself at the beginning): If you think you’re going to sit and watch both machines, watching for changes… DON’T. I did that too in the beginning and it’s really a pointless pursuit.

  1. Due to the interval, you will be inclined to think something’s wrong or not working.

  2. In daily life, you don’t have time or inclination to sit and make changes and stare at your machines idly. You have work to do. So as you work, let Sync do its thing. And when you switch to the other machine, you will almost always* be happily surprised** when you see your files and changes got there before you.

  • And yes, there may be times when you need to do a quick “I need it now!” Sync. And yes, there may be times when you may have moved a bit before Sync triggered. But in my working experience (not just testing), it feels and acts very transparently.
    ** Yes, maybe the novelty wears off after awhile. :mrgreen: