Re: Replication conflicts despite hot_standby_feedback = on? - Mailing list pgsql-general

From Julien Rouhaud
Subject Re: Replication conflicts despite hot_standby_feedback = on?
Date
Msg-id CAOBaU_Y6ezV6BCMt7NFjPY-veDrX=MEkThza11T-CKGccyS8PQ@mail.gmail.com
Whole thread Raw
In response to Replication conflicts despite hot_standby_feedback = on?  (Laurenz Albe <laurenz.albe@cybertec.at>)
Responses Re: Replication conflicts despite hot_standby_feedback = on?  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-general
On Wed, Jun 3, 2020 at 1:07 PM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
>
> I'm seeing the following at a customer site:
>
> SELECT confl_tablespace, confl_lock, confl_snapshot, confl_bufferpin, confl_deadlock
> FROM pg_stat_database_conflicts
> WHERE datname = 'something' \gx
>
> -[ RECORD 1 ]----+------
> confl_tablespace | 0
> confl_lock       | 0
> confl_snapshot   | 84990
> confl_bufferpin  | 0
> confl_deadlock   | 0
>
> SHOW hot_standby_feedback;
>
>  hot_standby_feedback
> ----------------------
>  on
> (1 row)
>
> This is PostgreSQL 11.7, the standby didn't disconnect from the primary, and
> the number of replication conflicts is growing.
>
> I had thought that "hot_standby_feedback = on" would get rid of such
> conflicts.
>
> In the code I see a lot of call sites for ResolveRecoveryConflictWithSnapshot,
> so it is hard for me to track this down.  Does anybody know what could cause
> these replication conflicts?

One of the frequent causes is the lock acquired by (auto)vacuum when
truncating the trailing empty blocks, maybe you can correlate your
conflicts with autovacuum activity?



pgsql-general by date:

Previous
From: Paul Bonaud
Date:
Subject: Re: Fine grained permissions on User Mapping
Next
From: Oleksandr Shulgin
Date:
Subject: Re: When to use PARTITION BY HASH?