Re: logrep stuck with 'ERROR: int2vector has too many elements'

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Erik Rijkers <er@xs4all.nl>, pgsql-hackers@postgresql.org
Date: 2023-01-15T16:06:33Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> On 2023-Jan-15, Erik Rijkers wrote:
>> Logical replication sometimes gets stuck with
>> ERROR:  int2vector has too many elements

> Weird.  This error comes from int2vectorin which amusingly only wants to
> read up to FUNC_MAX_ARGS values in the array (100 in the default config,
> but it can be changed in pg_config_manual.h).  I wonder how come we
> haven't noticed this before ... surely we use int2vector's for other
> things than function argument lists nowadays.

Yeah.  So remove the limit in int2vectorin (probably also oidvectorin),
or change logrep to use int2[] not int2vector, or both.

> At the same time, I don't understand why it fails in 16 but not in 15.
> Maybe something changed in the way we process the column lists in 16?

Probably didn't have a dependency on int2vector before.

			regards, tom lane



Commits

  1. Remove arbitrary FUNC_MAX_ARGS limit in int2vectorin and oidvectorin.