Thread
-
Re: Fix safe_wal_size for slots without restart_lsn
Xuneng Zhou <xunengzhou@gmail.com> — 2026-05-28T01:22:07Z
On Thu, May 28, 2026 at 9:01 AM Xuneng Zhou <xunengzhou@gmail.com> wrote: > > On Wed, May 27, 2026 at 6:55 PM Xuneng Zhou <xunengzhou@gmail.com> wrote: > > > > Hi, > > > > Currently, pg_replication_slots can report a non-null safe_wal_size > > for a replication slot that has never reserved WAL, if > > max_slot_wal_keep_size is finite. > > > > Such a slot has restart_lsn = NULL and wal_status = NULL. safe_wal_size is > > derived from restart_lsn, so it's not meaningful in this state. The > > current code handles WALAVAIL_REMOVED but not WALAVAIL_INVALID_LSN > > before computing safe_wal_size, leading arithmetic on InvalidXLogRecPtr. > > > > Fix this by returning NULL for safe_wal_size when WAL availability is > > WALAVAIL_INVALID_LSN. > > > > Fixed the indentation issue in v1 and updated the comment and doc. Not > sure this small issue warrants an additional test, still added one in > case someone wants it. Improved the readability of the new test. -- Regards, Xuneng Zhou HighGo Software Co., Ltd.