Re: Throttling WAL inserts when the standby falls behind more than the configured replica_lag_in_bytes

From: SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com>
To: Dilip Kumar <dilipbalaut(at)gmail(dot)com>
Cc: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Throttling WAL inserts when the standby falls behind more than the configured replica_lag_in_bytes
Date: 2021-12-25 22:22:42
Message-ID: CAHg+QDcAuKTbNaNph+km2=6+KueG98iQQL3WibbnxqZ65uCmYw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Dec 24, 2021 at 3:13 AM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:

> On Fri, Dec 24, 2021 at 3:27 AM SATYANARAYANA NARLAPURAM <
> satyanarlapuram(at)gmail(dot)com> wrote:
>
>>
>>>
>> XLogInsert in my opinion is the best place to call it and the hook can be
>> something like this "void xlog_insert_hook(NULL)" as all the throttling
>> logic required is the current flush position which can be obtained
>> from GetFlushRecPtr and the ReplicationSlotCtl. Attached a draft patch.
>>
>
> IMHO, it is not a good idea to call an external hook function inside a
> critical section. Generally, we ensure that we do not call any code path
> within a critical section which can throw an error and if we start calling
> the external hook then we lose that control.
>

Thank you for the comment. XLogInsertRecord is inside a critical section
but not XLogInsert. Am I missing something?

> It should be blocked at the operation level itself e.g. ALTER TABLE READ
> ONLY, or by some other hook at a little higher level.
>

There is a lot of maintenance overhead with a custom implementation at
individual databases and tables level. This doesn't provide the necessary
control that I am looking for.

>
> --
> Regards,
> Dilip Kumar
> EnterpriseDB: http://www.enterprisedb.com
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Justin Pryzby 2021-12-26 00:20:00 Re: correct the sizes of values and nulls arrays in pg_control_checkpoint
Previous Message Joel Jacobson 2021-12-25 21:19:13 Re: Foreign key joins revisited