diff options
author | Fujii Masao <fujii@postgresql.org> | 2021-03-25 11:23:30 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2021-03-25 11:24:20 +0900 |
commit | 092c077c1321c259f86721ad9319fae3c90c9b8b (patch) | |
tree | 2ae7d0d8c469bdd6fd443e4746162b9bb31e4b64 /src/backend/access/transam/commit_ts.c | |
parent | c6eac71a88447d82d5f6d28b6bed2e9c6971d714 (diff) | |
download | postgresql-092c077c1321c259f86721ad9319fae3c90c9b8b.tar.gz postgresql-092c077c1321c259f86721ad9319fae3c90c9b8b.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
Diffstat (limited to 'src/backend/access/transam/commit_ts.c')
-rw-r--r-- | src/backend/access/transam/commit_ts.c | 2 |
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 87a69f4c210..baa0513947e 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); } |