mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-01-24 11:46:31 +02:00
Merge branch 'release_2_4' into issue_66
This commit is contained in:
commit
1c773d1653
10
src/backup.c
10
src/backup.c
@ -236,19 +236,19 @@ do_backup_instance(PGconn *backup_conn, PGNodeInfo *nodeInfo, bool no_sync, bool
|
||||
|
||||
/*
|
||||
* It`s illegal to take PTRACK backup if LSN from ptrack_control() is not
|
||||
* equal to stop_lsn of previous backup.
|
||||
* equal to start_lsn of previous backup.
|
||||
*/
|
||||
if (current.backup_mode == BACKUP_MODE_DIFF_PTRACK)
|
||||
{
|
||||
XLogRecPtr ptrack_lsn = get_last_ptrack_lsn(backup_conn, nodeInfo);
|
||||
|
||||
if (ptrack_lsn > prev_backup->stop_lsn || ptrack_lsn == InvalidXLogRecPtr)
|
||||
if (ptrack_lsn > prev_backup->start_lsn || ptrack_lsn == InvalidXLogRecPtr)
|
||||
{
|
||||
elog(ERROR, "LSN from ptrack_control %X/%X differs from STOP LSN of previous backup %X/%X.\n"
|
||||
elog(ERROR, "LSN from ptrack_control %X/%X differs from Start LSN of previous backup %X/%X.\n"
|
||||
"Create new full backup before an incremental one.",
|
||||
(uint32) (ptrack_lsn >> 32), (uint32) (ptrack_lsn),
|
||||
(uint32) (prev_backup->stop_lsn >> 32),
|
||||
(uint32) (prev_backup->stop_lsn));
|
||||
(uint32) (prev_backup->start_lsn >> 32),
|
||||
(uint32) (prev_backup->start_lsn));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -413,16 +413,9 @@ class PtrackTest(ProbackupTest, unittest.TestCase):
|
||||
backup_dir, 'node', node, backup_type='ptrack',
|
||||
options=['--stream'])
|
||||
|
||||
# TODO: what's the point in taking pgdata content, then taking
|
||||
# backup, and the trying to compare those two? Backup issues a
|
||||
# checkpoint, so it will modify pgdata with close to 100% chance.
|
||||
if self.paranoia:
|
||||
pgdata = self.pgdata_content(node.data_dir)
|
||||
|
||||
self.backup_node(
|
||||
backup_dir, 'node', node, backup_type='ptrack',
|
||||
options=['--stream'])
|
||||
|
||||
node_restored = self.make_simple_node(
|
||||
base_dir=os.path.join(module_name, fname, 'node_restored'))
|
||||
node_restored.cleanup()
|
||||
@ -3954,7 +3947,7 @@ class PtrackTest(ProbackupTest, unittest.TestCase):
|
||||
)
|
||||
except ProbackupException as e:
|
||||
self.assertIn(
|
||||
'ERROR: LSN from ptrack_control 0/0 differs from STOP LSN of previous backup',
|
||||
'ERROR: LSN from ptrack_control 0/0 differs from Start LSN of previous backup',
|
||||
e.message,
|
||||
'\n Unexpected Error Message: {0}\n'
|
||||
' CMD: {1}'.format(repr(e.message), self.cmd))
|
||||
|
Loading…
x
Reference in New Issue
Block a user