Re: Introduce pg_receivewal gzip compression tests - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Introduce pg_receivewal gzip compression tests
Date
Msg-id YOvkR0F6i4AmmmUe@paquier.xyz
Whole thread Raw
In response to Introduce pg_receivewal gzip compression tests  (Georgios <gkokolatos@protonmail.com>)
Responses Re: Introduce pg_receivewal gzip compression tests  (gkokolatos@pm.me)
List pgsql-hackers
On Fri, Jul 09, 2021 at 11:26:58AM +0000, Georgios wrote:
> As suggested on a different thread [1], pg_receivewal can increase it's test
> coverage. There exists a non trivial amount of code that handles gzip
> compression. The current patch introduces tests that cover creation of gzip
> compressed WAL files and the handling of gzip partial segments. Finally the
> integrity of the compressed files is verified.

+       # Verify compressed file's integrity
+       my $gzip_is_valid = system_log('gzip', '--test', $gzip_wals[0]);
+       is($gzip_is_valid, 0, "program gzip verified file's integrity");
libz and gzip are usually split across different packages, hence there
is no guarantee that this command is always available (same comment as
for LZ4 from a couple of days ago).

+               [
+                       'pg_receivewal', '-D',     $stream_dir, '--verbose',
+                       '--endpos',      $nextlsn, '-Z', '5'
+               ],
I would keep the compression level to a minimum here, to limit CPU
usage but still compress something faster.

+       # Verify compressed file's integrity
+       my $gzip_is_valid = system_log('gzip', '--test', $gzip_wals[0]);
+       is($gzip_is_valid, 0, "program gzip verified file's integrity");
Shouldn't this be coded as a loop going through @gzip_wals?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Alexander Lakhin
Date:
Subject: Re: More time spending with "delete pending"
Next
From: David Rowley
Date:
Subject: Re: Speed up transaction completion faster after many relations are accessed in a transaction