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:34 +0900 |
commit | c29bab799c82c3640ec93cf14d0b4f174ae33fe0 (patch) | |
tree | 9f9750731a1c192f028d5a1a56c5940fbbc972be /src | |
parent | 4f670c64efd972e8869117d8324a1379070c9793 (diff) |
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 8eea32c6efc..8bc67ffb16c 100644 --- a/src/backend/access/transam/commit_ts.c +++ b/src/backend/access/transam/commit_ts.c @@ -1012,7 +1012,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); } |