RE: Parallel Apply

Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>

From: "Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>
To: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, 'Amit Kapila' <amit.kapila16@gmail.com>
Cc: Tomas Vondra <tomas@vondra.me>, Dilip Kumar <dilipbalaut@gmail.com>, Andrei Lepikhov <lepihov@gmail.com>, wenhui qiu <qiuwenhuifx@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-16T15:04:41Z
Lists: pgsql-hackers

Attachments

On Tuesday, April 14, 2026 9:00 PM Kuroda, Hayato/黒田 隼人 <kuroda.hayato@fujitsu.com> wrote:
> 
> Other comments were addressed accordingly, please see attached patch set.

I started reviewing patches 0001-0004 myself, aiming to add comments where the
design is not straightforward and to identify and fix any clearly incorrect
behavior.

Here is the updated patch set with the following improvements:

* Cosmetic changes in 0001-0004
* Additional comments in 0001-0004
* Code simplification by merging unnecessary static functions
* Removal of function exports left over from the POC version that are no
  longer needed
* Got rid of XLogRecPtrIsInvalid()
* Fixed buggy behavior in partial serialization mode, including:
  1) The leader did not serialize the dependency on the last committed
     transaction
  2) The parallel apply worker could not identify internal messages in
     spooled changes
  3) An assertion failure in maybe_start_skipping_changes()
* Added one test for serialization and restore non-streaming transactions in
  0004.

Thanks to Kuroda-San for discussing these changes internally with me.

Best Regards,
Hou zj