Re: [COMMITTERS] pgsql: Upgrade to Autoconf 2.69

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Subject: Re: [COMMITTERS] pgsql: Upgrade to Autoconf 2.69
Date: 2013-12-27 18:57:43
Message-ID: 20131227185743.GQ22570@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Andres Freund wrote:
> Hi,
>
> On 2013-12-24 12:58:04 -0300, Alvaro Herrera wrote:
> > > Shortly after this patch was committed, buildfarm member locust (running
> > > Mac OS X 10.5 apparently) started failing the pg_upgrade check:
> > >
> > > command: "/Users/pgbuildfarm/Documents/workdir/HEAD/pgsql.82393/contrib/pg_upgrade/tmp_check/install//Users/pgbuildfarm/Documents/workdir//HEAD/inst/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/Users/pgbuildfarm/Documents/workdir/HEAD/pgsql.82393/contrib/pg_upgrade/tmp_check/data" -o "-p 57632 -b -c synchronous_commit=off -c fsync=off -c full_page_writes=off -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/Users/pgbuildfarm/Documents/workdir/HEAD/pgsql.82393/contrib/pg_upgrade'" start >> "pg_upgrade_server.log" 2>&1
> > > waiting for server to start....LOG: database system was shut down at 2013-12-19 12:51:16 CET
> > > LOG: invalid primary checkpoint record
> > > LOG: invalid secondary checkpoint link in control file
> > > PANIC: could not locate a valid checkpoint record
> >
> > Any comment on this problem? Somehow ReadRecord is unable to find a
> > checkpoint, yet there's no error message to be seen anywhere, whereas
> > pg_resetxlog does report it:
> >
> > > command: "/Users/pgbuildfarm/Documents/workdir/HEAD/pgsql.82393/contrib/pg_upgrade/tmp_check/install//Users/pgbuildfarm/Documents/workdir//HEAD/inst/bin/pg_resetxlog" -l 000000010000000000000009 "/Users/pgbuildfarm/Documents/workdir/HEAD/pgsql.82393/contrib/pg_upgrade/tmp_check/data" >> "pg_upgrade_utility.log" 2>&1
> > > pg_resetxlog: could not read from directory "pg_xlog": Invalid argument
> >
> > I cannot but think xlogreader is at fault.
> >
> > Regardless of the solution to the Mac OS X problem, ISTM this should be
> > fixed.
>
> I didn't look at any code, and I won't today, but it doesn't look
> surprising - the report when starting the server above is presumable the
> one in ReadCheckpoint() (or similar) and it probably just reports that
> ReadRecord() didn't return a record.

How is this not surprising? Surely failing to find a checkpoint record
is not a problem to be taken lightly.

> pg_resetxlog (which doesn't use xlogreader!) reports that it couldn't
> read from directory "pg_xlog", so there's something wonky independently
> from xlogreader.

Yes, most likely there is. My point is that the LOG messages above
should have logged the system error that caused the checkpoint record to
be unfindable.

> I'd guess that xlog.c read_page callback errors out without reporting
> an error. IIRC we're logging some failures as DEBUG there, because
> they really aren't unexpected, and normally just signal the end of
> wal.

Hmm? At least, I recall something like a "unexpected pageaddr" message
is sometimes logged when end-of-wal is found. Why would other error
messages be hidden?

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Kevin Grittner 2013-12-27 21:44:18 pgsql: Fix misplaced right paren bugs in pgstatfuncs.c.
Previous Message Peter Eisentraut 2013-12-27 04:54:13 pgsql: Fix whitespace

Browse pgsql-hackers by date

  From Date Subject
Next Message Christian Convey 2013-12-27 19:10:24 Re: Question about Lockhart's book
Previous Message Josh Berkus 2013-12-27 18:52:53 Re: Question about Lockhart's book