Re: pg_serial early wraparound

Anastasia Lubennikova <lubennikovaav@gmail.com>

From: Anastasia Lubennikova <lubennikovaav@gmail.com>
To: pgsql-hackers@lists.postgresql.org
Cc: Thomas Munro <munro@ip9.org>
Date: 2018-03-12T11:26:27Z
Lists: pgsql-hackers
The following review has been posted through the commitfest application:
make installcheck-world:  tested, passed
Implements feature:       tested, passed
Spec compliant:           not tested
Documentation:            not tested

The patch doesn't break anything in regression tests and does the code cleanup.
As far as I understand, the removed code was dead, since SLRU size is large enough 
and the wraparound, described in the message is impossible.
So I mark it as Ready For Committer.

I didn't manage to repeat the attached test, though. 
Server doesn't start after xid reset. It throws an error:

server stopped
========== setting next xid to 1073741824 =========
Write-ahead log reset
waiting for server to start....2018-03-12 14:18:59.551 MSK [16126] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2018-03-12 14:18:59.625 MSK [16126] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2018-03-12 14:18:59.764 MSK [16127] LOG:  database system was shut down at 2018-03-12 14:18:59 MSK
2018-03-12 14:18:59.802 MSK [16127] FATAL:  could not access status of transaction 10737418
2018-03-12 14:18:59.802 MSK [16127] DETAIL:  Could not open file "pg_xact/000A": Нет такого файла или каталога.
2018-03-12 14:18:59.803 MSK [16126] LOG:  startup process (PID 16127) exited with exit code 1
2018-03-12 14:18:59.803 MSK [16126] LOG:  aborting startup due to startup process failure
2018-03-12 14:18:59.804 MSK [16126] LOG:  database system is shut down

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