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:
[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
[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!