Re: Proposing pg_hibernate - Mailing list pgsql-hackers

From Gurjeet Singh
Subject Re: Proposing pg_hibernate
Date
Msg-id CABwTF4USCLYu2YxGwah7snUaJtprfOMEn7AqkTY2SzTtRd4Jog@mail.gmail.com
Whole thread Raw
In response to Re: Proposing pg_hibernate  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Proposing pg_hibernate  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Tue, Jun 10, 2014 at 12:02 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> If recovery has been running for a long time, then restoring
> buffers from some save file created before that is probably a bad
> idea, regardless of whether the buffers already loaded were read in by
> recovery itself or by queries running on the system.  But if you're
> saying that doesn't happen, then there's no problem there.

Normally, it won't happen. There's one case I can think of, which has
to coincide with a small window of time for such a thing to happen.

Consider this:
.) A database is shutdown, which creates the save-files in
$PGDATA/pg_hibernator/.
.) The database is restarted.
.) BlockReaders begin to read and restore the disk blocks into buffers.
.) Before the BlockReaders could finish*, a copy of the database is
taken (rsync/cp/FS-snapshot/etc.)   This causes the the save-files to be present in the copy, because
the BlockReaders haven't deleted them, yet.   * (The BlockReaders ideally finish their task in first few minutes
after first of them is started.)
.) The copy of the database is used to restore and erect a warm-standby.
.) The warm-standby starts replaying logs from WAL archive/stream.
.) Some time (hours/weeks/months) later, the warm-standby is promoted
to be a master.
.) It starts the Postgres Hibernator, which sees save-files in
$PGDATA/pg_hibernator/ and launches BlockReaders.

At this point, the BlockReaders will restore the blocks that were
present in original DB's shared-buffers at the time of shutdown. So,
this would fetch blocks into shared-buffers that may be completely
unrelated to the blocks recently operated on by the recovery process.

And it's probably accepted by now that such a bahviour is not
catastrophic, merely inconvenient.

Best regards,
-- 
Gurjeet Singh http://gurjeet.singh.im/

EDB www.EnterpriseDB.com



pgsql-hackers by date:

Previous
From: Tom Dunstan
Date:
Subject: Re: "RETURNING PRIMARY KEY" syntax extension
Next
From: Tom Dunstan
Date:
Subject: Re: "RETURNING PRIMARY KEY" syntax extension