Force streaming every change in logical decoding - Mailing list pgsql-hackers

From shiy.fnst@fujitsu.com
Subject Force streaming every change in logical decoding
Date
Msg-id OSZPR01MB63104E7449DBE41932DB19F1FD1B9@OSZPR01MB6310.jpnprd01.prod.outlook.com
Whole thread Raw
Responses Re: Force streaming every change in logical decoding  (Amit Kapila <amit.kapila16@gmail.com>)
Re: Force streaming every change in logical decoding  (Peter Smith <smithpb2250@gmail.com>)
Re: Force streaming every change in logical decoding  (Dilip Kumar <dilipbalaut@gmail.com>)
Re: Force streaming every change in logical decoding  (Peter Smith <smithpb2250@gmail.com>)
List pgsql-hackers
Hi hackers,

In logical decoding, when logical_decoding_work_mem is exceeded, the changes are
sent to output plugin in streaming mode. But there is a restriction that the
minimum value of logical_decoding_work_mem is 64kB. I tried to add a GUC to
allow sending every change to output plugin without waiting until
logical_decoding_work_mem is exceeded.

This helps to test streaming mode. For example, to test "Avoid streaming the
transaction which are skipped" [1], it needs many XLOG_XACT_INVALIDATIONS
messages. With the new option, it can be tested with fewer changes and in less
time. Also, this new option helps to test more scenarios for "Perform streaming
logical transactions by background workers" [2].

[1] https://www.postgresql.org/message-id/CAFiTN-tHK=7LzfrPs8fbT2ksrOJGQbzywcgXst2bM9-rJJAAUg@mail.gmail.com
[2] https://www.postgresql.org/message-id/flat/CAA4eK1%2BwyN6zpaHUkCLorEWNx75MG0xhMwcFhvjqm2KURZEAGw%40mail.gmail.com

Regards,
Shi yu

Attachment

pgsql-hackers by date:

Previous
From: John Naylor
Date:
Subject: Re: move some bitmapset.c macros to bitmapset.h
Next
From: "shiy.fnst@fujitsu.com"
Date:
Subject: RE: Avoid streaming the transaction which are skipped (in corner cases)