Re: Online enabling of checksums

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Robert Haas <robertmhaas@gmail.com>,Magnus Hagander <magnus@hagander.net>
Cc: Andrey Borodin <x4mmm@yandex-team.ru>,Tomas Vondra <tomas.vondra@2ndquadrant.com>,Heikki Linnakangas <hlinnaka@iki.fi>,Daniel Gustafsson <daniel@yesql.se>,Michael Banck <michael.banck@credativ.de>,Greg Stark <stark@mit.edu>,PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-07-26T17:35:16Z
Lists: pgsql-hackers

On July 26, 2018 10:03:39 AM PDT, Robert Haas <robertmhaas@gmail.com> wrote:
>On Tue, Jun 26, 2018 at 7:45 AM, Magnus Hagander <magnus@hagander.net>
>wrote:
>> PFA an updated version of the patch for the next CF. We believe this
>one
>> takes care of all the things pointed out so far.
>>
>> For this version, we "implemented" the
>MegaExpensiveRareMemoryBarrier() by
>> simply requiring a restart of PostgreSQL to initiate the conversion
>> background. That is definitely going to guarantee a memory barrier.
>It's
>> certainly not ideal, but restarting the cluster is still a *lot*
>better than
>> having to do the entire conversion offline. This can of course be
>improved
>> upon in the future, but for now we stuck to the safe way.
>
>Honestly, I feel like the bar for this feature ought to be higher than
>that.
>
>(I half-expect a vigorous discussion of whether I have set the bar for
>the features I've developed in the right place or not, but I think
>that's not really a fair response.  If somebody thinks some feature I
>implemented should've been more baked, they might be right, but that's
>not what this thread is about.  I'm giving you MY opinion about THIS
>patch, nothing more or less.)

+1

>Why can't we do better?

I don't think it's that hard to do better. IIRC I even outlined something before the freeze. If not, o certainly can (sketch: use procsignal based acknowledgment protocol, using a 64 bit integer. Useful for plenty other things).

Andres


-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


Commits

  1. Online enabling and disabling of data checksums

  2. Deactive flapping checksum isolation tests.

  3. Add support for coordinating record typmods among parallel workers.