mirror of
https://github.com/postgres/postgres.git
synced 2025-05-05 09:19:17 +03:00
Update minimum recovery point on truncation during WAL replay of abort record.
If a file is truncated, we must update minRecoveryPoint. Once a file is truncated, there's no going back; it would not be safe to stop recovery at a point earlier than that anymore. Commit 7bffc9b7bf changed xact_redo_commit() so that it updates minRecoveryPoint on truncation, but forgot to change xact_redo_abort(). Back-patch to all supported versions. Reported-by: mengjuan.cmj@alibaba-inc.com Author: Fujii Masao Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/b029fce3-4fac-4265-968e-16f36ff4d075.mengjuan.cmj@alibaba-inc.com
This commit is contained in:
parent
fc0d9b8c22
commit
f2a3d7404e
@ -5983,7 +5983,16 @@ xact_redo_abort(xl_xact_parsed_abort *parsed, TransactionId xid,
|
||||
}
|
||||
|
||||
/* Make sure files supposed to be dropped are dropped */
|
||||
if (parsed->nrels > 0)
|
||||
{
|
||||
/*
|
||||
* See comments about update of minimum recovery point on truncation,
|
||||
* in xact_redo_commit().
|
||||
*/
|
||||
XLogFlush(lsn);
|
||||
|
||||
DropRelationFiles(parsed->xnodes, parsed->nrels, true);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
x
Reference in New Issue
Block a user