Standby reads fail when autovacuum take AEL during truncation

From: Adrien NAYRAT <adrien(dot)nayrat(at)anayrat(dot)info>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Standby reads fail when autovacuum take AEL during truncation
Date: 2018-09-07 12:16:46
Message-ID: 4923b69f-43eb-e7cd-bcf4-37229268e6c0@anayrat.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello hackers,

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?

Thanks!

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2018-09-07 12:34:04 Re: [HACKERS] proposal: schema variables
Previous Message Peter Moser 2018-09-07 11:02:26 Re: [HACKERS] [PROPOSAL] Temporal query processing with range types