Skip to content

Commit c29bab7

Browse files
committed
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
1 parent 4f670c6 commit c29bab7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/backend/access/transam/commit_ts.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,7 @@ commit_ts_redo(XLogReaderState *record)
10121012
subxids = NULL;
10131013

10141014
TransactionTreeSetCommitTsData(setts->mainxid, nsubxids, subxids,
1015-
setts->timestamp, setts->nodeid, true);
1015+
setts->timestamp, setts->nodeid, false);
10161016
if (subxids)
10171017
pfree(subxids);
10181018
}

0 commit comments

Comments
 (0)