c91017d4

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Let a test say which part of it happened long ago

Most of a test is arranging what, in production, was arranged long
before the request under test: an account registered last week, a
build that finished this morning.  A replica has all of that.  Only
what happens after the arranging is recent enough for lag to be a
question.

Without somewhere to draw that line, a suite pointed at a replica
fails on its own setup, for a reason its production counterpart would
never meet, and says nothing about the request it was written for.

It waits rather than lifting the standby's apply delay while it
catches up.  Lifting would be quicker, and ALTER SYSTEM does work on a
standby, but how far behind the standby is belongs to the cluster:
every test running at that moment would get a replica that had caught
up, and a test whose subject is what happens when it has not would
quietly stop testing anything.  Waiting costs the configured delay at
worst, because the delay is measured against each record's commit
timestamp rather than from when replay reaches it.
GitHub

Total

5m08s

Created Started Finished

Time to Start Worker time Duration Time to finish Idle
Config 0s 0s 0s 0s 0s
Eval 1s 5m07s 5m07s 5m08s 0s
Build - - - - -
Suite 0s 5m08s 5m08s 5m08s 0s

Timeline

Config Eval Failed
0s1m2m3m4m5m