Re: Wait event names mismatch: oldserxid

From: Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Wait event names mismatch: oldserxid
Date: 2018-02-09 14:03:57
Message-ID: CAFjFpRc-2nGsCqy0xjg0UDig3fWxa2a73iuwGs+mASxMJQfsBg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Feb 9, 2018 at 7:23 PM, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
> On Fri, Feb 09, 2018 at 06:04:39PM +0530, Ashutosh Bapat wrote:
>> Name for wait event "LWTRANCHE_OLDSERXID_BUFFERS" is printed as
>> "oldserxid", but documentation at
>> https://www.postgresql.org/docs/10/static/monitoring-stats.html does
>> not have exact same event there. Instead it has
>>
>> OldSerXidLock Waiting to read or record conflicting serializable
>> transactions.
>
> I see two events defined here in the code of type LWLock dedicated to
> oldserxid:
> - OldSerXidLock which is a wait event defined as it is part of
> LWLockNames.
> - oldserxid, which gets defined in SimpleLruInit(), which itself calls
> LWLockRegisterTranche() to define a second event of type LWLock.

I didn't pay attention to the second one. Thanks for pointing that
out. But then like me a user may first land on OldSerXidLock since
that is first in the list and get confused. May be we should use names
which are not prefix of others.

>
> So the docs look correct to me on this side. What I find weird is the
> phrasing to define oldserxid. Instead of that, the current description:
> Waiting to I/O on an oldserxid buffer.
> I would suggest "waiting *for* I/O"
>

+1.

--
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2018-02-09 14:15:49 Re: CALL stmt, ERROR: unrecognized node type: 113 bug
Previous Message David G. Johnston 2018-02-09 14:02:58 Re: Is there a cache consistent interface to tables ?