ZEO ClientDisconnected - on a disconnected transaction

Hi,
since our upgrade to Plone 5.1.2.1, we have some problems with some longer transactions (ex. Sync from PostgreSQL). This is the Traceback:

Its only on ZEO Setup - localhost Zope is working fine

Traceback (innermost last):
  Module ZPublisher.Publish, line 146, in publish
  Module Zope2.App.startup, line 303, in commit
  Module transaction._manager, line 131, in commit
  Module transaction._transaction, line 310, in commit
  Module transaction._transaction, line 301, in commit
  Module transaction._transaction, line 446, in _commitResources
  Module transaction._transaction, line 420, in _commitResources
  Module ZODB.Connection, line 498, in commit
  Module ZODB.Connection, line 547, in _commit
  Module ZODB.Connection, line 603, in _store_objects
  Module ZODB.mvccadapter, line 165, in store
  Module ZEO.ClientStorage, line 566, in store
  Module ZEO.ClientStorage, line 487, in _check_trans
ClientDisconnected: ('store', 'on a disconnected transaction')

or another one

Traceback (most recent call last):
  File "/var/www/plone/p51/eggs/ZEO-5.1.1-py2.7.egg/ZEO/asyncio/server.py", line 102, in message_received
    result = getattr(self.zeo_storage, name)(*args)
  File "/var/www/plone/p51/eggs/ZEO-5.1.1-py2.7.egg/ZEO/StorageServer.py", line 460, in storeBlobStart
    assert self.blob_tempfile is None
AssertionError

Can anybody explain it to me - and give me an hint how I can solve/deal with it?

Products.CMFPlone-5.1.2.1
ZODB3-3.11.0
ZEO-5.1.1
ZODB-5.3.0

I see the same error when generating previews.
I wonder whether this runs into the ZEO transaction timeout.

Same is happening to us since we moved to Plone 5.1 and the ZODB 5.x stack that comes with it.

So far I got no clue on how to fix it :no_mouth:

My "temporary" fix was (and is): Connect to Plone via port (http://234.234.234.234:8080) - than it works, also in ZEO setup.
(Or increasing ZEO-Server "transaction-timeout")

But its nothing I am happy with....

This is also happening to me when trying to copy/paste folders that have multiple objects or when batch creating objects. After adding a couple of transaction commits to cut down on transaction sizes it seems to be working.

Products.CMFPlone-5.1.x
ZODB3-3.11.0
ZEO-5.1.1
ZODB-5.3.0

Edit:
I tried upgrading the following packages but it didn't change anything. The error also happened when I tried copy pasting 30 objects. Here are my new pinnings.

ZEO = 5.2.1
ZODB = 5.5.1
zodbpickle = 1.0.3
transaction = 2.4.0
persistent = 4.4.0

We are also facing this with Plone 5.1.5, but instead of 'store' our error is in 'tpc_vote':

ClientDisconnected: ('tpc_vote', 'on a disconnected transaction')

We are seeing this just in ZEO clients that are not on the same server as the ZEO server.

We have rechecked this, and it looks like it is something related to haproxy timeouts.

This was our previous configuration in haproxy:

server instance2 x.x.x.x:8080 cookie p0102 check maxconn 2 rise 1

After changing it to this, the errors are gone:

server instance0 10.x.x.x:4180 cookie p0100 weight 1 check inter 15s maxconn 2 rise 2 fall 1

1 Like