Re: pg_ctl emits strange warning message

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_ctl emits strange warning message
Date: 2010-09-13 15:10:23
Message-ID: 4C8E3EDF.9030200@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 13/09/10 16:01, Heikki Linnakangas wrote:
> On 13/09/10 13:08, Fujii Masao wrote:
>> Hi,
>>
>> http://archives.postgresql.org/pgsql-hackers/2010-05/msg00921.php
>>>>> (2)
>>>>> pg_ctl -ms stop emits the following warning whenever there is the
>>>>> backup_label file in $PGDATA.
>>>>>
>>>>> WARNING: online backup mode is active
>>>>> Shutdown will not complete until pg_stop_backup() is called.
>>>>>
>>>>> This warning doesn't fit in with the shutdown during recovery case.
>>>>> Since smart shutdown might be requested by other than pg_ctl, the
>>>>> warning should be emitted in server side rather than client, I think.
>>>>> How about moving the warning to the server side?
>>>>
>>>> Hmm, I'm not sure whether that's a good idea or not. Perhaps we
>>>> should discuss for 9.1?
>>>
>>> Okay, this is not a critical problem.
>>
>> Let's revisit this issue. The problem here is that pg_ctl might emit
>> the following warning messages when it shuts down the standby server.
>> This is very strange thing since online backup mode is never active
>> in the standby.
>>
>> WARNING: online backup mode is active
>> Shutdown will not complete until pg_stop_backup() is called.
>>
>> Another problem is that the above useful messages are not emitted
>> when shutdown is requested by other than pg_ctl.
>>
>> The attached patch moves the warning from pg_ctl to the server side
>> and makes postmaster emit it only when online backup mode is really
>> active. This can urge users to call pg_stop_backup to complete smart
>> shutdown whenever it's requested during online backup. I added the
>> patch into the next CF.
>
> There's this comment by Robert Haas:
>
> http://archives.postgresql.org/pgsql-hackers/2010-05/msg01433.php
>
> Like Robert, I'm also a bit worried that this might make the message
> less prominent. When you run "pg_ctl stop" manually, it's good to get
> the message directly in the terminal.
>
> Another line of attack is to remove the backup_label file earlier during
> recovery. We could remove it as soon as we update pg_control file with
> the same information, ie. the backup start location. And by remove I
> mean rename to backup_label.old, to avoid destroying forensic
> information ;-).

Yet another idea: Check in pg_ctl if recovery.conf is also present. If
it is, assume we're in recovery and don't print that warning. That would
be dead simple. I would even consider backpatching it to 9.0, this can
be regarded as a bug, albeit a minor one.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-09-13 15:19:40 Re: pg_ctl emits strange warning message
Previous Message Tom Lane 2010-09-13 14:13:34 Re: Report: removing the inconsistencies in our CVS->git conversion