Problems with zodb transactions: Client has seen newer transactions than server

TL-DR - I think the issue is with Zeo 5

While not exactly a similar scenario, (my setup required encrypting ZODB per client need),
I logged a situation](TypeError/ReadError with ZEO.asyncio.client in verify) where a single Zeo and three Zope clients performance disintegrated to the point of just refusing to allow connections.

I too was using Plone 5.1 series here (pre 5.2 times) and cipher.encryptingstorage which worked fine previously. However, somewhere along the way, a change was introduced requiring Zeo 5. I paid zero attention to that at first, because initially empty of objects ZODB performed fine.

However, as my userrs added objects things went downhill rather fast. Frontline, the server appeared to be frozen, backend showed clients dead with:

TypeError: invalidate() takes exactly 3 arguments (4 given)

No amount of catalog rebuilds solved anything, I am not using plone.app.caching to cache objects, just styles, etc.

I ended up switching back to a single Zope, eliminated ZEO and performance was good enough to get the job done.