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