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.
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 |