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

Commit7ca590c

Browse files
committed
tests: drop ptrack1 suppport
1 parent11e1240 commit7ca590c

File tree

8 files changed

+296
-422
lines changed

8 files changed

+296
-422
lines changed

‎tests/backup.py

Lines changed: 31 additions & 200 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ class BackupTest(ProbackupTest, unittest.TestCase):
1818
# PGPRO-707
1919
deftest_backup_modes_archive(self):
2020
"""standart backup modes with ARCHIVE WAL method"""
21-
ifnotself.ptrack:
22-
returnunittest.skip('Skipped because ptrack support is disabled')
23-
2421
fname=self.id().split('.')[3]
2522
node=self.make_simple_node(
2623
base_dir=os.path.join(module_name,fname,'node'),
@@ -33,12 +30,7 @@ def test_backup_modes_archive(self):
3330
self.set_archiving(backup_dir,'node',node)
3431
node.slow_start()
3532

36-
ifnode.major_version>=12:
37-
node.safe_psql(
38-
"postgres",
39-
"CREATE EXTENSION ptrack")
40-
41-
backup_id=self.backup_node(backup_dir,'node',node)
33+
full_backup_id=self.backup_node(backup_dir,'node',node)
4234
show_backup=self.show_pb(backup_dir,'node')[0]
4335

4436
self.assertEqual(show_backup['status'],"OK")
@@ -47,7 +39,7 @@ def test_backup_modes_archive(self):
4739
# postmaster.pid and postmaster.opts shouldn't be copied
4840
excluded=True
4941
db_dir=os.path.join(
50-
backup_dir,"backups",'node',backup_id,"database")
42+
backup_dir,"backups",'node',full_backup_id,"database")
5143

5244
forfinos.listdir(db_dir):
5345
if (
@@ -64,31 +56,30 @@ def test_backup_modes_archive(self):
6456
page_backup_id=self.backup_node(
6557
backup_dir,'node',node,backup_type="page")
6658

67-
# print self.show_pb(node)
68-
show_backup=self.show_pb(backup_dir,'node')[1]
59+
show_backup_1=self.show_pb(backup_dir,'node')[1]
6960
self.assertEqual(show_backup['status'],"OK")
7061
self.assertEqual(show_backup['backup-mode'],"PAGE")
7162

63+
# delta backup mode
64+
delta_backup_id=self.backup_node(
65+
backup_dir,'node',node,backup_type="delta")
66+
67+
show_backup_2=self.show_pb(backup_dir,'node')[2]
68+
self.assertEqual(show_backup['status'],"OK")
69+
self.assertEqual(show_backup['backup-mode'],"DELTA")
70+
7271
# Check parent backup
7372
self.assertEqual(
74-
backup_id,
73+
full_backup_id,
7574
self.show_pb(
7675
backup_dir,'node',
77-
backup_id=show_backup['id'])["parent-backup-id"])
78-
79-
# ptrack backup mode
80-
self.backup_node(backup_dir,'node',node,backup_type="ptrack")
76+
backup_id=show_backup_1['id'])["parent-backup-id"])
8177

82-
show_backup=self.show_pb(backup_dir,'node')[2]
83-
self.assertEqual(show_backup['status'],"OK")
84-
self.assertEqual(show_backup['backup-mode'],"PTRACK")
85-
86-
# Check parent backup
8778
self.assertEqual(
8879
page_backup_id,
8980
self.show_pb(
9081
backup_dir,'node',
91-
backup_id=show_backup['id'])["parent-backup-id"])
82+
backup_id=show_backup_2['id'])["parent-backup-id"])
9283

9384
# Clean after yourself
9485
self.del_test_dir(module_name,fname)
@@ -118,10 +109,7 @@ def test_smooth_checkpoint(self):
118109

119110
# @unittest.skip("skip")
120111
deftest_incremental_backup_without_full(self):
121-
"""page-level backup without validated full backup"""
122-
ifnotself.ptrack:
123-
returnunittest.skip('Skipped because ptrack support is disabled')
124-
112+
"""page backup without validated full backup"""
125113
fname=self.id().split('.')[3]
126114
node=self.make_simple_node(
127115
base_dir=os.path.join(module_name,fname,'node'),
@@ -134,11 +122,6 @@ def test_incremental_backup_without_full(self):
134122
self.set_archiving(backup_dir,'node',node)
135123
node.slow_start()
136124

137-
ifnode.major_version>=12:
138-
node.safe_psql(
139-
"postgres",
140-
"CREATE EXTENSION ptrack")
141-
142125
try:
143126
self.backup_node(backup_dir,'node',node,backup_type="page")
144127
# we should die here because exception is what we expect to happen
@@ -154,29 +137,10 @@ def test_incremental_backup_without_full(self):
154137
"\n Unexpected Error Message: {0}\n CMD: {1}".format(
155138
repr(e.message),self.cmd))
156139

157-
try:
158-
self.backup_node(backup_dir,'node',node,backup_type="ptrack")
159-
# we should die here because exception is what we expect to happen
160-
self.assertEqual(
161-
1,0,
162-
"Expecting Error because page backup should not be possible "
163-
"without valid full backup.\n Output: {0}\n CMD: {1}".format(
164-
repr(self.output),self.cmd))
165-
exceptProbackupExceptionase:
166-
self.assertTrue(
167-
"WARNING: Valid full backup on current timeline 1 is not found"ine.messageand
168-
"ERROR: Create new full backup before an incremental one"ine.message,
169-
"\n Unexpected Error Message: {0}\n CMD: {1}".format(
170-
repr(e.message),self.cmd))
171-
172140
self.assertEqual(
173141
self.show_pb(backup_dir,'node')[0]['status'],
174142
"ERROR")
175143

176-
self.assertEqual(
177-
self.show_pb(backup_dir,'node')[1]['status'],
178-
"ERROR")
179-
180144
# Clean after yourself
181145
self.del_test_dir(module_name,fname)
182146

@@ -242,72 +206,27 @@ def test_incremental_backup_corrupt_full(self):
242206
self.del_test_dir(module_name,fname)
243207

244208
# @unittest.skip("skip")
245-
deftest_ptrack_threads(self):
246-
"""ptrack multi thread backup mode"""
247-
ifnotself.ptrack:
248-
returnunittest.skip('Skipped because ptrack support is disabled')
249-
250-
fname=self.id().split('.')[3]
251-
node=self.make_simple_node(
252-
base_dir=os.path.join(module_name,fname,'node'),
253-
initdb_params=['--data-checksums'],
254-
ptrack_enable=True)
255-
256-
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
257-
self.init_pb(backup_dir)
258-
self.add_instance(backup_dir,'node',node)
259-
self.set_archiving(backup_dir,'node',node)
260-
node.slow_start()
261-
262-
ifnode.major_version>=12:
263-
node.safe_psql(
264-
"postgres",
265-
"CREATE EXTENSION ptrack")
266-
267-
self.backup_node(
268-
backup_dir,'node',node,
269-
backup_type="full",options=["-j","4"])
270-
self.assertEqual(self.show_pb(backup_dir,'node')[0]['status'],"OK")
271-
272-
self.backup_node(
273-
backup_dir,'node',node,
274-
backup_type="ptrack",options=["-j","4"])
275-
self.assertEqual(self.show_pb(backup_dir,'node')[0]['status'],"OK")
276-
277-
# Clean after yourself
278-
self.del_test_dir(module_name,fname)
279-
280-
# @unittest.skip("skip")
281-
deftest_ptrack_threads_stream(self):
282-
"""ptrack multi thread backup mode and stream"""
283-
ifnotself.ptrack:
284-
returnunittest.skip('Skipped because ptrack support is disabled')
285-
209+
deftest_delta_threads_stream(self):
210+
"""delta multi thread backup mode and stream"""
286211
fname=self.id().split('.')[3]
287212
node=self.make_simple_node(
288213
base_dir=os.path.join(module_name,fname,'node'),
289214
set_replication=True,
290-
initdb_params=['--data-checksums'],
291-
ptrack_enable=True)
215+
initdb_params=['--data-checksums'])
292216

293217
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
294218
self.init_pb(backup_dir)
295219
self.add_instance(backup_dir,'node',node)
296220
node.slow_start()
297221

298-
ifnode.major_version>=12:
299-
node.safe_psql(
300-
"postgres",
301-
"CREATE EXTENSION ptrack")
302-
303222
self.backup_node(
304223
backup_dir,'node',node,backup_type="full",
305224
options=["-j","4","--stream"])
306225

307226
self.assertEqual(self.show_pb(backup_dir,'node')[0]['status'],"OK")
308227
self.backup_node(
309228
backup_dir,'node',node,
310-
backup_type="ptrack",options=["-j","4","--stream"])
229+
backup_type="delta",options=["-j","4","--stream"])
311230
self.assertEqual(self.show_pb(backup_dir,'node')[1]['status'],"OK")
312231

313232
# Clean after yourself
@@ -1459,76 +1378,6 @@ def test_drop_rel_during_backup_page(self):
14591378
# Clean after yourself
14601379
self.del_test_dir(module_name,fname)
14611380

1462-
# @unittest.skip("skip")
1463-
deftest_drop_rel_during_backup_ptrack(self):
1464-
""""""
1465-
ifnotself.ptrack:
1466-
returnunittest.skip('Skipped because ptrack support is disabled')
1467-
1468-
fname=self.id().split('.')[3]
1469-
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
1470-
node=self.make_simple_node(
1471-
base_dir=os.path.join(module_name,fname,'node'),
1472-
set_replication=True,
1473-
ptrack_enable=self.ptrack,
1474-
initdb_params=['--data-checksums'])
1475-
1476-
self.init_pb(backup_dir)
1477-
self.add_instance(backup_dir,'node',node)
1478-
self.set_archiving(backup_dir,'node',node)
1479-
node.slow_start()
1480-
1481-
ifnode.major_version>=12:
1482-
node.safe_psql(
1483-
"postgres",
1484-
"CREATE EXTENSION ptrack")
1485-
1486-
node.safe_psql(
1487-
"postgres",
1488-
"create table t_heap as select i"
1489-
" as id from generate_series(0,100) i")
1490-
1491-
relative_path=node.safe_psql(
1492-
"postgres",
1493-
"select pg_relation_filepath('t_heap')").decode('utf-8').rstrip()
1494-
1495-
absolute_path=os.path.join(node.data_dir,relative_path)
1496-
1497-
# FULL backup
1498-
self.backup_node(backup_dir,'node',node,options=['--stream'])
1499-
1500-
# PTRACK backup
1501-
gdb=self.backup_node(
1502-
backup_dir,'node',node,backup_type='ptrack',
1503-
gdb=True,options=['--log-level-file=LOG'])
1504-
1505-
gdb.set_breakpoint('backup_files')
1506-
gdb.run_until_break()
1507-
1508-
# REMOVE file
1509-
os.remove(absolute_path)
1510-
1511-
# File removed, we can proceed with backup
1512-
gdb.continue_execution_until_exit()
1513-
1514-
pgdata=self.pgdata_content(node.data_dir)
1515-
1516-
withopen(os.path.join(backup_dir,'log','pg_probackup.log'))asf:
1517-
log_content=f.read()
1518-
self.assertTrue(
1519-
'LOG: File not found: "{0}"'.format(absolute_path)inlog_content,
1520-
'File "{0}" should be deleted but it`s not'.format(absolute_path))
1521-
1522-
node.cleanup()
1523-
self.restore_node(backup_dir,'node',node,options=["-j","4"])
1524-
1525-
# Physical comparison
1526-
pgdata_restored=self.pgdata_content(node.data_dir)
1527-
self.compare_pgdata(pgdata,pgdata_restored)
1528-
1529-
# Clean after yourself
1530-
self.del_test_dir(module_name,fname)
1531-
15321381
# @unittest.skip("skip")
15331382
deftest_persistent_slot_for_stream_backup(self):
15341383
""""""
@@ -1992,10 +1841,11 @@ def test_backup_with_least_privileges_role(self):
19921841
'postgres',
19931842
'CREATE DATABASE backupdb')
19941843

1995-
ifself.ptrackandnode.major_version>=12:
1844+
ifself.ptrack:
19961845
node.safe_psql(
19971846
"backupdb",
1998-
"CREATE EXTENSION ptrack WITH SCHEMA pg_catalog")
1847+
"CREATE SCHEMA ptrack; "
1848+
"CREATE EXTENSION ptrack WITH SCHEMA ptrack")
19991849

20001850
# PG 9.5
20011851
ifself.get_version(node)<90600:
@@ -2105,33 +1955,14 @@ def test_backup_with_least_privileges_role(self):
21051955
)
21061956

21071957
ifself.ptrack:
2108-
ifnode.major_version<12:
2109-
# Reviewer, NB: skip this test in case of old ptrack?
2110-
forfnamein [
2111-
'pg_catalog.oideq(oid, oid)',
2112-
'pg_catalog.ptrack_version()',
2113-
'pg_catalog.pg_ptrack_clear()',
2114-
'pg_catalog.pg_ptrack_control_lsn()',
2115-
'pg_catalog.pg_ptrack_get_and_clear_db(oid, oid)',
2116-
'pg_catalog.pg_ptrack_get_and_clear(oid, oid)',
2117-
'pg_catalog.pg_ptrack_get_block_2(oid, oid, oid, bigint)',
2118-
'pg_catalog.pg_stop_backup()']:
2119-
2120-
node.safe_psql(
2121-
"backupdb",
2122-
"GRANT EXECUTE ON FUNCTION {0} "
2123-
"TO backup".format(fname))
2124-
else:
2125-
fnames= [
2126-
'pg_catalog.ptrack_get_pagemapset(pg_lsn)',
2127-
'pg_catalog.ptrack_init_lsn()'
2128-
]
2129-
2130-
forfnameinfnames:
2131-
node.safe_psql(
2132-
"backupdb",
2133-
"GRANT EXECUTE ON FUNCTION {0} "
2134-
"TO backup".format(fname))
1958+
node.safe_psql(
1959+
"backupdb",
1960+
"GRANT USAGE ON SCHEMA ptrack TO backup")
1961+
1962+
node.safe_psql(
1963+
"backupdb",
1964+
"GRANT EXECUTE ON FUNCTION ptrack.ptrack_get_pagemapset(pg_lsn) TO backup; "
1965+
"GRANT EXECUTE ON FUNCTION 'ptrack.ptrack_init_lsn()' TO backup; ")
21351966

21361967
ifProbackupTest.enterprise:
21371968
node.safe_psql(
@@ -2391,7 +2222,7 @@ def test_backup_with_less_privileges_role(self):
23912222
'postgres',
23922223
'CREATE DATABASE backupdb')
23932224

2394-
ifself.ptrackandnode.major_version>=12:
2225+
ifself.ptrack:
23952226
node.safe_psql(
23962227
'backupdb',
23972228
'CREATE EXTENSION ptrack')

‎tests/cfs_backup.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ def setUp(self):
3535

3636
self.node.slow_start()
3737

38-
ifself.node.major_version>=12:
39-
self.node.safe_psql(
40-
"postgres",
41-
"CREATE EXTENSION ptrack")
38+
self.node.safe_psql(
39+
"postgres",
40+
"CREATE EXTENSION ptrack")
4241

4342
self.create_tblspace_in_node(self.node,tblspace_name,cfs=True)
4443

‎tests/compatibility.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -304,10 +304,9 @@ def test_backward_compatibility_ptrack(self):
304304
self.set_archiving(backup_dir,'node',node,old_binary=True)
305305
node.slow_start()
306306

307-
ifnode.major_version>=12:
308-
node.safe_psql(
309-
"postgres",
310-
"CREATE EXTENSION ptrack")
307+
node.safe_psql(
308+
"postgres",
309+
"CREATE EXTENSION ptrack")
311310

312311
node.pgbench_init(scale=10)
313312

‎tests/delete.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,10 +203,9 @@ def test_delete_increment_ptrack(self):
203203
self.set_archiving(backup_dir,'node',node)
204204
node.slow_start()
205205

206-
ifnode.major_version>=12:
207-
node.safe_psql(
208-
'postgres',
209-
'CREATE EXTENSION ptrack')
206+
node.safe_psql(
207+
'postgres',
208+
'CREATE EXTENSION ptrack')
210209

211210
# full backup mode
212211
self.backup_node(backup_dir,'node',node)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp