Re: pgsql: Change CRCs in WAL records from 64bit to 32bit

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)svr1(dot)postgresql(dot)org>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Change CRCs in WAL records from 64bit to 32bit
Date: 2005-06-03 17:11:59
Message-ID: 200506031711.j53HBxk18965@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers


I have trimmed TODO.detail to remove the completed items.

---------------------------------------------------------------------------

Tom Lane wrote:
> Log Message:
> -----------
> Change CRCs in WAL records from 64bit to 32bit for performance reasons.
> Instead of a separate CRC on each backup block, include backup blocks
> in their parent WAL record's CRC; this is important to ensure that the
> backup block really goes with the WAL record, ie there was not a page
> tear right at the start of the backup block. Implement a simple form
> of compression of backup blocks: drop any run of zeroes starting at
> pd_lower, so as not to store the unused 'hole' that commonly exists in
> PG heap and index pages. Tweak PageRepairFragmentation and related
> routines to ensure they keep the unused space zeroed, so that the above
> compression method remains effective. All per recent discussions.
>
> Modified Files:
> --------------
> pgsql/src/backend/access/nbtree:
> nbtpage.c (r1.84 -> r1.85)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtpage.c.diff?r1=1.84&r2=1.85)
> nbtxlog.c (r1.20 -> r1.21)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.20&r2=1.21)
> pgsql/src/backend/access/transam:
> xlog.c (r1.194 -> r1.195)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.194&r2=1.195)
> pgsql/src/backend/storage/page:
> bufpage.c (r1.63 -> r1.64)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/page/bufpage.c.diff?r1=1.63&r2=1.64)
> pgsql/src/backend/utils/hash:
> pg_crc.c (r1.12 -> r1.13)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/hash/pg_crc.c.diff?r1=1.12&r2=1.13)
> pgsql/src/bin/pg_controldata:
> pg_controldata.c (r1.23 -> r1.24)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c.diff?r1=1.23&r2=1.24)
> pgsql/src/bin/pg_resetxlog:
> pg_resetxlog.c (r1.32 -> r1.33)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c.diff?r1=1.32&r2=1.33)
> pgsql/src/include/access:
> xlog.h (r1.61 -> r1.62)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.61&r2=1.62)
> xlog_internal.h (r1.6 -> r1.7)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog_internal.h.diff?r1=1.6&r2=1.7)
> pgsql/src/include/catalog:
> pg_control.h (r1.21 -> r1.22)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.21&r2=1.22)
> pgsql/src/include/utils:
> pg_crc.h (r1.12 -> r1.13)
> (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/pg_crc.h.diff?r1=1.12&r2=1.13)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2005-06-03 17:14:17 pgsql: Trim TODO.detail for wal completed items.
Previous Message Bruce Momjian 2005-06-03 16:38:02 pgsql: Done: > * -Compress WAL entries [wal]