Re: Introduce pg_receivewal gzip compression tests
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: gkokolatos@pm.me
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-15T11:35:27Z
Lists: pgsql-hackers
On Thu, Jul 15, 2021 at 07:48:08AM +0000, gkokolatos@pm.me wrote: > Let us hope that it will prevent some bugs from happening. The buildfarm has two reports. 1) bowerbird on Windows/MSVC: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=bowerbird&dt=2021-07-15%2010%3A30%3A36 pg_receivewal: fatal: could not fsync existing write-ahead log file "000000010000000000000002.partial": Permission denied not ok 20 - streaming some WAL using ZLIB compression I don't think the existing code can be blamed for that as this means a failure with gzflush(). Likely a concurrency issue as that's an EACCES. If that's repeatable, that could point to an actual issue with pg_receivewal --compress. 2) curculio: https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=curculio&dt=2021-07-15%2010%3A30%3A15 # Running: gzip --test /home/pgbf/buildroot/HEAD/pgsql.build/src/bin/pg_basebackup/tmp_check/t_020_pg_receivewal_primary_data/archive_wal/000000010000000000000002.gz /home/pgbf/buildroot/HEAD/pgsql.build/src/bin/pg_basebackup/tmp_check/t_020_pg_receivewal_primary_data/archive_wal/000000010000000000000003.gz.partial gzip: /home/pgbf/buildroot/HEAD/pgsql.build/src/bin/pg_basebackup/tmp_check/t_020_pg_receivewal_primary_data/archive_wal/000000010000000000000003.gz.partial: unknown suffix: ignored not ok 24 - gzip verified the integrity of compressed WAL segments Looking at the OpenBSD code (usr.bin/compress/main.c), long options are supported, where --version does exit(0) without printing anything, and --test is supported even if that's not on the man pages. set_outfile() is doing a discard of the file suffixes it does not recognize, and I think that their implementation bumps on .gz.partial and generates an exit code of 512 to map with WARNING. I still wish to keep this test, and I'd like to think that the contents of @zlib_wals are enough in terms of coverage. What do you think? -- Michael
Commits
-
Re-enable TAP tests of pg_receivewal for ZLIB on Windows
- 91d395f47aa9 15.0 landed
-
Fix some issues with WAL segment opening for pg_receivewal --compress
- 11dbad74c104 10.18 landed
- 795a9166e2e1 11.13 landed
- b9a0de15eb29 12.8 landed
- fb2b86015a9f 13.4 landed
- 3a0d2d0cbaf3 14.0 landed
- 7fbe0c8c4d4f 15.0 landed
-
Disable tests involving ZLIB on Windows for pg_receivewal
- 6cea447e6a10 15.0 landed
-
Fix portability issue with gzip in TAP test of pg_receivewal
- 0da3c1bc3f72 15.0 landed
-
Add TAP tests for ZLIB compression for pg_receivewal
- ffc9ddaea33f 15.0 landed