Allow up to 3 "-P 1" reports per thread in pgbench run of 2 seconds.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Sep 2017 16:59:44 +0000 (12:59 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 22 Sep 2017 16:59:44 +0000 (12:59 -0400)
There seems to be some considerable imprecision in the timing of -P
progress reports.  Nominally each thread ought to produce 2 reports
in this test, but about 10% of the time we only get one, and 1% of
the time we get three, as per buildfarm results so far.  Pending
further investigation, treat the last case as a "pass".  (I, tgl,
am suspicious that this still might not be lax enough, now that it's
obvious that the behavior is load-dependent; but there's not yet
buildfarm evidence to confirm that suspicion.)

Fabien Coelho

Discussion: https://postgr.es/m/26654.1505232433@sss.pgh.pa.us

src/bin/pgbench/t/001_pgbench_with_server.pl

index 3609b9bedeb1803d983e1f1afe6f19f4d2aa5c4c..7db4bc8c978a9e80963703ba20f625ca6057c6cd 100644 (file)
@@ -462,8 +462,9 @@ pgbench(
    [ qr{vacuum}, qr{progress: 1\b} ],
    'pgbench progress');
 
-# $nthreads threads, 2 seconds, sometimes only one aggregated line is written
-check_pgbench_logs('001_pgbench_log_1', $nthreads, 1, 2,
+# $nthreads threads, 2 seconds, but due to timing imprecision we might get
+# only 1 or as many as 3 progress reports per thread.
+check_pgbench_logs('001_pgbench_log_1', $nthreads, 1, 3,
    qr{^\d+ \d{1,2} \d+ \d+ \d+ \d+ \d+ \d+ \d+ \d+ \d+$});
 
 # with sampling rate