Re: Postgres stucks in deadlock detection

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Postgres stucks in deadlock detection
Дата
Msg-id 20180413154139.5jbjblkg5ku656hx@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Postgres stucks in deadlock detection  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Ответы Re: Postgres stucks in deadlock detection  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
Список pgsql-hackers
Hi,

On 2018-04-13 16:43:09 +0300, Konstantin Knizhnik wrote:
> Updated patch is attached.
> +    /*
> +     * Ensure that only one backend is checking for deadlock.
> +     * Otherwise under high load cascade of deadlock timeout expirations can cause stuck of Postgres.
> +     */
> +    if (!pg_atomic_test_set_flag(&ProcGlobal->activeDeadlockCheck))
> +    {
> +        enable_timeout_after(DEADLOCK_TIMEOUT, DeadlockTimeout);
> +        return;
> +    }
> +    inside_deadlock_check = true;

I can't see that ever being accepted.  This means there's absolutely no
bound for deadlock checks happening even under light concurrency, even
if there's no contention for a large fraction of the time.

If you want to improve this, improve the efficiency of the
implementation, check multiple lockers at the same time (set a bit
afterwards that they don't recheck themselves). There's plenty
approaches that don't result in a significantly worse user experience.

Greetings,

Andres Freund


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Evgeniy Shishkin
Дата:
Сообщение: Re: Postgres stucks in deadlock detection
Следующее
От: Julian Markwort
Дата:
Сообщение: Re: [PATCH] pg_hba.conf : new auth option : clientcert=verify-full