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:23:30 +0900 |
commit | 438fc4a39c3905b7af88bb848bc5aeb1308a017d (patch) | |
tree | 06e25d33f71fdc98c1ff0679a37f625357788694 /src/backend/access/transam/commit_ts.c | |
parent | df9384492b89aac370ab9d12eb89375aeb38a1d4 (diff) | |
download | postgresql-438fc4a39c3905b7af88bb848bc5aeb1308a017d.tar.gz postgresql-438fc4a39c3905b7af88bb848bc5aeb1308a017d.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 48e8d662860..268bdba3398 100644 --- a/src/backend/access/transam/commit_ts.c +++ b/src/backend/access/transam/commit_ts.c @@ -1074,7 +1074,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); } |