Re: Broken --dry-run mode in pg_rewind

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Vladimir Borodin <root(at)simply(dot)name>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Broken --dry-run mode in pg_rewind
Date: 2015-05-08 12:55:05
Message-ID: 554CB229.4000207@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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
>
> 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.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-05-08 12:56:39 Re: is possible to upgrade from 9.2 to 9.4 with pg_upgrade
Previous Message Michael Paquier 2015-05-08 12:39:10 Re: Broken --dry-run mode in pg_rewind