Re: Remove extraneous break condition in logical slot advance function

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Gurjeet Singh <gurjeet@singh.im>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-10-23T01:24:30Z
Lists: pgsql-hackers
On Sun, Oct 22, 2023 at 11:59:00PM +0530, Bharath Rupireddy wrote:
> AFAICS, there's no correctness argument for breaking before CFI. As
> rightly said, CFIs can happen before the break condition either down
> inside LogicalDecodingProcessRecord or XLogReadRecord (page_read
> callbacks for instance).
> 
> Having said that, what may happen if CFI happens and interrupts are
> processed before the break condition is that the decoding occurs again
> which IMV is not a big problem.
> 
> An idea to keep all of  XLogReadRecord() -
> LogicalDecodingProcessRecord() loops consistent is by having CFI at
> the start of the loops before the XLogReadRecord().

Passing by..  All that just looks like an oversight of 38a957316d7e
that simplified the main while loop, so I've just applied your v2.
--
Michael

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 unnecessary break in pg_logical_replication_slot_advance()