Re: Failed assertion during recovery of partial WAL file

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Martin Pihlak <martin.pihlak@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2010-02-10T08:26:07Z
Lists: pgsql-hackers
Fujii Masao wrote:
> This assertion failure derives from the recent refactoring of ReadRecord().
> Which changed the startup process so as to re-fetch the last applied WAL
> record at the end of recovery from the buffer instead of the WAL file if it's
> stored in the buffer. In this case, the last applied WAL file remains closed.
> So readFile (which ought to have been the file descriptor of that WAL file)
> might be -1 in exitArchiveRecovery().
> 
> In the now, that assertion is obsolete. So I attached the patch that removes
> the assert() from exitArchiveRecovery().

Committed.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com