Testing WAL replay by comparing before and after images again - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Testing WAL replay by comparing before and after images again
Date
Msg-id 55E99284.2020107@iki.fi
Whole thread Raw
Responses Re: Testing WAL replay by comparing before and after images again  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
I rerun my little testing tool that compares buffer page contents after
every modification, in master and in WAL replay. Previously discussed
here: http://www.postgresql.org/message-id/5357B582.7060707@vmware.com.
Here's an updated version of my original hack, for current git master.
(Michael posted less-hacky versions of that, but unfortunately I haven't
gotten around to review his stuff.)

I did not find any new bugs. There were a couple of false positives
however. Firstly, the post-processing tool needed to be taught that BRIN
pages can have the PD_HAS_FREE_LINES flag set, and ignore that (like it
does for heap and other indexam pages).

Another issue was with the new speculative insertions. Replaying a
speculative insertion record sets the tuple's CTID to point to itself,
like in a regular insertion. But in the original system, the CTID is set
to a special speculative insertion token. The tool flagged up that
difference.

I propose the attached patch
(mark-speculative-insertions-in-replay.patch) to fix that in the replay
routine. This is not required for correctness, but helps this tool, and
seems like a good idea for debugging purposes anyway.

Any objections?

- Heikki

Attachment

pgsql-hackers by date:

Previous
From: Teodor Sigaev
Date:
Subject: Re: [PATCH] Microvacuum for gist.
Next
From: Thomas Munro
Date:
Subject: Making tab-complete.c easier to maintain