pgsql: Must not reach consistency before XLOG_BACKUP_RECORD
Must not reach consistency before XLOG_BACKUP_RECORD
When waiting for an XLOG_BACKUP_RECORD the minRecoveryPoint
will be incorrect, so we must not declare recovery as consistent
before we have seen the record. Major bug allowing recovery to end
too early in some cases, allowing people to see inconsistent db.
This patch to HEAD and 9.2, other fix required for 9.1 and 9.0
Simon Riggs and Andres Freund, bug report by Jeff Janes
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/6aa2e49a878d28fbbbe8efe53c3a729a51a01090
Modified Files
--------------
src/backend/access/transam/xlog.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers
Simon Riggs <simon@2ndQuadrant.com> writes:
Must not reach consistency before XLOG_BACKUP_RECORD
When waiting for an XLOG_BACKUP_RECORD the minRecoveryPoint
will be incorrect, so we must not declare recovery as consistent
before we have seen the record. Major bug allowing recovery to end
too early in some cases, allowing people to see inconsistent db.
Is this actually a "major bug fix", or a useless redundant test?
I had thought that that if-statement's check of
XLogRecPtrIsInvalid(ControlFile->backupStartPoint)
was sufficient, because that will keep us from declaring consistency
before we get out of the backup in any case.
regards, tom lane
--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers
On 2012-12-05 11:04:39 -0500, Tom Lane wrote:
Simon Riggs <simon@2ndQuadrant.com> writes:
Must not reach consistency before XLOG_BACKUP_RECORD
When waiting for an XLOG_BACKUP_RECORD the minRecoveryPoint
will be incorrect, so we must not declare recovery as consistent
before we have seen the record. Major bug allowing recovery to end
too early in some cases, allowing people to see inconsistent db.Is this actually a "major bug fix", or a useless redundant test?
I had thought that that if-statement's check of
XLogRecPtrIsInvalid(ControlFile->backupStartPoint)
was sufficient, because that will keep us from declaring consistency
before we get out of the backup in any case.
I think youre right that its redundant. Adding the check seems to be
sensible from a robustness perspective in the long run, but its
certainly not relevant for the release process.
Greetings,
Andres
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers