[Issue #449] fix tests

This commit is contained in:
Grigory Smolkin
2021-11-01 03:14:33 +03:00
parent d4f9aa36c1
commit 7fbe1f8c9c
2 changed files with 15 additions and 7 deletions
+10 -2
View File
@@ -1028,11 +1028,15 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
GetXLogFileName(xlogfname, reader_data->tli, reader_data->xlogsegno, wal_seg_size);
/* obtain WAL archive subdir for ARCHIVE backup */
// TODO: move to separate function and rewrite it
if (reader_data->honor_subdirs)
{
char archive_subdir[MAXPGPATH];
get_archive_subdir(archive_subdir, wal_archivedir, xlogfname, SEGMENT);
/* default value for xlogpath for error message */
snprintf(reader_data->xlogpath, MAXPGPATH, "%s/%s", archive_subdir, xlogfname);
/* check existence of wal_dir/xlogid/segment.gz file ... */
snprintf(fullpath_gz, MAXPGPATH, "%s/%s.gz", archive_subdir, xlogfname);
@@ -1069,6 +1073,8 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
/* use directory as-is */
else
{
/* default value for xlogpath for error message */
snprintf(reader_data->xlogpath, MAXPGPATH, "%s/%s", wal_archivedir, xlogfname);
archive_dir:
#ifdef HAVE_LIBZ
/* ... failing that check existence of wal_dir/segment.gz ... */
@@ -1130,7 +1136,6 @@ file_found:
elog(LOG, "Thread [%d]: Opening WAL segment \"%s\"",
reader_data->thread_num, reader_data->xlogpath);
reader_data->xlogexists = true;
reader_data->xlogfile = fio_open(reader_data->xlogpath,
O_RDONLY | PG_BINARY, FIO_LOCAL_HOST);
@@ -1141,6 +1146,8 @@ file_found:
strerror(errno));
return -1;
}
else
reader_data->xlogexists = true;
}
#ifdef HAVE_LIBZ
/* Try to open compressed WAL segment */
@@ -1149,7 +1156,6 @@ file_found:
elog(LOG, "Thread [%d]: Opening compressed WAL segment \"%s\"",
reader_data->thread_num, reader_data->gz_xlogpath);
reader_data->xlogexists = true;
reader_data->gz_xlogfile = fio_gzopen(reader_data->gz_xlogpath,
"rb", -1, FIO_LOCAL_HOST);
if (reader_data->gz_xlogfile == NULL)
@@ -1159,6 +1165,8 @@ file_found:
strerror(errno));
return -1;
}
else
reader_data->xlogexists = true;
}
#endif
/* Exit without error if WAL segment doesn't exist */
+5 -5
View File
@@ -1545,7 +1545,7 @@ class ValidateTest(ProbackupTest, unittest.TestCase):
backup_id_2 = self.backup_node(backup_dir, 'node', node)
# Corrupt WAL
wals_dir = os.path.join(backup_dir, 'wal', 'node')
wals_dir = os.path.join(backup_dir, 'wal', 'node', '00000000')
wals = [f for f in os.listdir(wals_dir) if os.path.isfile(os.path.join(wals_dir, f)) and not f.endswith('.backup')]
wals.sort()
for wal in wals:
@@ -1610,7 +1610,7 @@ class ValidateTest(ProbackupTest, unittest.TestCase):
target_xid = res[0][0]
# Corrupt WAL
wals_dir = os.path.join(backup_dir, 'wal', 'node')
wals_dir = os.path.join(backup_dir, 'wal', 'node', '00000000')
wals = [f for f in os.listdir(wals_dir) if os.path.isfile(os.path.join(wals_dir, f)) and not f.endswith('.backup')]
wals.sort()
for wal in wals:
@@ -1673,10 +1673,10 @@ class ValidateTest(ProbackupTest, unittest.TestCase):
backup_id = self.backup_node(backup_dir, 'node', node)
# Delete wal segment
wals_dir = os.path.join(backup_dir, 'wal', 'node')
wals_dir = os.path.join(backup_dir, 'wal', 'node', '00000000')
wals = [f for f in os.listdir(wals_dir) if os.path.isfile(os.path.join(wals_dir, f)) and not f.endswith('.backup')]
wals.sort()
file = os.path.join(backup_dir, 'wal', 'node', wals[-1])
file = os.path.join(wals_dir, wals[-1])
os.remove(file)
# cut out '.gz'
@@ -1778,7 +1778,7 @@ class ValidateTest(ProbackupTest, unittest.TestCase):
self.backup_node(backup_dir, 'node', node)
# Corrupt WAL
wals_dir = os.path.join(backup_dir, 'wal', 'node')
wals_dir = os.path.join(backup_dir, 'wal', 'node', '00000000')
with open(os.path.join(wals_dir, walfile), "rb+", 0) as f:
f.seek(9000)
f.write(b"b")