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

Commit75e5496

Browse files
committed
tests: new test tests.merge.MergeTest.test_merge_page_header_map_retry
1 parent2267d5b commit75e5496

File tree

1 file changed

+55
-6
lines changed

1 file changed

+55
-6
lines changed

‎tests/merge.py‎

Lines changed: 55 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2244,7 +2244,7 @@ def test_merge_multiple_descendants(self):
22442244
repr(e.message),self.cmd))
22452245

22462246
# Clean after yourself
2247-
self.del_test_dir(module_name,fname)
2247+
self.del_test_dir(module_name,fname, [node])
22482248

22492249
# @unittest.skip("skip")
22502250
deftest_smart_merge(self):
@@ -2304,7 +2304,7 @@ def test_smart_merge(self):
23042304
logfile_content=f.read()
23052305

23062306
# Clean after yourself
2307-
self.del_test_dir(module_name,fname)
2307+
self.del_test_dir(module_name,fname, [node])
23082308

23092309
deftest_idempotent_merge(self):
23102310
"""
@@ -2379,8 +2379,7 @@ def test_idempotent_merge(self):
23792379
self.assertEqual(
23802380
page_id_2,self.show_pb(backup_dir,'node')[0]['id'])
23812381

2382-
2383-
self.del_test_dir(module_name,fname)
2382+
self.del_test_dir(module_name,fname, [node])
23842383

23852384
deftest_merge_correct_inheritance(self):
23862385
"""
@@ -2435,7 +2434,7 @@ def test_merge_correct_inheritance(self):
24352434
page_meta['expire-time'],
24362435
self.show_pb(backup_dir,'node',page_id)['expire-time'])
24372436

2438-
self.del_test_dir(module_name,fname)
2437+
self.del_test_dir(module_name,fname, [node])
24392438

24402439
deftest_merge_correct_inheritance_1(self):
24412440
"""
@@ -2485,7 +2484,7 @@ def test_merge_correct_inheritance_1(self):
24852484
'expire-time',
24862485
self.show_pb(backup_dir,'node',page_id))
24872486

2488-
self.del_test_dir(module_name,fname)
2487+
self.del_test_dir(module_name,fname, [node])
24892488

24902489
# @unittest.skip("skip")
24912490
# @unittest.expectedFailure
@@ -2603,6 +2602,56 @@ def test_multi_timeline_merge(self):
26032602
'--amcheck',
26042603
'-d','postgres','-p',str(node_restored.port)])
26052604

2605+
# Clean after yourself
2606+
self.del_test_dir(module_name,fname, [node,node_restored])
2607+
2608+
# @unittest.skip("skip")
2609+
# @unittest.expectedFailure
2610+
deftest_merge_page_header_map_retry(self):
2611+
"""
2612+
page header map cannot be trusted when
2613+
running retry
2614+
"""
2615+
fname=self.id().split('.')[3]
2616+
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
2617+
node=self.make_simple_node(
2618+
base_dir=os.path.join(module_name,fname,'node'),
2619+
set_replication=True,
2620+
initdb_params=['--data-checksums'],
2621+
pg_options={'autovacuum':'off'})
2622+
2623+
self.init_pb(backup_dir)
2624+
self.add_instance(backup_dir,'node',node)
2625+
node.slow_start()
2626+
2627+
node.pgbench_init(scale=20)
2628+
self.backup_node(backup_dir,'node',node,options=['--stream'])
2629+
2630+
pgbench=node.pgbench(options=['-T','10','-c','1','--no-vacuum'])
2631+
pgbench.wait()
2632+
2633+
delta_id=self.backup_node(
2634+
backup_dir,'node',node,
2635+
backup_type='delta',options=['--stream'])
2636+
2637+
pgdata=self.pgdata_content(node.data_dir)
2638+
2639+
gdb=self.merge_backup(backup_dir,'node',delta_id,gdb=True)
2640+
2641+
# our goal here is to get full backup with merged data files,
2642+
# but with old page header map
2643+
gdb.set_breakpoint('cleanup_header_map')
2644+
gdb.run_until_break()
2645+
gdb._execute('signal SIGKILL')
2646+
2647+
self.merge_backup(backup_dir,'node',delta_id)
2648+
2649+
node.cleanup()
2650+
2651+
self.restore_node(backup_dir,'node',node)
2652+
pgdata_restored=self.pgdata_content(node.data_dir)
2653+
self.compare_pgdata(pgdata,pgdata_restored)
2654+
26062655
# Clean after yourself
26072656
self.del_test_dir(module_name,fname)
26082657

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp