Re: Unnecessary delay in streaming replication due to replay lag

Masahiko Sawada <masahiko.sawada@2ndquadrant.com>

From: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
To: Asim Praveen <pasim@vmware.com>
Cc: PostgreSQL mailing lists <pgsql-hackers@postgresql.org>, Michael Paquier <michael@paquier.xyz>, "Hao Wu (Pivotal)" <hawu@pivotal.io>
Date: 2020-08-10T06:57:33Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Generate GUC tables from .dat file

  2. Skip WAL recycling and preallocation during archive recovery.

  3. Fix scenario where streaming standby gets stuck at a continuation record.

On Sun, 9 Aug 2020 at 14:54, Asim Praveen <pasim@vmware.com> wrote:
>
> I would like to revive this thready by submitting a rebased patch to start streaming replication without waiting for startup process to finish replaying all WAL.  The start LSN for streaming is determined to be the LSN that points to the beginning of the most recently flushed WAL segment.
>
> The patch passes tests under src/test/recovery and top level “make check”.
>

The patch can be applied cleanly to the current HEAD but I got the
error on building the code with this patch:

xlog.c: In function 'StartupXLOG':
xlog.c:7315:6: error: too few arguments to function 'RequestXLogStreaming'
 7315 |      RequestXLogStreaming(ThisTimeLineID,
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from xlog.c:59:
../../../../src/include/replication/walreceiver.h:463:13: note: declared here
  463 | extern void RequestXLogStreaming(TimeLineID tli, XLogRecPtr recptr,
      |             ^~~~~~~~~~~~~~~~~~~~

cfbot also complaints this.

Could you please update the patch?

Regards,

--
Masahiko Sawada            http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services