pgsql: Fix end LSN determination in recently added test

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix end LSN determination in recently added test
Date: 2022-12-23 16:27:39
Message-ID: E1p8ktX-00023i-Gz@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix end LSN determination in recently added test

The test added in commit e44dae07f931 has a thinko: it wants to read
info about a few WAL records, but it obtains the LSN of the final record
to read by asking for the WAL insert position; however,
pg_get_wal_records_info only accepts to read up to the flush position
(cf. IsFutureLSN()). In normal conditions there is no difference, since
the last record written by the preceding loop is known flushed and it's
the one the test wants; but it's possible to have some other process
insert another WAL record that isn't flushed, and that causes the whole
test to explode.

Fix by having pg_get_wal_records_info() read only up to the flushed
position. Backpatch to 15, which is where pg_walinspect appeared.

Author: Karina Litskevich <litskevichkarina(at)gmail(dot)com>
Discussion: https://postgr.es/m/a5559c95-52c3-5eea-cd63-9b4f1c70ff96@gmail.com

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5436cb373c6289eca8fc2b4aabb75f002a0394cf

Modified Files
--------------
src/test/modules/brin/t/02_wal_consistency.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2022-12-23 16:50:54 pgsql: Rework <warning> box about column list combining in logical repl
Previous Message Andrew Dunstan 2022-12-23 14:50:00 pgsql: Convert contrib/seg's input function to report errors softly