Re: [PATCHES] Fix "database is ready" race condition - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: [PATCHES] Fix "database is ready" race condition
Date
Msg-id 7A705257-DB3F-4A47-A0B6-48768E2267B7@decibel.org
Whole thread Raw
In response to Re: [PATCHES] Fix "database is ready" race condition  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [PATCHES] Fix "database is ready" race condition  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
On Feb 5, 2007, at 8:19 AM, Tom Lane wrote:
> "Simon Riggs" <simon@2ndquadrant.com> writes:
>> My suggestions would be
>> 1. "Database system has completed recovery" and
>> 2. "Database system is ready to accept connections"
>
> The second was in fact the wording I had in mind, sorry for not being
> clear.  As to the first, the question is whether a log message at that
> specific point has any use.  It's not "completion of recovery",  
> exactly,
> since we go through that spot whether it's a normal startup or  
> recovery
> (and there is another log message when we actually do any WAL replay).
> AFAICS it's a fairly randomly chosen place in a long sequence of  
> Things
> That Must Happen.  Part of the reason Markus is seeing a race  
> condition
> is that this isn't the last thing done before the startup subprocess
> exits --- see BootstrapMain.  So I'm for just getting rid of it.

It is useful to know if the database had to do recovery, though, and  
if it did do recovery, it would be useful to know how long it took if  
the subsequent startup took a real amount of time.

BTW, this is a real problem I've seen on a database with 500k entries  
in pg_class... it takes several minutes to finish starting after the  
'Postmaster is ready' message.
--
Jim Nasby                                            jim@nasby.net
EnterpriseDB      http://enterprisedb.com      512.569.9461 (cell)




pgsql-hackers by date:

Previous
From: Jim Nasby
Date:
Subject: Re: Modifying and solidifying contrib
Next
From: "Andrew Hammond"
Date:
Subject: Re: 10 weeks to feature freeze (Pending Work)