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?