Re: 8.4-vintage problem in postmaster.c

From: Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: 8.4-vintage problem in postmaster.c
Date: 2010-11-13 22:45:58
Message-ID: 4CDF1526.6060505@kaltenbrunner.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 11/13/2010 11:07 PM, Tom Lane wrote:
> Stefan Kaltenbrunner<stefan(at)kaltenbrunner(dot)cc> writes:
>> On 11/13/2010 06:58 PM, Tom Lane wrote:
>>> Just looking at it, I think that the logic in canAcceptConnections got
>>> broken by somebody in 8.4, and then broken some more in 9.0: in some
>>> cases it will return an "okay to proceed" status without having checked
>>> for TOOMANY children. Was this system possibly in PM_WAIT_BACKUP or
>>> PM_HOT_STANDBY state? What version was actually running?
>
>> I don't have too many details on the actual setup (working on that) but
>> the box in question is running 8.4.2 and had no issues before the
>> upgrade to 8.4 (ie 8.3 was reported to work fine - so a 8.4+ breakage
>> looks plausible).
>
> Well, this failure would certainly involve a flood of connection
> attempts, so it's possible it's a pre-existing bug that they just did
> not happen to trip over before. But the sequence of events that I'm

afaik this seems to be fairly reproducible on the current box so
something in 8.4 seems to trigger that issue more often now.

> thinking about is a smart shutdown attempt (SIGTERM to postmaster)
> while an online backup is in progress, followed by a flood of
> near-simultaneous connection attempts while the backup is still active.

interesting - but I don't think that the setup in question actually uses
online backups at all..

Stefan

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2010-11-14 00:16:30 unlogged tables
Previous Message Robert Haas 2010-11-13 22:31:57 Re: WIP: extensible enums