Re: Online enabling of checksums

Magnus Hagander <magnus@hagander.net>

From: Magnus Hagander <magnus@hagander.net>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Daniel Gustafsson <daniel@yesql.se>, Michael Banck <michael.banck@credativ.de>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Robert Haas <robertmhaas@gmail.com>, Greg Stark <stark@mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-03-19T11:57:42Z
Lists: pgsql-hackers
On Mon, Mar 19, 2018 at 12:24 PM, Magnus Hagander <magnus@hagander.net>
wrote:

> On Mon, Mar 19, 2018 at 11:40 AM, Andrey Borodin <x4mmm@yandex-team.ru>
> wrote:
>
>> Hi, Daniel!
>>
>> > 19 марта 2018 г., в 4:01, Daniel Gustafsson <daniel@yesql.se>
>> написал(а):
>> >
>> > Fixed in patch just posted in 84693D0C-772F-45C2-88A1-85B498
>> 3A5780@yesql.se
>> > (version 5). Thanks!
>>
>>
>> I've been hacking a bit in neighboring thread.
>> And come across one interesting thing. There was a patch on this CF on
>> enabling checksums for SLRU. The thing is CLOG is not protected with
>> checksums right now. But the bad thing about it is that there's no reserved
>> place for checksums in SLRU.
>> And this conversion from page without checksum to page with checksum is
>> quite impossible online.
>>
>> If we commit online checksums before SLRU checksums, we will need very
>> neat hacks if we decide to protect SLRU eventually.
>>
>> What do you think about this problem?
>>
>
> One would be adjusted to work with the other, yes. It makes no sense to
> now allow online enabling once SLRU protection is in there, and it doesn't
> make sense for either of these patches to be blocking the other one for
> commit, though it would of course be best to get both included.
>


Makes no sense to *not* allow it, of course. Meaning yes, that should be
handled.

We don' t need to convert from "page format with no support for checksums"
(pre-11) to "page format with support for checksums" (11+) online.

We do need to convert from "page format with support for checksums but no
checksums enabled" (11+) to "checksums enabled" online.


-- 
 Magnus Hagander
 Me: https://www.hagander.net/ <http://www.hagander.net/>
 Work: https://www.redpill-linpro.com/ <http://www.redpill-linpro.com/>

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.