symmetricds

Push Registration in Symmetric DS fails with RegistrationNotOpenException


I have two Symmetric DS nodes running against MySQL databases:

I want to push data from source to target.

The source is the registration server and is, as far as I can tell, set up correctly. The "target" successfully connects to its local database as well, but is not registered yet.

From what I understand, the normal method is to provide the registration node's URL as registration.url in the target's .properties file. Then the child node goes to that URL to register itself. But in my case, source is behind a firewall and can't be accessed.

The Symmetric DS documentation says that Push Registration will allow source to push the registration info for target out to target. I used symadmin open-registration with the correct values for the node id and group id of target, plus its URL, as directed.

Lo and behold, the logs on source now show that it's hitting target every two seconds attempting to push the registration. But each time, it fails with RegistrationNotOpenException and no further explanation. No logs appear on target during this time.

What I've done:

How do I get a non-registered SymmetricDS client to accept an incoming push registration?


Solution

  • After more hours than I care to admit:

    Even though it's completely irrelevant to my setup, apparently registration.url on the target needs to be identical to sync.url on source for push registration to work. Since source is firewalled it doesn't even have a URL, so I just made something up that ends in /sync/<source engine name>.