Re: Lock contention in TransactionIdIsInProgress()

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: "Julian v(dot) Bock" <bock(at)openit(dot)de>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Lock contention in TransactionIdIsInProgress()
Date: 2015-11-06 06:06:06
Message-ID: CAMkU=1w1BeFg6Maw_X+4arsmxcBaS0=OcCar7tgRzYDAZzd1-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Nov 5, 2015 at 10:38 AM, Julian v. Bock <bock(at)openit(dot)de> wrote:

> After doing some debugging it seems that the backend processes are
> spending most of their time in spinlocks in TransactionIdIsInProgress()
> trying to get a lock on ProcArrayLock. This function is called more
> often (when processing searches) the longer the replication transaction
> is running.

This is a known issue and is fixed for 9.6 in commit 8a7d0701814a4e.

I don' t know why you can't reproduce it without Slony, though. I
know that hot standby gets bit by this problem particularly hard
because it sometimes refrains from setting hint bits as aggressively
as it could. I would not think that Slony would have that problem,
though.

Cheers,

Jeff

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jiří Hlinka 2015-11-06 07:08:38 Re: Deadlock detected after pg_repack receives SIGINT
Previous Message Joshua D. Drake 2015-11-06 04:03:08 Re: is there any difference DROP PRIMARY KEY in oracle and postgres?