On Sun, Aug 04, 2019 at 05:53:26PM +0200, Petr Jelinek wrote:

...


4) I did a simple test with physical replication, with lz4 enabled on
both sides (well, can't build without lz4 anyway, per previous point).
It immediately failed like this:

FATAL:  failed to restore block image
CONTEXT:  WAL redo at 0/5000A40 for Btree/INSERT_LEAF: off 138
LOG:  startup process (PID 15937) exited with exit code 1

This is a simple UPDATE on a trivial table:

create table t (a int primary key);
insert into t select i from generate_series(1,1000) s(i);
update t set a = a - 100000 where random () < 0.1;

with some checkpoints to force FPW (and wal_compression=on, of course).

I haven't tried `make check-world` but I suppose some of the TAP tests
should fail because of this. And if not, we need to improve coverage.


FWIW I did run check-world without problems, will have to look into this.


Not sure if we bother to set wal_compression=on for check-world (I don't
think we do, but I may be missing something), so maybe check-world does
not really test wal compression.

IMO the issue is that RestoreBlockImage() still calls pglz_decompress
directly, instead of going through pg_decompress().


regards

--
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Reply via email to