I wrote:
> Seems like this hasn't fixed the problem: skink still fails on
> this test occasionally.
> # Failed test '000000010000000000000002 differs from 000000010000000000000002'
> # at t/026_overwrite_contrecord.pl line 61.
This is still happening off and on, which makes it look like a
timing-sensitive problem. Confirming that, I can make it fail
every time by adding a long sleep just ahead of where
026_overwrite_contrecord.pl captures $initfile. On reflection
I think the problem is obvious: if autovacuum does anything
concurrently with the test's startup portion, it will cause the
carefully-established WAL insertion point to move into the
next segment. I propose to add "autovacuum = off" to the
test's postmaster configuration.
Also, I think we want
-ok($initfile != $endfile, "$initfile differs from $endfile");
+ok($initfile ne $endfile, "$initfile differs from $endfile");
The existing coding works as long as all characters of these
WAL segment names happen to be decimal digits, but ...
regards, tom lane