Re: Broken --dry-run mode in pg_rewind

From: Vladimir Borodin <root(at)simply(dot)name>
To: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Stephen Frost <sfrost(at)snowman(dot)net>
Subject: Re: Broken --dry-run mode in pg_rewind
Date: 2015-05-08 13:39:36
Message-ID: DAE88CA1-FC41-47A4-B469-4BEAB135FAC2@simply.name
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> 8 мая 2015 г., в 16:11, Stephen Frost <sfrost(at)snowman(dot)net> написал(а):
>
> * Heikki Linnakangas (hlinnaka(at)iki(dot)fi <mailto:hlinnaka(at)iki(dot)fi>) wrote:
>> On 05/08/2015 03:39 PM, Michael Paquier wrote:
>>> On Fri, May 8, 2015 at 9:34 PM, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>>>> On 05/08/2015 03:25 PM, Vladimir Borodin wrote:
>>>>> Seems, that pg_rewind does not account --dry-run option properly. A simple
>>>>> fix
>>>>> for that is attached.
>>>>
>>>>
>>>> No, the --dry-run takes effect later. It performs all the actions it
>>>> normally would, including reading files from the source, except for actually
>>>> writing anything in the target. See the dry-run checks in file_ops.c

Urgh, my test script had an error and I made grep only in pg_rewind.c. Sorry for noise.

>>>
>>> Even if the patch sent is incorrect, shouldn't there be some process
>>> bypass in updateControlFile() and createBackupLabel() in case of a
>>> --dry-run?
>>
>> They both use open_target_file() and write_target_file(), which
>> check for --dry-run and do nothing if it's set.
>>
>> Hmm, I wonder it we should print something else than "Done!" at the
>> end, if run in --dry-run mode. Or give some indication around the
>> time it says "Rewinding from last common checkpoint at ...", that
>> it's running in dry-run mode and won't actually modify anything. The
>> progress messages are a bit alarming if you don't realize that it's
>> skipping all the writes.

That would be really nice.

>
> Wouldn't hurt to also augment that rather doom-looking "point of no
> return" comment with a note that says writes won't happen if in
> dry-run. :)
>
> For my 2c anyway.
>
> Thanks!
>
> Stephen

--
May the force be with you…
https://simply.name

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2015-05-08 13:58:48 Re: Modify pg_stat_get_activity to build a tuplestore
Previous Message Simon Riggs 2015-05-08 13:27:06 Re: subxcnt defined as signed integer in SnapshotData and SerializeSnapshotData