Обсуждение: Re: Logical replication halted due to "this slot has been invalidated because it exceeded the maximum reserved size."

Поиск
Список
Период
Сортировка
On 2022-Nov-29, Viljo Hakala wrote:

> We have two  PostgreSQL 14.3 on Red Hat Linux 8.5 running two
> different databases on VMS, where logical replicationn is used between
> databases.

Hmm, I don't see any bug fixes in the commit that would match this.
I only looked after May 9th 2022, which is 14.3's tag date.

> 2022-11-29 10:21:06.940 EET [1698404] ERROR:  could not start WAL streaming: ERROR:  cannot read from logical
replicationslot ”logs”
 
>         DETAIL:  This slot has been invalidated because it exceeded the maximum reserved size.
> 2022-11-29 10:21:06.942 EET [1698368] LOG:  background worker "logical replication worker" (PID 1698404) exited with
exitcode 1
 
> 
> Even though according to manual the max_slot_wal_keep_size is -1 and should not have a limit ?

You should see earlier messages about the slot being invalidated, during
the previous checkpoint -- and potentially the walsender being
signalled, if it was running.  Can you spot those?

> postgres=# show max_slot_wal_keep_size;
> 
>  max_slot_wal_keep_size
> ------------------------
>  -1

The only explanation of this behavior that doesn't involve a bug is that
this parameter was set to a nonzero value, then set to disabled, but the
checkpointer failed to notice the change.

-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
"This is what I like so much about PostgreSQL.  Most of the surprises
are of the "oh wow!  That's cool" Not the "oh shit!" kind.  :)"
Scott Marlowe, http://archives.postgresql.org/pgsql-admin/2008-10/msg00152.php



Hello

> The only explanation of this behavior that doesn't involve a bug is that
this parameter was set to a nonzero value, then set to disabled, but the
checkpointer failed to notice the change.

Or max_slot_wal_keep_size is really set on the publication database, but only the subscription database config was
checked.

regards, Sergei



HI,

 

Previously we had -1 as default for both of these instances and that caused same kind of issue.

 

Now we had set it to maximum value. We changed it back to -1

 

The logical replication was rebuilt over the weekend from scratch and issue occurred only 2-3 days after.

 

So we believe this is a bug. There seems to have been an issue in 13, that got fixed. But maybe this is a regression bug?

 

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=866237a6fa01a128325df41ad39b41ea3363c9a9

 

 

Regards,

Viljo

 

 

Lähettäjä: Sergei Kornilov <sk@zsrv.org>
Päivämäärä: tiistaina, 29. marraskuuta 2022 klo 15.16
Vastaanottaja: Alvaro Herrera <alvherre@alvh.no-ip.org>
Kopio: pgsql-bugs@lists.postgresql.org <pgsql-bugs@lists.postgresql.org>, Viljo Hakala <Viljo.Hakala@advania.com>
Aihe: Re:Logical replication halted due to "this slot has been invalidated because it exceeded the maximum reserved size."

Hello

> The only explanation of this behavior that doesn't involve a bug is that
this parameter was set to a nonzero value, then set to disabled, but the
checkpointer failed to notice the change.

Or max_slot_wal_keep_size is really set on the publication database, but only the subscription database config was checked.

regards, Sergei