pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Michael Paquier <michael@paquier.xyz>
To: gkokolatos@pm.me
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Subject: Re: Introduce pg_receivewal gzip compression tests
Date: Fri, 16 Jul 2021 08:59:11 +0900
Message-ID: <YPDLz2x3o1aX2wRh@paquier.xyz> (raw )
In-Reply-To: <YPArqBhngZZkzs1x@paquier.xyz >
References: <YO1LTVgqpaY4jmN3@paquier.xyz >
<20S0VOZrXJglfVMkn44Lks8F3gh66sHlxdes-d8XzjfcFV6VDHv9rF3_-KE2mnKTGlwoedEBz1k2UKrd2_hFBEQo2585MkrrJ-wpKWgGcBU=@pm.me >
<YO1qYohoIRt2ssQP@paquier.xyz >
<3NaNnzcFOo6mMA50bGVOS7RNlz1IqJ8nBxvMRQw9UZFUu9zSK2taKcmmrI2B0dehIXVskeCtbtA5yTnpkPGBTJvD-55DqTjRR-nji7tML68=@pm.me >
<YO5H18MUJV+EMnR7@paquier.xyz >
<icWOHz3LswZT-5mwtCbM8RHnhscksmm2gMw8BeejAoXyh9VWCiA2_jEpyGbv53HgrlZXf1F7Sb4nmxFeO5TxBTSRY6NH30RH83hDAgMHpZQ=@pm.me >
<YO/coGVNAZTARxEw@paquier.xyz >
<UEfDrva3Z-7dBiFYyj9Di0C-Ms1E2rbBCfgmgeP--2knm3ij4KddMN56vmtRlL_pp4CIYGhw_uaccoTjVBsTsk7xS4VHe-93TKg2tQb4JM0=@pm.me >
<YPAdf9r5aJbDoHoq@paquier.xyz >
<YPArqBhngZZkzs1x@paquier.xyz >
On Thu, Jul 15, 2021 at 09:35:52PM +0900, Michael Paquier wrote:
> For this one, I'll try to test harder on my own host. I am curious to
> see if the other Windows members running the TAP tests have anything
> to say. Looking at the code of zlib, this would come from gz_zero()
> in gzflush(), which could blow up on a write() in gz_comp().
bowerbird has just failed for the second time in a row on EACCESS, so
there is more here than meets the eye. Looking at the code, I think I
have spotted what it is and the buildfarm logs give a very good hint:
# Running: pg_receivewal -D
:/prog/bf/root/HEAD/pgsql.build/src/bin/pg_basebackup/tmp_check/t_020_pg_receivewal_primary_data/archive_wal
--verbose --endpos 0/3000028 --compress 1
pg_receivewal: starting log streaming at 0/2000000 (timeline 1)
pg_receivewal: fatal: could not fsync existing write-ahead log file
"000000010000000000000002.partial": Permission denied
not ok 20 - streaming some WAL using ZLIB compression
--compress is used and the sync fails for a non-compressed segment.
Looking at the code it is pretty obvious that open_walfile() is
getting confused with the handling of an existing .partial segment
while walmethods.c uses dir_data->compression in all the places that
matter. So that's a legit bug, that happens only when mixing
pg_receivewal runs for where successive runs use the compression or
non-compression modes.
I am amazed that the other buildfarm members are not complaining, to
be honest. jacana runs this TAP test with MinGW and ZLIB, and does
not complain.
--
Michael
Attachments:
signature.asc (application/pgp-signature, 832B) download
view thread (29+ messages) latest in thread
Message-ID: <YPDLz2x3o1aX2wRh@paquier.xyz>
Permalink: ../YPDLz2x3o1aX2wRh@paquier.xyz/
Also on: postgresql.org/message-id/YPDLz2x3o1aX2wRh@paquier.xyz
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: michael@paquier.xyz, gkokolatos@pm.me, pgsql-hackers@lists.postgresql.org
Subject: Re: Introduce pg_receivewal gzip compression tests
In-Reply-To: <YPDLz2x3o1aX2wRh@paquier.xyz>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox