Use higher wal_level for 004_io_direct.pl.
authorThomas Munro <[email protected]>
Sat, 8 Apr 2023 20:27:36 +0000 (08:27 +1200)
committerThomas Munro <[email protected]>
Sat, 8 Apr 2023 20:27:36 +0000 (08:27 +1200)
The new direct I/O test deliberately uses a very small shared_buffers to
force some disk transfers without making the data set large and slow,
but ran into a problem with wal_level = minimal: log_newpage_range()
pins many buffers, leading to a few intermittent "no unpinned buffers
available" errors.

We could presumably fix that by adjusting shared_buffers, but crake
seems to be trying to tell us something interesting with these settings,
so let's just avoid wal_level = minimal in this test for now.

Reported-by: Andres Freund <[email protected]>
Discussion: https://postgr.es/m/20230408060408.n7xdwk3mxj5oykt6%40awork3.anarazel.de

src/test/modules/test_misc/t/004_io_direct.pl

index f5bf0b11e4e61a0d907cccf9a9f793896a7e2f31..5a2dd0d288f6ebba2254374c119681f448b74968 100644 (file)
@@ -23,6 +23,7 @@ $node->append_conf(
    'postgresql.conf', qq{
 io_direct = 'data,wal,wal_init'
 shared_buffers = '256kB' # tiny to force I/O
+wal_level = replica # minimal runs out of shared_buffers when set so tiny
 });
 $node->start;