Re: Why don't update minimum recovery point in xact_redo_abort

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: 蔡梦娟(玊于) <mengjuan.cmj@alibaba-inc.com>, pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-27T16:49:35Z
Lists: pgsql-hackers

Attachments


On 2021/07/27 19:51, Michael Paquier wrote:
> On Tue, Jul 27, 2021 at 05:26:05PM +0900, Fujii Masao wrote:
>> ISTM that you're right. xact_redo_abort() should call XLogFlush() to
>> update the minimum recovery point on truncation. This seems
>> the oversight in commit 7bffc9b7bf.
> 
> Indeed.  It would be nice to see some refactoring of this code as
> well?  Both share a lot of steps, so adding something to one path can
> easily lead to the other path being forgotten.

That's idea, but as far as I read both functions, they seem not
so similar. So I'm not sure how much such refactoring would help.

Anyway I attached the patch that changes only xact_redo_abort()
so that it calls XLogFlush() to update min recovery point.

Regards,

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

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Update minimum recovery point on truncation during WAL replay of abort record.

  2. Update minimum recovery point on truncation.