pgsql: Fix issues in pgarch's new directory-scanning logic.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix issues in pgarch's new directory-scanning logic.
Date: 2021-12-29 22:02:56
Message-ID: E1n2h28-0002Re-5r@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix issues in pgarch's new directory-scanning logic.

The arch_filenames[] array elements were one byte too small, so that
a maximum-length filename would get corrupted if another entry
were made after it. (Noted by Thomas Munro, fix by Nathan Bossart.)

Move these arrays into a palloc'd struct, so that we aren't wasting
a few kilobytes of static data in each non-archiver process.

Add a binaryheap_reset() call to make it plain that we start the
directory scan with an empty heap. I don't think there's any live
bug of that sort, but it seems fragile, and this is very cheap
insurance.

Cleanup for commit beb4e9ba1, so no back-patch needed.

Discussion: https://postgr.es/m/CA+hUKGLHAjHuKuwtzsW7uMJF4BVPcQRL-UMZG_HM-g0y7yLkUg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1fb17b1903414676bd371068739549cd2966fe87

Modified Files
--------------
src/backend/postmaster/pgarch.c | 70 +++++++++++++++++++++++++----------------
1 file changed, 43 insertions(+), 27 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2021-12-30 04:23:40 pgsql: Fix overly generic name in with.sql test.
Previous Message Peter Eisentraut 2021-12-29 09:15:08 pgsql: Fix incorrect format placeholders