Re: Online enabling of checksums
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: 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>, Robert Haas <robertmhaas@gmail.com>, Greg Stark <stark@mit.edu>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2018-04-05T21:23:37Z
Lists: pgsql-hackers
Hi, On 2018-04-05 22:06:36 +0200, Magnus Hagander wrote: > I have now pushed this latest version with some minor text adjustments and > a catversion bump. Is there any sort of locking that guarantees that worker processes see an up2date value of DataChecksumsNeedWrite()/ControlFile->data_checksum_version? Afaict there's not. So you can afaict end up with checksums being computed by the worker, but concurrent writes missing them. The window is going to be at most one missed checksum per process (as the unlocking of the page is a barrier) and is probably not easy to hit, but that's dangerous enough. Just plonking a barrier into DataChecksumsNeedWrite() etc is a possibility, but it's also not free... Greetings, Andres Freund
Commits
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) landed
-
Deactive flapping checksum isolation tests.
- bf75fe47e444 11.0 landed
-
Add support for coordinating record typmods among parallel workers.
- cc5f81366c36 11.0 cited