Обсуждение: 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?
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