Thread: Large object corruption

Large object corruption

From
Josh Berkus
Date:
Folks,

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

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

--=20
-Josh Berkus
 Aglio Database Solutions
 San Francisco

Re: Large object corruption

From
Tom Lane
Date:
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

Re: Large object corruption

From
Josh Berkus
Date:
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=
=20
devolve from running PostgreSQL on machines that consistently run out of RA=
M,=20
CPU and disk space, sometimes all at once.  Also they're in the habit of=20
turning the machines off while running.=20

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

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

--=20
Josh Berkus
Aglio Database Solutions
San Francisco