Thread
Commits
-
Use pg_pwrite() in pg_test_fsync.
- 2c8b42b50df6 14.0 landed
-
Use pg_pwrite() in pg_test_fsync
Thomas Munro <thomas.munro@gmail.com> — 2021-01-09T20:21:59Z
Hi, Since pg_test_fsync is supposed to simulate some aspects of PostgreSQL's wal_sync_method settings, I think it should be updated to use the same system calls (which changed in v12). That's mostly on principle, though in practice, on one system I've managed to see a small measurable difference. I left the fsync-after-closing and non-sync'd tests using write(), because they weren't using lseek(). The latter case is arguably a bit odd because it's not overwriting pre-allocated blocks, unlike the earlier tests.
-
Re: Use pg_pwrite() in pg_test_fsync
Thomas Munro <thomas.munro@gmail.com> — 2021-01-24T00:50:08Z
On Sun, Jan 10, 2021 at 9:21 AM Thomas Munro <thomas.munro@gmail.com> wrote: > I left the fsync-after-closing and non-sync'd tests using write(), > because they weren't using lseek(). The latter case is arguably a bit > odd because it's not overwriting pre-allocated blocks, unlike the > earlier tests. On closer inspection, the weird thing about that final test is that it's opening and closing the file every time. That doesn't seem to make any sense. Perhaps it's a copy and paste error from the previous test? In v2 I changed it to pg_pwrite(), and moved the open and close calls out of the loop.
-
Re: Use pg_pwrite() in pg_test_fsync
Thomas Munro <thomas.munro@gmail.com> — 2021-02-15T02:24:25Z
On Sun, Jan 24, 2021 at 1:50 PM Thomas Munro <thomas.munro@gmail.com> wrote: > On Sun, Jan 10, 2021 at 9:21 AM Thomas Munro <thomas.munro@gmail.com> wrote: > > I left the fsync-after-closing and non-sync'd tests using write(), > > because they weren't using lseek(). The latter case is arguably a bit > > odd because it's not overwriting pre-allocated blocks, unlike the > > earlier tests. > > On closer inspection, the weird thing about that final test is that > it's opening and closing the file every time. That doesn't seem to > make any sense. Perhaps it's a copy and paste error from the previous > test? In v2 I changed it to pg_pwrite(), and moved the open and close > calls out of the loop. Pushed.