Re: Timing out A Blocker Based on Time or Count of Waiters - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Timing out A Blocker Based on Time or Count of Waiters
Date
Msg-id 4d234943-b4bf-4e59-aa89-e5d69e18a228@aklaver.com
Whole thread Raw
In response to Timing out A Blocker Based on Time or Count of Waiters  (Fred Habash <fmhabash@gmail.com>)
Responses Re: Timing out A Blocker Based on Time or Count of Waiters
List pgsql-general
On 3/22/24 09:25, Fred Habash wrote:
> Facing an issue where sometimes humans login to a database and run DDL 
> statements causing a long locking tree of over 1000 waiters. As a 

The above needs more explanation:

1) Define locking tree.

2) Define waiters.

3) Provide examples of the DDL.


> workaround, we asked developers to always start their DDL sessions 
> with 'SET lock_timeout = 'Xs'.
> 
> I reviewed the native lock timeout parameter in Postgres and found 7. 
> None seem to be related to blocker timeouts directly.
> 
> idle_in_transaction_session_timeout
> idle_session_timeout
> lock_timeout: How long a session waits for a lock
> statement_timeout
> authentication_timeout
> deadlock_timeout
> log_lock_waits
> 
> Instead, I put together a quick procedure that counts waiter sessions 
> for a given blocker and terminates it if waiter count exceeds a threshold.
> 
> Is there not a native way to ...
> 1. Automatically time out a blocker
> 2. A metric that shows how many waiters for a blocker?
> 
> Thanks
> -- 
> 
> ----------------------------------------
> Thank you
> 
> 

-- 
Adrian Klaver
adrian.klaver@aklaver.com




pgsql-general by date:

Previous
From: Fred Habash
Date:
Subject: Timing out A Blocker Based on Time or Count of Waiters
Next
From: Christophe Pettus
Date:
Subject: Re: Timing out A Blocker Based on Time or Count of Waiters