Large object corruption

Started by Josh Berkusalmost 23 years ago3 messagesbugs
Jump to latest
#1Josh Berkus
josh@agliodbs.com

Folks,

A client of mine has claimed to encounter the following:
When they have an unexpected power-out, large objects written to the database
but not checkpointed (i.e. in the middle of a transaction, and later than the
checkpoint interval) will be corrupted, and not even the previous version of
the LO is retrieveable.

Is this a know issue? I couldn't find it in the list archives.

--
-Josh Berkus
Aglio Database Solutions
San Francisco

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Josh Berkus (#1)
Re: Large object corruption

Josh Berkus <josh@agliodbs.com> writes:

A client of mine has claimed to encounter the following:
When they have an unexpected power-out, large objects written to the database
but not checkpointed (i.e. in the middle of a transaction, and later than the
checkpoint interval) will be corrupted, and not even the previous version of
the LO is retrieveable.

Not a known issue, and not a very credible report either. LOs use the
same transaction mechanisms as everything else.

Is this the same client that apparently lost an index to a filesystem
failure earlier today? I wonder just how extensive that failure was...
you might try looking for zeroed pages in pg_largeobject and its
index...

regards, tom lane

#3Josh Berkus
josh@agliodbs.com
In reply to: Tom Lane (#2)
Re: Large object corruption

Tom,

Not a known issue, and not a very credible report either. LOs use the
same transaction mechanisms as everything else.

Is this the same client that apparently lost an index to a filesystem
failure earlier today? I wonder just how extensive that failure was...
you might try looking for zeroed pages in pg_largeobject and its
index...

Not the same machine, but the same client. I think a lot of their problems
devolve from running PostgreSQL on machines that consistently run out of RAM,
CPU and disk space, sometimes all at once. Also they're in the habit of
turning the machines off while running.

It's actually sort of an interesting "destruction-test" environment for
PostgreSQL, and I really wish they'd give me publishable results, because
their testing, if anything, demonstrates how *indestructable* postgresql is.

I just wanted to make sure this was not a known, patchable issue. Thanks!

--
Josh Berkus
Aglio Database Solutions
San Francisco