Re: log_lock_waits to identify transaction's relation

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: log_lock_waits to identify transaction's relation
Date: 2013-01-16 03:47:57
Message-ID: 20130116034757.GD16126@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Simon,

* Simon Riggs (simon(at)2ndQuadrant(dot)com) wrote:
> Attached patch passes through further information about the lock wait,
> so we can display the following message instead
> LOG: process %d acquired %s on transaction %u on relation %u of
> database %u after %ld.%03d ms

I love this idea. Please take these comments as an initial/quick review
because I'd really like to see this get in.

A couple quick notes regarding the patch- what does
GetXactLockTableRelid really provide..? This patch does use it outside
of lmgr.c, where XactLockTableRelid is defined. Second, do we really
need to describeXact bool to DescribeLockTag..? Strikes me as
unnecessary- if the information is available, include it.

Lastly, I really don't like the changes made to XactLockTableWait() and
friends. They had a very clearly defined and simple goal previously and
the additional parameter seems to muddy things a bit, particularly
without any comments about what it's all about or why it's there. I
understand that you're trying to pass the necessary information down to
where the log is generated, but it doesn't feel quite right. Also, what
about VirtualXactLockTableWait()..? Should that have a similar
treatment?

Thanks!

Stephen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2013-01-16 03:55:13 Re: Parallel query execution
Previous Message Claudio Freire 2013-01-16 03:16:56 Re: Parallel query execution