Re: BUG #16931: source code problem about commit_ts
Fujii Masao <masao.fujii@oss.nttdata.com>
From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: zoulx1982@163.com, pgsql-bugs@lists.postgresql.org
Date: 2021-03-18T10:19:10Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove leftover dead code from commit_ts.h.
- c84698ceaea8 19 (unreleased) landed
-
Remove COMMIT_TS_SETTS record.
- 08aa89b32626 14.0 landed
-
Fix bug in WAL replay of COMMIT_TS_SETTS record.
- c29bab799c82 9.6.22 landed
- d544671f1572 10.17 landed
- 09cb8512ff11 11.12 landed
- 73cce168ffcb 12.7 landed
- 092c077c1321 13.3 landed
- 438fc4a39c39 14.0 landed
Attachments
- bugfix.patch (text/plain) patch
On 2021/03/18 13:36, PG Bug reporting form wrote: > The following bug has been logged on the website: > > Bug reference: 16931 > Logged by: lx zou > Email address: zoulx1982@163.com > PostgreSQL version: 13.2 > Operating system: Linux > Description: > > Hi, > recently i am reading commit ts code, and i have a problem about it. > i found commit_ts_redo call TransactionTreeSetCommitTsData with last param > `write_xlog` true, > but RecordTransactionCommitPrepared and RecordTransactionCommit call > TransactionTreeSetCommitTsData > with `write_xlog` false, which cause there are never xlog with commit_ts - > COMMIT_TS_SETTS type. > thanks for your time. I guess that TransactionTreeSetCommitTsData(write_xlog=true) is basically used by some extensions using commit_ts. IIUC commit_ts_redo() is called during recovery. So it's strange that commit_ts_redo() calls TransactionTreeSetCommitTsData() with write_xlog=true because no new WAL can be generated during recovery. Probably this is a bug, and it should be called with write_xlog=false, instead. Patch attached. Also one problem is that there is no test for WAL replay of COMMIT_TS_SETTS for now. Maybe this is why we could not find that bug. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION