Re: Hmmm ... isn't count_nondeletable_pages all wet?

From: Florian Weimer <fweimer(at)bfk(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Hmmm ... isn't count_nondeletable_pages all wet?
Date: 2007-10-29 12:48:08
Message-ID: 82wst6ulx3.fsf@mid.bfk.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-hackers

* Tom Lane:

> I am fairly sure that this bug explains problems previously reported
> by Merlin Moncure:
> http://archives.postgresql.org/pgsql-general/2006-10/msg01312.php
> and Florian Weimer:
> http://archives.postgresql.org/pgsql-general/2006-11/msg00305.php
> In both those cases, off-list investigation showed that the symptoms
> were caused by multiple index entries pointing to the same heap tuples,
> where one index entry matched the actual contents of the row and
> the other did not. In both cases this occurred for a fairly small
> number of rows that were clumped together into small ranges of blocks.
> It looks to me like this is perfectly explained by the theory that
> that range of blocks had been truncated away by a VACUUM at some point
> in the table's history, and that the non-matching index entries stemmed
> from an insert or update that occurred and then aborted after VACUUM had
> examined the blocks the first time but before it could return to check
> whether the blocks were still empty.

We did have auto-vacuum running, and while the table in question was
supposedly INSERT-only, some rollback might have occurred before the
corruption hit us, resulting in the dead tuples. So your explanation
makes sense to me (but I'm not really familiar with PostgreSQL
internals).

Regarding Scott's commment of other reports, I don't think we've
experienced the issue again; we've switched servers since then, and
the usage patterns have changed over time.

--
Florian Weimer <fweimer(at)bfk(dot)de>
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99

In response to

Responses

  • grep command at 2007-10-29 14:15:30 from Kuriakose, Cinu Cheriyamoozhiyil

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2007-10-29 13:40:10 Re: shared memory settings on MAC OS X
Previous Message David Lowry 2007-10-29 12:34:50 Re: way to turn off epochs in log_filename

Browse pgsql-hackers by date

  From Date Subject
Next Message Niels van Dijke 2007-10-29 13:24:50 FUNCTION network(inet,inet) ?
Previous Message Magnus Hagander 2007-10-29 11:25:42 pgsql: New versions of mingw have gettimeofday(), so add an autoconf