zodb / relstorage

A backend for ZODB that stores pickles in a relational database.
Other
55 stars 46 forks source link

psycopg2.errors.ProgramLimitExceeded: row is too big: size 9256, maximum size 8160 #398

Closed zopyx closed 1 year ago

zopyx commented 4 years ago

Retrying Plone 5.2, Relstorage with latest Yugabyte version. This give me:


2020-04-03 17:02:36,509 ERROR   [Zope.SiteErrorLog:252][waitress] 1585926156.4341350.9117383660295804 http://dev2.zopyx.de:12020/@@plone-addsite
Traceback (innermost last):
  Module ZPublisher.WSGIPublisher, line 168, in transaction_pubevents
  Module transaction._manager, line 257, in commit
  Module transaction._manager, line 135, in commit
  Module transaction._transaction, line 282, in commit
  Module transaction._compat, line 45, in reraise
  Module transaction._transaction, line 273, in commit
  Module transaction._transaction, line 465, in _commitResources
  Module transaction._compat, line 45, in reraise
  Module transaction._transaction, line 442, in _commitResources
  Module ZODB.Connection, line 692, in tpc_vote
  Module perfmetrics._metric, line 72, in perfmetrics._metric._AbstractMetricImpl.__call__
  Module relstorage.storage, line 486, in tpc_vote
  Module relstorage.storage.tpc.begin, line 114, in tpc_vote
  Module relstorage.storage.tpc.vote, line 157, in enter
  Module relstorage.storage.tpc.vote, line 195, in _vote
   - __traceback_info__: (<StoreConnection at 0x7fddcd897910 active=False, conn=None cur=None>, <cursor object at 0x7fddcd83e050; closed: -1>)
  Module relstorage._util, line 233, in f
  Module relstorage.storage.tpc.vote, line 165, in _flush_temps_to_db
  Module perfmetrics._metric, line 66, in perfmetrics._metric._AbstractMetricImpl.__call__
  Module relstorage.adapters.postgresql.mover, line 228, in store_temps
  Module relstorage.adapters.postgresql.mover, line 224, in _do_store_temps
psycopg2.errors.ProgramLimitExceeded: row is too big: size 9256, maximum size 8160
CONTEXT:  COPY temp_store, line 1487

Is this coming from the database side (Yugabyte)?

jamadden commented 4 years ago

Is this coming from the database side (Yugabyte)?

Probably? Does your test work with a supported database?

I find at least one reference mentioning some limit in some version of yugabyte being 8160.

zopyx commented 4 years ago

I find at least one reference mentioning some limit in some version of yugabyte being 8160.

Of course. Creating a Plone site with Postgres is working. I can also create the Zope root object or add standard Zope content through the ZMI. The problem occurs obviously with a larger transaction (creating a new Plone site)...I am currently creating a testing environment in order to dig deeper into this.

jamadden commented 1 year ago

Closing since there are no updates since 2020, and the underlying yugabyte issue is still open.