Re: BUG #16931: source code problem about commit_ts
От | Fujii Masao |
---|---|
Тема | Re: BUG #16931: source code problem about commit_ts |
Дата | |
Msg-id | d5b98b4b-a3e3-8095-cfb9-aafb5dbe4f7b@oss.nttdata.com обсуждение исходный текст |
Ответ на | BUG #16931: source code problem about commit_ts (PG Bug reporting form <noreply@postgresql.org>) |
Ответы |
Re: BUG #16931: source code problem about commit_ts
|
Список | pgsql-bugs |
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
Вложения
В списке pgsql-bugs по дате отправления: