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: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: zoulx1982@163.com, pgsql-bugs@lists.postgresql.org
Date: 2021-03-25T02:59:49Z
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.


On 2021/03/25 1:39, Alvaro Herrera wrote:
> On 2021-Mar-24, Fujii Masao wrote:
> 
>> On 2021/03/24 18:05, Alvaro Herrera wrote:
>>> Yeah, it seems like a bug.  With your patch, the write_xlog=true path
>>> becomes unused, and thus the whole COMMIT_TS_SETTS record, so we could
>>> remove those things in branch master.  The timestamp is acquired from
>>> the COMMIT record.
>>
>> I agree to remove COMMIT_TS_SETTS record from the master branch
>> if there are no users or extensions of it. Patch attached.
> 
> Looks good in a quick skim.  Let's get this pushed quickly; if anything
> exists out there that is calling that code, it'd be good to know sooner
> rather than later.  However, my feeling is that no such caller exists,
> because they would have told us about this problem already.

Agreed. I will commit the patch in the master.

> Are you bumping WAL page magic?  It'd be logical to do so, but on the
> other hand if no code exists that is capable of emitting that record,
> then it'd be pointless.

Yes, I'm thinking to bump WAL page magic because it seems a bit safer.

>> Anyway, at first, what about applying the bugfix patch I posted upthread
>> to all supported branches?
> 
> Yeah, let's do that.

Pushed. Thanks!

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION