Re: Page Checksums + Double Writes

Kevin Grittner <kevin.grittner@wicourts.gov>

From: "Kevin Grittner" <Kevin.Grittner@wicourts.gov>
To: "Simon Riggs" <simon@2ndQuadrant.com>
Cc: <alvherre@commandprompt.com>,<david@fetter.org>, <pgsql-hackers@postgresql.org>, <tgl@sss.pgh.pa.us>
Date: 2011-12-22T22:37:17Z
Lists: pgsql-hackers
Simon Riggs <simon@2ndQuadrant.com> wrote:
 
> It could work that way, but I seriously doubt that a technique
> only mentioned in dispatches one month before the last CF is
> likely to become trustable code within one month. We've been
> discussing CRCs for years, so assembling the puzzle seems much
> easier, when all the parts are available.
 
Well, double-write has been mentioned on the lists for years,
sometimes in conjunction with CRCs, and I get the impression this is
one of those things which has been worked on out of the community's
view for a while and is just being posted now.  That's often not
viewed as the ideal way for development to proceed from a community
standpoint, but it's been done before with some degree of success --
particularly when a feature has been bikeshedded to a standstill. 
;-)
 
> I would suggest you examine how to have an array of N bgwriters,
> then just slot the code for hinting into the bgwriter. That way a
> bgwriter can set hints, calc CRC and write pages in sequence on a
> particular block. The hinting needs to be synchronised with the
> writing to give good benefit.
 
I'll think about that.  I see pros and cons, and I'll have to see
how those balance out after I mull them over.
 
> If we want page checksums in 9.2, I'll need your help, so the
> hinting may be a sidetrack.
 
Well, VMware posted the initial patch, and that was the first I
heard of it.  I just had some off-line discussions with them after
they posted it.  Perhaps the engineers who wrote it should take your
comments as a review an post a modified patch?  It didn't seem like
that pot of broth needed any more cooks, so I was going to go work
on a nice dessert; but I agree that any way I can help along the
either of the $Subject patches should take priority.
 
-Kevin