aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFujii Masao <fujii@postgresql.org>2021-03-25 11:23:30 +0900
committerFujii Masao <fujii@postgresql.org>2021-03-25 11:24:44 +0900
commit73cce168ffcb1a0343cfa6fafe237f49b1449734 (patch)
tree6f40e0f2ec7f1a34c996a2dfc1d381aef171bd71
parentbeac4bd65dcf02a86013120c660498e50f3f88dd (diff)
downloadpostgresql-73cce168ffcb1a0343cfa6fafe237f49b1449734.tar.gz
postgresql-73cce168ffcb1a0343cfa6fafe237f49b1449734.zip
Fix bug in WAL replay of COMMIT_TS_SETTS record.
Previously the WAL replay of COMMIT_TS_SETTS record called TransactionTreeSetCommitTsData() with the argument write_xlog=true, which generated and wrote new COMMIT_TS_SETTS record. This should not be acceptable because it's during recovery. This commit fixes the WAL replay of COMMIT_TS_SETTS record so that it calls TransactionTreeSetCommitTsData() with write_xlog=false and doesn't generate new WAL during recovery. Back-patch to all supported branches. Reported-by: lx zou <zoulx1982@163.com> Author: Fujii Masao Reviewed-by: Alvaro Herrera Discussion: https://postgr.es/m/16931-620d0f2fdc6108f1@postgresql.org
-rw-r--r--src/backend/access/transam/commit_ts.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/transam/commit_ts.c b/src/backend/access/transam/commit_ts.c
index cd4660ffe11..9cfacc620c2 100644
--- a/src/backend/access/transam/commit_ts.c
+++ b/src/backend/access/transam/commit_ts.c
@@ -1024,7 +1024,7 @@ commit_ts_redo(XLogReaderState *record)
subxids = NULL;
TransactionTreeSetCommitTsData(setts->mainxid, nsubxids, subxids,
- setts->timestamp, setts->nodeid, true);
+ setts->timestamp, setts->nodeid, false);
if (subxids)
pfree(subxids);
}