I'm setting up ZRS between two machines running Plone 4.3.7.
On the master at 192.168.0.16, I keep seeing this traceback:
2016-02-04T04:30:49 (192.168.0.20:47981) Error caught in asyncore
Traceback (most recent call last):
File "/usr/lib/python2.7/asyncore.py", line 83, in read
obj.handle_read_event()
File "/usr/lib/python2.7/asyncore.py", line 449, in handle_read_event
self.handle_read()
File "/usr/local/plone-4.3/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZEO/zrpc/smac.py", line 240, in handle_read
self.message_input(msg)
File "/usr/local/plone-4.3/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZEO/zrpc/connection.py", line 631, in recv_handshake
Connection.recv_handshake(self, proto)
File "/usr/local/plone-4.3/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZEO/zrpc/connection.py", line 406, in recv_handshake
raise ZRPCError("bad handshake %r" % proto)
ZRPCError: bad handshake 'zrs2.1'
2016-02-04T04:30:49 (unconnected) disconnected
On the slave at 192.168.0.20, I see this:
2016-02-04T04:30:28 IPv4Address(TCP, '192.168.0.16', 2201): Connected
2016-02-04T04:30:28 IPv4Address(TCP, '192.168.0.16', 2201): Disconnected <twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>
2016-02-04T04:30:28
Their buildouts are almost identical, here are the relevant sections:
master:
[zeoserver]
recipe = plone.recipe.zeoserver[zrs]
zeo-address = 0.0.0.0:2201
replicate-to = 192.168.0.20:2201
[versions]
plone.recipe.zope2instance = 4.2.16
plone.recipe.zeoserver = 1.2.7
zc.zrs = 2.4.4
slave:
[zeoserver]
recipe = plone.recipe.zeoserver[zrs]
zeo-address = 0.0.0.0:2201
replicate-from = 192.168.0.16:2201
[versions]
plone.recipe.zope2instance = 4.2.16
plone.recipe.zeoserver = 1.2.7
zc.zrs = 2.4.4
Have I perhaps got the versions wrong? If I change them or comment them out, I get 'bad restraint' errors. The buildout-cache are identical between the boxes, and the output of bin/buildout is also identical. They are running identical ubuntus, and they're even both xeon raid things bought from the same place. Various greps on the filesystems of the two machines return identical results. There is relatively little documentation on the web about zrs, I've read all that I can find. The zeo servers were installed by the plone.ansible_playbook and are managed by supervisor as setup by the playbook,
I hope someone can give me a wedge and a crack to stick it into!
tia,
Campbell