BUG #16931: source code problem about commit_ts

PG Bug reporting form <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: zoulx1982@163.com
Date: 2021-03-18T04:36:08Z
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 →
  1. Remove leftover dead code from commit_ts.h.

  2. Remove COMMIT_TS_SETTS record.

  3. Fix bug in WAL replay of COMMIT_TS_SETTS record.

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.

best wishes.