Checksum error and VACUUM FULL

Started by Tatsuki Kadomotoover 9 years ago2 messageshackers
Jump to latest
#1Tatsuki Kadomoto
tatsuki.kadomoto@proceranetworks.com

Hello, gurus,

I faced incorrect checksum on "global/pg_filenode.map" at the right timing "VACUUM FULL" is executed and session was aborted.

Aug 16 20:51:19 postgres[22329]: [2-1] FATAL: relation mapping file "global/pg_filenode.map" contains incorrect checksum

Aug 16 20:51:19 postgres[22329]: [2-2] STATEMENT: SELECT id,readbm,writebm,survbm,timeout FROM Users WHERE username='packetlogicd' AND password=md5('xxxxx')

I'm reading the comment in src/backend/utils/cache/relmapper.c .

===
Therefore mapped catalogs can only be relocated by operations such as VACUUM FULL and CLUSTER, which make no transactionally-significant changes: it must be safe for the new file to replace the old, even if the transaction itself aborts.
===

Does this comment mean it's expected to get this kind of checksum error if the timing is really bad?

Regards,
Tatsuki

#2Robert Haas
robertmhaas@gmail.com
In reply to: Tatsuki Kadomoto (#1)
Re: Checksum error and VACUUM FULL

On Thu, Aug 25, 2016 at 5:45 AM, Tatsuki Kadomoto <
tatsuki.kadomoto@proceranetworks.com> wrote:

I faced incorrect checksum on "global/pg_filenode.map" at the right
timing "VACUUM FULL" is executed and session was aborted.

Aug 16 20:51:19 postgres[22329]: [2-1] FATAL: relation mapping file "global/pg_filenode.map" contains incorrect checksum

Aug 16 20:51:19 postgres[22329]: [2-2] STATEMENT: SELECT id,readbm,writebm,survbm,timeout FROM Users WHERE username='packetlogicd' AND password=md5('xxxxx')

I'm reading the comment in src/backend/utils/cache/relmapper.c .

===
Therefore mapped catalogs can only be relocated by operations such as
VACUUM FULL and CLUSTER, which make no transactionally-significant changes:
it must be safe for the new file to replace the old, even if the
transaction itself aborts.
===

Does this comment mean it's expected to get this kind of checksum error if
the timing is really bad?

I don't think so.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company