Re: Standby reads fail when autovacuum take AEL during truncation

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: adrien(dot)nayrat(at)anayrat(dot)info
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Standby reads fail when autovacuum take AEL during truncation
Date: 2018-09-07 17:36:31
Message-ID: CAPpHfduV2c6bj3ejkucnypU0dq7T944513FajNFLx5s6Weq76w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

On Fri, Sep 7, 2018 at 3:17 PM Adrien NAYRAT <adrien(dot)nayrat(at)anayrat(dot)info> wrote:
> I was faced on $SUBJECT on an heavily updated table and the same table
> heavily accessed on standby server.
>
> I notice autovacuum try to take an AEL in lazy_truncate_heap(). On
> primary we try during VACUUM_TRUNCATE_LOCK_WAIT_INTERVAL (50ms) and we
> failed after several attempts.
>
> But we do not have this mechanism on a standby, AEL could lock simple
> SELECT during the RelationTruncate().
>
> Please note, this can occurs even with hot_standby_feedback = on
>
> I wonder how we can improve this? Maybe by introducing an option to
> disable truncation for autovacuum on specific table?

Please, take a look at following threads:
1. https://www.postgresql.org/message-id/c9374921e50a5e8fb1ecf04eb8c6ebc3%40postgrespro.ru
2. https://www.postgresql.org/message-id/CAHGQGwE5UqFqSq1%3DkV3QtTUtXphTdyHA-8rAj4A%3DY%2Be4kyp3BQ%40mail.gmail.com

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-09-07 18:04:33 Re: Incorrect error handling for two-phase state files resulting in data loss
Previous Message Andres Freund 2018-09-07 16:56:55 Re: [PATCH] Fix for infinite signal loop in parallel scan