Re: Intermittent buildfarm failures on wrasse
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org, Noah Misch <noah@leadboat.com>, Peter Geoghegan <pg@bowt.ie>, David Rowley <dgrowleyml@gmail.com>
Date: 2022-04-15T16:57:01Z
Lists: pgsql-hackers
Hi, On 2022-04-15 12:36:52 -0400, Tom Lane wrote: > Andres Freund <andres@anarazel.de> writes: > > On April 15, 2022 11:23:40 AM EDT, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> The something is the logical replication launcher. In the failing runs, > >> it is advertising xmin = 724 (the post-initdb NextXID) and continues to > >> do so well past the point where tenk1 gets vacuumed. > > > That explains it. Before shmstat autovac needed to wait for the stats collector to write out stats. Now it's near instantaneous. So the issue probably existed before, just unlikely to ever be reached. > > Um, this is the logical replication launcher, not the autovac > launcher. Short term confusion... > Your observation that a sleep in get_database_list() reproduces it > confirms that I don't understand what you mean here? get_database_list() is autovac launcher code? So being able to reproduce the problem by putting in a sleep there doesn't seem like a confirm anything about the logical rep launcher? > , and I don't entirely see why the timing of the LR launcher > would have changed. Could still be related to the autovac launcher not requesting / pgstats not writing / launcher not reading the stats file(s). That obviously is going to have some scheduler impact. > > We can't just ignore database less xmins for non-shared rels, because walsender propagates hot_standby_feedback that way. But we can probably add a flag somewhere indicating whether a database less PGPROC has to be accounted in the horizon for non-shared rels. > > Yeah, I was also thinking about a flag in PGPROC being a more reliable > way to do this. Is there anything besides walsenders that should set > that flag? Not that I can think of. It's only because of hs_feedback that we need to. I guess it's possible that somebody build some extension that needs something similar, but then they'd need to set that flag... Greetings, Andres Freund
Commits
-
Repurpose PROC_COPYABLE_FLAGS as PROC_XMIN_FLAGS
- 8d9d1286acf9 14.4 landed
- 8d061acd12af 15.0 landed
- 5fd0cccc116b 13.8 landed
-
Tighten ComputeXidHorizons' handling of walsenders.
- 6fea65508a1a 15.0 landed
-
Adjust VACUUM's removable cutoff log message.
- 357c8455e649 15.0 landed
-
Temporarily add some probes of tenk1's relallvisible in create_index.sql.
- 5bb2b6abc8d6 15.0 landed
-
Set synchronous_commit=on in test_setup.sql.
- 02fea8fdda65 15.0 cited
-
Rearrange core regression tests to reduce cross-script dependencies.
- cc50080a828d 15.0 cited
-
snapshot scalability: Don't compute global horizons while building snapshots.
- dc7420c2c927 14.0 cited