diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-03-23 19:23:51 +0100 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2022-03-23 19:23:51 +0100 |
commit | 8e0c76be195e1ec732b750e702b84592293bd8d8 (patch) | |
tree | 21067fa35fda5388953c348b3d3648c5831e9b10 | |
parent | c714ebd0e8c1fc8f85cc401b0e9859b6f79900fd (diff) |
pg_upgrade: Upgrade an Assert to a real 'if' test
It seems possible for the condition being tested to be true in
production, and nobody would never know (except when some data
eventually becomes corrupt?).
Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://postgr.es/m//202109040001.zky3wgv2qeqg@alvherre.pgsql
-rw-r--r-- | src/bin/pg_rewind/parsexlog.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bin/pg_rewind/parsexlog.c b/src/bin/pg_rewind/parsexlog.c index eac58f5cf0f..c8fd4f0bac7 100644 --- a/src/bin/pg_rewind/parsexlog.c +++ b/src/bin/pg_rewind/parsexlog.c @@ -105,7 +105,11 @@ extractPageMap(const char *datadir, XLogRecPtr startpoint, int tliIndex, * If 'endpoint' didn't point exactly at a record boundary, the caller * messed up. */ - Assert(xlogreader->EndRecPtr == endpoint); + if (xlogreader->EndRecPtr != endpoint) + pg_fatal("end pointer %X/%X is not a valid end point; expected %X/%X", + (uint32) (endpoint >> 32), (uint32) (endpoint), + (uint32) (xlogreader->EndRecPtr >> 32), (uint32) + (xlogreader->EndRecPtr)); XLogReaderFree(xlogreader); if (xlogreadfd != -1) |