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:25:17 +0900 |
commit | d544671f1572a0f9138f0e4b3aff38bb683483b2 (patch) | |
tree | 533a049376745ec3baf590cebdf59fe132148f78 /src | |
parent | d5a905ed5e7b277392db6c07efd40ec2ba9e6341 (diff) | |
download | postgresql-d544671f1572a0f9138f0e4b3aff38bb683483b2.tar.gz postgresql-d544671f1572a0f9138f0e4b3aff38bb683483b2.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')
-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 05feb3afc42..526537aafb9 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); } |