Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7fbe1f8

Browse files
committed
[Issue#449] fix tests
1 parentd4f9aa3 commit7fbe1f8

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

‎src/parsexlog.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1028,11 +1028,15 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
10281028
GetXLogFileName(xlogfname,reader_data->tli,reader_data->xlogsegno,wal_seg_size);
10291029

10301030
/* obtain WAL archive subdir for ARCHIVE backup */
1031+
// TODO: move to separate function and rewrite it
10311032
if (reader_data->honor_subdirs)
10321033
{
10331034
chararchive_subdir[MAXPGPATH];
10341035
get_archive_subdir(archive_subdir,wal_archivedir,xlogfname,SEGMENT);
10351036

1037+
/* default value for xlogpath for error message */
1038+
snprintf(reader_data->xlogpath,MAXPGPATH,"%s/%s",archive_subdir,xlogfname);
1039+
10361040
/* check existence of wal_dir/xlogid/segment.gz file ... */
10371041
snprintf(fullpath_gz,MAXPGPATH,"%s/%s.gz",archive_subdir,xlogfname);
10381042

@@ -1069,6 +1073,8 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
10691073
/* use directory as-is */
10701074
else
10711075
{
1076+
/* default value for xlogpath for error message */
1077+
snprintf(reader_data->xlogpath,MAXPGPATH,"%s/%s",wal_archivedir,xlogfname);
10721078
archive_dir:
10731079
#ifdefHAVE_LIBZ
10741080
/* ... failing that check existence of wal_dir/segment.gz ... */
@@ -1130,7 +1136,6 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
11301136
elog(LOG,"Thread [%d]: Opening WAL segment \"%s\"",
11311137
reader_data->thread_num,reader_data->xlogpath);
11321138

1133-
reader_data->xlogexists= true;
11341139
reader_data->xlogfile=fio_open(reader_data->xlogpath,
11351140
O_RDONLY |PG_BINARY,FIO_LOCAL_HOST);
11361141

@@ -1141,6 +1146,8 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
11411146
strerror(errno));
11421147
return-1;
11431148
}
1149+
else
1150+
reader_data->xlogexists= true;
11441151
}
11451152
#ifdefHAVE_LIBZ
11461153
/* Try to open compressed WAL segment */
@@ -1149,7 +1156,6 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
11491156
elog(LOG,"Thread [%d]: Opening compressed WAL segment \"%s\"",
11501157
reader_data->thread_num,reader_data->gz_xlogpath);
11511158

1152-
reader_data->xlogexists= true;
11531159
reader_data->gz_xlogfile=fio_gzopen(reader_data->gz_xlogpath,
11541160
"rb",-1,FIO_LOCAL_HOST);
11551161
if (reader_data->gz_xlogfile==NULL)
@@ -1159,6 +1165,8 @@ SimpleXLogPageRead(XLogReaderState *xlogreader, XLogRecPtr targetPagePtr,
11591165
strerror(errno));
11601166
return-1;
11611167
}
1168+
else
1169+
reader_data->xlogexists= true;
11621170
}
11631171
#endif
11641172
/* Exit without error if WAL segment doesn't exist */

‎tests/validate.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ def test_validate_corrupt_wal_1(self):
15451545
backup_id_2=self.backup_node(backup_dir,'node',node)
15461546

15471547
# Corrupt WAL
1548-
wals_dir=os.path.join(backup_dir,'wal','node')
1548+
wals_dir=os.path.join(backup_dir,'wal','node','00000000')
15491549
wals= [fforfinos.listdir(wals_dir)ifos.path.isfile(os.path.join(wals_dir,f))andnotf.endswith('.backup')]
15501550
wals.sort()
15511551
forwalinwals:
@@ -1610,7 +1610,7 @@ def test_validate_corrupt_wal_2(self):
16101610
target_xid=res[0][0]
16111611

16121612
# Corrupt WAL
1613-
wals_dir=os.path.join(backup_dir,'wal','node')
1613+
wals_dir=os.path.join(backup_dir,'wal','node','00000000')
16141614
wals= [fforfinos.listdir(wals_dir)ifos.path.isfile(os.path.join(wals_dir,f))andnotf.endswith('.backup')]
16151615
wals.sort()
16161616
forwalinwals:
@@ -1673,10 +1673,10 @@ def test_validate_wal_lost_segment_1(self):
16731673
backup_id=self.backup_node(backup_dir,'node',node)
16741674

16751675
# Delete wal segment
1676-
wals_dir=os.path.join(backup_dir,'wal','node')
1676+
wals_dir=os.path.join(backup_dir,'wal','node','00000000')
16771677
wals= [fforfinos.listdir(wals_dir)ifos.path.isfile(os.path.join(wals_dir,f))andnotf.endswith('.backup')]
16781678
wals.sort()
1679-
file=os.path.join(backup_dir,'wal','node',wals[-1])
1679+
file=os.path.join(wals_dir,wals[-1])
16801680
os.remove(file)
16811681

16821682
# cut out '.gz'
@@ -1778,7 +1778,7 @@ def test_validate_corrupt_wal_between_backups(self):
17781778
self.backup_node(backup_dir,'node',node)
17791779

17801780
# Corrupt WAL
1781-
wals_dir=os.path.join(backup_dir,'wal','node')
1781+
wals_dir=os.path.join(backup_dir,'wal','node','00000000')
17821782
withopen(os.path.join(wals_dir,walfile),"rb+",0)asf:
17831783
f.seek(9000)
17841784
f.write(b"b")

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp