xlogreader.c fails with FATAL on a cluster with 4kB block size

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: xlogreader.c fails with FATAL on a cluster with 4kB block size
Date: 2016-11-12 18:52:25
Message-ID: 265b48ef-9382-5ca7-8ef6-5173594fd397@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I'm running some tests on a cluster with 4kB blocks, and it seems
there's a bug in xlogreader.c, causing FATAL errors for example when
running pg_xlogdump:

pg_xlogdump: FATAL: error in WAL record at 48/63970258:
BKPIMAGE_HAS_HOLE not set, but hole offset 0 length 4096 at 48/63970258

This particular failure comes from "pg_xlogdump --stats", but my guess
is this means recovery is broken with 4kB blocks (and possibly with some
other non-standard block sizes).

The standard 8kB blocks seem to be unaffected, as I've done the same
test on 8kB blocks many times and it never triggered this error.

FWIW the tests were done on bfcd07b4, so fairly recent code.

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Karl O. Pinc 2016-11-12 18:59:46 Re: Patch to implement pg_current_logfile() function
Previous Message Andrew Dunstan 2016-11-12 17:30:45 Re: Do we need use more meaningful variables to replace 0 in catalog head files?