Re: 16-bit page checksums for 9.2
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, david@fetter.org, aidan@highrise.ca, stark@mit.edu, pgsql-hackers@postgresql.org
Date: 2012-01-11T22:12:31Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Wakeup WALWriter as needed for asynchronous commit performance.
- 4de82f7d7c50 9.2.0 cited
Attachments
- checksum16_with_wallogged_hint_bits.v7.patch (text/x-patch) patch v7
On Sun, Jan 8, 2012 at 2:03 PM, Simon Riggs <simon@2ndquadrant.com> wrote: > On Sat, Jan 7, 2012 at 11:09 AM, Simon Riggs <simon@2ndquadrant.com> wrote: >> On Sat, Jan 7, 2012 at 10:55 AM, Simon Riggs <simon@2ndquadrant.com> wrote: >> >>> So there isn't any problem with there being incorrect checksums on >>> blocks and you can turn the parameter on and off as often and as >>> easily as you want. I think it can be USERSET but I wouldn't want to >>> encourage users to see turning it off as a performance tuning feature. >>> If the admin turns it on for the server, its on, so its SIGHUP. >>> >>> Any holes in that I haven't noticed? >> >> And of course, as soon as I wrote that I thought of the problem. We >> mustn't make a write that hasn't been covered by a FPW, so we must >> know ahead of time whether to WAL log hints or not. We can't simply >> turn it on/off any longer, now that we have to WAL log hint bits also. >> So thanks for making me think of that. >> >> We *could* make it turn on/off at each checkpoint, but its easier just >> to say that it can be turned on/off at server start. > > Attached patch v6 now handles hint bits and checksums correctly, > following Heikki's comments. > > In recovery, setting a hint doesn't dirty a block if it wasn't already > dirty. So we can write some hints, and we can set others but not write > them. > > Lots of comments in the code. v7 * Fixes merge conflict * Minor patch cleanups * Adds checksum of complete page including hole * Calcs checksum in mdwrite() so we pickup all non-shared buffer writes also Robert mentioned to me there were outstanding concerns on this patch. I know of none, and have double checked the thread to confirm all concerns are fully addressed. Adding to CF. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services