AttributeError: Transaction instance has no attribute 'extension_bytes'

Hello everyone,
Has anyone encounted AttributeError: Transaction instance has no attribute 'extension_bytes'. The error is on the Secondary server zeoserver.log file when changes are being written/copied from the Primary server/instance

024-01-28T08:59:44 StorageServer created RW with storages: 1:RO:/myreplicationpath/zeocluster/var/filestorage/Data.fs
2024-01-28T08:59:44 listening on (u'127.0.0.1', 8120)
2024-01-28T09:04:07 IPv4Address(type='TCP', host=u'primary_ip', port=9085): Input data error
Traceback (most recent call last):
  File "/myreplicationpath/buildout-cache/eggs/cp27mu/zc.zrs-2.4.4-py2.7.egg/zc/zrs/secondary.py", line 82, in dataReceived
    self.__stream(data)
  File "/myrreplicationpath/buildout-cache/eggs/cp27mu/zc.zrs-2.4.4-py2.7.egg/zc/zrs/sizedmessage.py", line 50, in __call__
    self._callback(result)
  File "/home/.../buildout-cache/eggs/cp27mu/zc.zrs-2.4.4-py2.7.egg/zc/zrs/secondary.py", line 138, in messageReceived
    transaction, transaction.id, transaction.status)
  File "/home/.../buildout-cache/eggs/cp27mu/ZODB-5.8.0-py2.7.egg/ZODB/BaseStorage.py", line 201, in tpc_begin
    ext = transaction.extension_bytes
AttributeError: Transaction instance has no attribute 'extension_bytes'
2024-01-28T09:04:07 IPv4Address(type='TCP', host=u'primary_ip', port=9085): Disconnected <twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>
2024-01-28T09:04:07 
2024-01-28T09:05:07 
2024-01-28T09:05:07 IPv4Address(type='TCP', host=u'primary_ip', port=9085): Connected

and the zeoserver.log file from the Primary instance/server is

2024-01-28T10:49:15 IPv4Address(type='TCP', host='secondary_ip', port=47340): start '\x00\x00\x00\x00\x00\x00\x00\x00' (1900-01-01 00:00:00.000000)
2024-01-28T10:49:15 IPv4Address(type='TCP', host='secondary_ip', port=47340): Disconnected <twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>
2024-01-28T10:50:16 IPv4Address(type='TCP', host='secondary_ip', port=37872): Connected
2024-01-28T10:50:16 IPv4Address(type='TCP', host='secondary_ip', port=37872): start '\x00\x00\x00\x00\x00\x00\x00\x00' (1900-01-01 00:00:00.000000)
2024-01-28T10:52:45 IPv4Address(type='TCP', host='secondary_ip', port=37872): Disconnected <twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>
2024-01-28T10:59:44 IPv4Address(type='TCP', host='secondary_ip', port=54226): Connected
2024-01-28T10:59:44 IPv4Address(type='TCP', host='secondary_ip', port=54226): start '\x03\xf6\x1d\xd8\xf7E\xfa"' (2024-01-26 13:44:57.954691)
2024-01-28T11:04:07 IPv4Address(type='TCP', host='secondary_ip', port=54226): Disconnected <twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>
2024-01-28T11:05:07 IPv4Address(type='TCP', host='secondary_ip', port=42604): Connected
2024-01-28T11:05:07 IPv4Address(type='TCP', host='secondary_ip', port=42604): start '\x03\xf6\x1d\xd8\xf7E\xfa"' (2024-01-26 13:44:57.954691)

Hi @Lunga1,

it seems that you have zc.zrs installed:

I recently wanted to try this and saw then, that the GitHub repository was archived.

Probably RelStorage is nowadays the way to go if you want primary/secondary storage replication.

Maybe you can simply remove the zc.zrs extension and see if the error persists.

Best regards
Ramon