Re: pg_serial early wraparound

Thomas Munro <thomas.munro@enterprisedb.com>

From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Anastasia Lubennikova <lubennikovaav@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>, Thomas Munro <munro@ip9.org>
Date: 2017-09-01T11:12:10Z
Lists: pgsql-hackers

Attachments

On Wed, Jun 28, 2017 at 1:11 PM, Thomas Munro
<thomas.munro@enterprisedb.com> wrote:
> On Sat, Mar 25, 2017 at 7:27 AM, Thomas Munro
> <thomas.munro@enterprisedb.com> wrote:
>> On Sat, Mar 25, 2017 at 3:11 AM, Anastasia Lubennikova
>> <lubennikovaav@gmail.com> wrote:
>>> You claim that SLRUs now support five digit segment name, while in slru.h
>>> at current master I see the following:
>>>
>>>  * Note: slru.c currently assumes that segment file names will be four hex
>>>  * digits.  This sets a lower bound on the segment size (64K transactions
>>>  * for 32-bit TransactionIds).
>>>  */
>
> I've now complained about that comment in a separate thread.
>
>> It's not urgent, it's just cleanup work, so I've now moved it to the
>> next commitfest.  I will try to figure out a new way to demonstrate
>> that it works correctly without having to ask a review[er] to disable
>> any assertions.  Thanks again.

Rebased again, now with a commit message.  That assertion has since
been removed (commit ec99dd5a) so the attached test script can once
again be used to see the contents of pg_serial as the xid goes all the
way around, if you build with TEST_OLDSERXID defined so that
predicate.c forces information about xids out to pg_serial.

-- 
Thomas Munro
http://www.enterprisedb.com

Commits

  1. Remove obsolete SLRU wrapping and warnings from predicate.c.

  2. Remove incorrect assertion in clog.c

  3. Keep track of transaction commit timestamps

  4. Handle 5-char filenames in SlruScanDirectory