From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | wal_consistency_checking reports an inconsistency on master branch |
Date: | 2018-04-12 18:47:25 |
Message-ID: | CAH2-Wzm9ty+1BX7-GMNJ=xPRg67oJTVeDNdA9LSyJJtMgRiCMA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Running "make installcheck" with wal_consistency_checking='all' on the
master branch shows the follow failure on a streaming replica:
19696/2018-04-12 11:35:29 PDT FATAL: inconsistent page found, rel
1663/50192/66636, forknum 0, blkno 0
19696/2018-04-12 11:35:29 PDT CONTEXT: WAL redo at 2/6D8411F8 for
Heap/DELETE: off 4 KEYS_UPDATED
19695/2018-04-12 11:35:29 PDT LOG: startup process (PID 19696) exited
with exit code 1
19695/2018-04-12 11:35:29 PDT LOG: terminating any other active
server processes
19695/2018-04-12 11:35:29 PDT LOG: database system is shut down
I can correlate it with this wal_debug output on the primary:
18713/2018-04-12 11:20:40 PDT ERROR: new row violates check option
for view "upview"
18713/2018-04-12 11:20:40 PDT DETAIL: Failing row contains (a, 4, 120, 1, 1).
18713/2018-04-12 11:20:40 PDT STATEMENT: UPDATE upview set c = 120 WHERE b = 4;
18713/2018-04-12 11:20:40 PDT LOG: INSERT @ 2/6D8411F8: -
Transaction/ABORT: 2018-04-12 11:20:40.085145-07
18073/2018-04-12 11:20:40 PDT LOG: xlog bg flush request write
2/6D840000; flush: 0/0, current is write 2/6D840000; flush 2/6D7B40B0
18713/2018-04-12 11:20:40 PDT LOG: INSERT @ 2/6D841378: -
Heap/DELETE: off 4 KEYS_UPDATED
18713/2018-04-12 11:20:40 PDT STATEMENT: UPDATE upview set a = 'b', b
= 15, c = 120 WHERE b = 4;
18713/2018-04-12 11:20:40 PDT LOG: INSERT @ 2/6D8415F0: - Heap/INSERT: off 10
18713/2018-04-12 11:20:40 PDT STATEMENT: UPDATE upview set a = 'b', b
= 15, c = 120 WHERE b = 4;
18713/2018-04-12 11:20:40 PDT ERROR: new row violates check option
for view "upview"
18713/2018-04-12 11:20:40 PDT DETAIL: Failing row contains (b, 15, 120, 1, 1).
18713/2018-04-12 11:20:40 PDT STATEMENT: UPDATE upview set a = 'b', b
= 15, c = 120 WHERE b = 4;
In short, it looks like the tests added to update.sql by commit
2f178441 ("Allow UPDATE to move rows between partitions") lead to this
failure, since I always hit a problem when update.sql is reached. I
haven't gone to the trouble of digging any deeper than that just yet.
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2018-04-12 18:49:42 | Re: Instability in the postgres_fdw regression test |
Previous Message | Jonathan S. Katz | 2018-04-12 18:40:54 | Re: Native partitioning tablespace inheritance |