On Sun, Jan 1, 2017 at 12:47 AM, Michael Paquier <michael.paqu...@gmail.com> wrote:
> On Sat, Dec 31, 2016 at 9:24 PM, Magnus Hagander <mag...@hagander.net> > wrote: > > On Tue, Dec 20, 2016 at 11:53 PM, Michael Paquier > > <michael.paqu...@gmail.com> wrote: > >> Recovery tests are broken by this patch, the backup() method in > >> PostgresNode.pm uses pg_basebackup -x: > >> sub backup > >> { > >> my ($self, $backup_name) = @_; > >> my $backup_path = $self->backup_dir . '/' . $backup_name; > >> my $port = $self->port; > >> my $name = $self->name; > >> > >> print "# Taking pg_basebackup $backup_name from node \"$name\"\n"; > >> TestLib::system_or_bail('pg_basebackup', '-D', $backup_path, '-p', > >> $port, > >> '-x', '--no-sync'); > >> print "# Backup finished\n"; > >> } > > > > > > Oh bleh. That's what I get for just running the tests for pg_basebackup > > itself. > > > > I removed it completely in this patch, making it use streaming. Or is > there > > a particular reason we want it to use fetch, that I'm not aware of? > > Not really. Both should be equivalent in the current tests. It may > actually be a good idea to add an argument in PostgresNode->backup to > define the WAL fetching method. > > > Attached is a new patch with this fix, and those suggested by Fujii as > well. > > - the backup. If this option is specified, it is possible to start > - a postmaster directly in the extracted directory without the need > - to consult the log archive, thus making this a completely > standalone > - backup. > + the backup. Unless the method <literal>none</literal> is > specified, > + it is possible to start a postmaster directly in the extracted > + directory without the need to consult the log archive, thus > + making this a completely standalone backup. > </para> > I find a bit weird to mention a method value in a paragraph before > listing them. Perhaps it should be a separate paragraph after the list > of methods available? > > -static bool includewal = false; > -static bool streamwal = false; > +static bool includewal = true; > +static bool streamwal = true; > Two booleans are used to define 3 states. It may be cleaner to use an > enum instead. The important point is that streaming WAL is enabled > only if "stream" method is used. > > Other than that the patch looks good to me. Tests pass. > Meh, just as I was going to respond "committed" I noticed this second round of review comments. Apologies, pushed without that. I agree on the change with includewal/streamwal. That was already the case in the existing code of course, but that doesn't mean it couldn't be made better. I'll take a look at doing that as a separate patch. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/