Provide error context when an error is thrown within WaitOnLock().

Show the requested lock level and the object being waited on,
in the same format we use for deadlock reports and similar errors.
This is particularly helpful for debugging lock-timeout errors,
since otherwise the user has very little to go on about which
lock timed out.  The performance cost of setting up the callback
should be negligible compared to the other tracing support already
present in WaitOnLock.

As in the deadlock-report case, we just show numeric object OIDs,
because it seems too scary to try to perform catalog lookups
in this context.

Reported-by: Steve Baldwin <steve.bald...@gmail.com>
Author: Tom Lane <t...@sss.pgh.pa.us>
Discussion: https://postgr.es/m/1602369.1752167...@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f727b63e810724c7187f38b2580b2915bdbc3c9c

Modified Files
--------------
src/backend/storage/lmgr/lock.c | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)

Reply via email to