Re: Release notes for February minor releases

From: Michael Banck <michael(dot)banck(at)credativ(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Release notes for February minor releases
Date: 2022-02-04 21:27:54
Message-ID: 61fd9a5b.1c69fb81.88a14.5556@mx.google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Feb 04, 2022 at 02:58:59PM -0500, Tom Lane wrote:
> I've pushed the first draft for $SUBJECT at
>
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ab22eea83169c8d0eb15050ce61cbe3d7dae4de6
>
> Please send comments/corrections by Sunday.

> + <para>
> + Fix corruption of HOT chains when a RECENTLY_DEAD tuple changes
> + state to fully DEAD during page pruning (Andres Freund)
> + </para>
> +
> + <para>
> + This happens when the last transaction that could <quote>see</quote>
> + the tuple ends while the page is being pruned. It was then possible
> + to remove a tuple that is pointed to by a redirect item elsewhere on
> + the page. While that causes no immediate problem, when the item slot
> + is re-used by some new tuple, that tuple would be thought to be part
> + of the pre-existing HOT chain, creating a form of index corruption.

Well, ouchy.

> + If this seems to have affected a table, <command>REINDEX</command>
> + should repair the damage.

I don't think this is very helpful to the reader, are their indexes
corrupt or not? If we can't tell them a specific command to run to
check, can we at least mention that running amcheck would detect that
(if it actually does)? Otherwise, I guess the only way to be sure is to
just reindex every index? Or is this at least specific to b-trees?

> + <para>
> + Enforce standard locking protocol for TOAST table updates, to prevent
> + problems with <command>REINDEX CONCURRENTLY</command> (Michael Paquier)
> + </para>
> +
> + <para>
> + If applied to a TOAST table or TOAST table's index, <command>REINDEX
> + CONCURRENTLY</command> tended to produce a corrupted index. This
> + happened because sessions updating TOAST entries released
> + their <literal>ROW EXCLUSIVE</literal> locks immediately, rather
> + than holding them until transaction commit as all other updates do.
> + The fix is to make TOAST updates hold the table lock according to the
> + normal rule. Any existing corrupted indexes can be repaired by
> + reindexing again.
> + </para>
> + </listitem>

Same, but at least here the admin can cut it down to only those indexes
which were added concurrently.

Michael

--
Michael Banck
Teamleiter PostgreSQL-Team
Projektleiter
Tel.: +49 2166 9901-171
Email: michael(dot)banck(at)credativ(dot)de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Geoff Richardson, Peter Lilley

Unser Umgang mit personenbezogenen Daten unterliegt
folgenden Bestimmungen: https://www.credativ.de/datenschutz

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message walther 2022-02-04 21:28:51 Re: [PATCH] Add reloption for views to enable RLS
Previous Message Peter Geoghegan 2022-02-04 21:25:37 Re: decoupling table and index vacuum