BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.

Поиск
Список
Период
Сортировка
От grant@amazon.com
Тема BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.
Дата
Msg-id 20150422220940.5216.95902@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      13128
Logged by:          Grant McAlister
Email address:      grant@amazon.com
PostgreSQL version: 9.3.6
Operating system:   Linux 64bit
Description:

Steps to reproduce

1.       Set max_prepared_transactions to 2 in postgresql.conf.
2.       start Postgres.
3.       Create two uncommitted prepared transactions: BEGIN; PREPARE
TRANSACTION ‘test1’; BEGIN; PREPARE TRANSACTION ‘test2’;
4.       Set max_prepared_transactions to 1 in postgresql.conf.
5.       Restart Postgres again.

At this point the startup will fail with a fatal but the postmaster process
keeps running.

LOG:  database system was interrupted; last known up at 2015-04-16 17:19:56
PDT
LOG:  database system was not properly shut down; automatic recovery in
progress
LOG:  record with zero length at 0/1826C70
LOG:  redo is not required
LOG:  recovering prepared transaction 1685
LOG:  recovering prepared transaction 1683
FATAL:  maximum number of prepared transactions reached
HINT:  Increase max_prepared_transactions (currently 1).

Looks like their may be a LWLock that is not correctly getting released
which causes the process to hang rather then exit.

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

Предыдущее
От: stejsky@volny.cz
Дата:
Сообщение: BUG #13125: text bug
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.