Re: xlog location arithmetic
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Peter Eisentraut <peter_e@gmx.net>, Magnus Hagander <magnus@hagander.net>, Euler Taveira de Oliveira <euler@timbira.com>, Pgsql Hackers <pgsql-hackers@postgresql.org>
Date: 2012-03-13T03:36:45Z
Lists: pgsql-hackers
On Tue, Mar 13, 2012 at 12:03 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Fujii Masao <masao.fujii@gmail.com> writes: >> On Sat, Mar 10, 2012 at 5:04 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >>> The main actual simplification would be in getting rid of the "hole" >>> at the end of each 4GB worth of WAL, cf this bit in xlog_internal.h: >>> If we can't get rid of that and have a continuous 64-bit WAL address >>> space then it's unlikely we can actually simplify any logic. >>> ... >>> Now, doing that doesn't break the naming convention exactly; what it >>> changes is that there will be WAL files numbered xxxFFFF (for some >>> number of trailing-1-bits I'm too lazy to work out at the moment) where >>> before there were not. So the question really is how much external code >>> there is that is aware of that specific noncontiguous numbering behavior >>> and would be broken if things stopped being that way. > >> A page header contains WAL location, so getting rid of "hole" seems to >> break pg_upgrade. No? > > No, why would it do that? The meaning and ordering of WAL addresses is > the same as before. The only difference is that after the upgrade, the > system will stop skipping over 16MB of potentially usable WAL addresses > at the end of each subsequently-used 4GB of space. The holes before > the switchover point are still holes, but that doesn't matter. Oh, I see. You're right. Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center