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

From: grant(at)amazon(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.
Date: 2015-04-22 22:09:40
Message-ID: 20150422220940.5216.95902@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 13128
Logged by: Grant McAlister
Email address: grant(at)amazon(dot)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.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2015-04-23 01:20:49 Re: BUG #13128: Postgres deadlock on startup failure when max_prepared_transactions is not sufficiently high.
Previous Message Andres Freund 2015-04-22 16:15:55 Re: BUG #12910: Memory leak with logical decoding