Re: stats.sql fails during installcheck on mac - Mailing list pgsql-hackers

From Sami Imseih
Subject Re: stats.sql fails during installcheck on mac
Date
Msg-id CAA5RZ0tByeHi3Mi7cShdDDOjMErUbConB0RBcvgzkEUo8N9CRg@mail.gmail.com
Whole thread Raw
In response to Re: stats.sql fails during installcheck on mac  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: stats.sql fails during installcheck on mac
List pgsql-hackers
> Hmm, that's a little nasty, because it's not showing up in the
> buildfarm.  It appears from a little testing that the issue only
> manifests if you have fsync = on, which we generally don't on
> buildfarm animals.

right, "make check" does not encounter this because it runs
with fsync=off, as I mentioned at the top of the thread.

> That concerns me independently of this specific failure, because
> it calls into question how realistic our testing of things like
> fsync statistics really is.

I agree, the 3 tests in stats.sql that do this
SELECT current_setting('fsync') = 'off' OR some stats test
are skipping over the fsync counters test altogether.

Perhaps we should enable fsync for these specific parts
of the test? it's SIGHUP

> Anyway, back to the patch: there are multiple places in
> stats.sql that are effectively disabling tests if fsync = off,
> not only this one.  Why does only this one need the exception?
> Should we be rethinking or tightening some of the others?

IIUC, this is only an issue for wal syncing

"""
postgres=# select n into t from generate_series(1, 10000) as n;
SELECT 10000
postgres=# checkpoint; checkpoint;
CHECKPOINT
CHECKPOINT
postgres=# SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs, object
FROM pg_stat_io
WHERE context = 'normal'
                                           group by object;
 writes | fsyncs |    object
--------+--------+---------------
      7 |      0 | wal
      0 |        | temp relation
     79 |     32 | relation
(3 rows)

postgres=# show wal_sync_method ;
 wal_sync_method
-----------------
 open_datasync
(1 row)

"""

so only the below test with object = 'wal' needs to be tightened

SELECT sum(writes) AS writes, sum(fsyncs) AS fsyncs
FROM pg_stat_io
WHERE context = 'normal' AND object = 'wal' \gset io_sum_wal_normal_after_

--
Sami Imseih
Amazon Web Services (AWS)



pgsql-hackers by date:

Previous
From: Ranier Vilela
Date:
Subject: Re: Non-text mode for pg_dumpall
Next
From: David Rowley
Date:
Subject: Re: n_ins_since_vacuum stats for aborted transactions