Re: startup process stuck in recovery

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Christophe Pettus <xof(at)thebuild(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: startup process stuck in recovery
Date: 2017-10-09 21:29:38
Message-ID: 5873.1507584578@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Christophe Pettus <xof(at)thebuild(dot)com> writes:
>> On Oct 9, 2017, at 13:26, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> My bet is that the source server did something that's provoking O(N^2)
>> behavior in the standby server's lock management. It's hard to say
>> exactly what, but I'm wondering about something like a plpgsql function
>> taking an AccessExclusiveLock inside a loop that repeatedly traps an
>> exception. Can you correlate where the standby is stuck with what
>> was happening on the source?

> Interestingly, the OIDs for the relations on which the locks on the secondary are held aren't present in pg_class, and they're clustered together. Could a large number of temporary table creations that are being undone by an abort cause this?

Hmm. Creating or dropping a temp table does take AccessExclusiveLock,
just as it does for a non-temp table. In principle we'd not have to
transmit those locks to standbys, but I doubt that the WAL code has
enough knowledge to filter them out. So a lot of temp tables and
a lot of separate subtransactions could be a nasty combination.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message rammohan ganapavarapu 2017-10-09 23:06:04 Can master and slave on different PG versions?
Previous Message Christophe Pettus 2017-10-09 21:24:00 Re: startup process stuck in recovery