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

Commite3a3737

Browse files
committed
Merge branch 'master' into help_messages
2 parents135f86e +1b2784b commite3a3737

17 files changed

+380
-250
lines changed

‎parsexlog.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,8 @@ validate_wal(pgBackup *backup,
249249
if (!xlogexists)
250250
elog(WARNING,"WAL segment \"%s\" is absent",xlogfpath);
251251
elseif (xlogreadfd!=-1)
252-
elog(WARNING,"error was occured during readingWALsegment \"%s\"",
253-
xlogfpath);
252+
elog(ERROR,"PossibleWALCORRUPTION."
253+
"Error has occured during reading WAL segment \"%s\"",xlogfpath);
254254
}
255255

256256
if (!got_endpoint)

‎restore.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ do_restore_or_validate(time_t target_backup_id,
140140
&& !dest_backup)
141141
{
142142
if (current_backup->status!=BACKUP_STATUS_OK)
143-
elog(ERROR,"given backup%sis in %s status",
144-
base36enc(target_backup_id),status2str(current_backup->status));
143+
elog(ERROR,"Backup%shas status: %s",
144+
base36enc(current_backup->status),status2str(current_backup->status));
145145

146146
if (target_tli)
147147
{

‎tests/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
ptrack_vacuum_full,ptrack_vacuum_truncate
99

1010

11-
1211
defload_tests(loader,tests,pattern):
1312
suite=unittest.TestSuite()
1413
suite.addTests(loader.loadTestsFromModule(init_test))
@@ -17,8 +16,8 @@ def load_tests(loader, tests, pattern):
1716
suite.addTests(loader.loadTestsFromModule(backup_test))
1817
suite.addTests(loader.loadTestsFromModule(delete_test))
1918
suite.addTests(loader.loadTestsFromModule(restore_test))
20-
# suite.addTests(loader.loadTestsFromModule(validate_test))
21-
# suite.addTests(loader.loadTestsFromModule(retention_test))
19+
suite.addTests(loader.loadTestsFromModule(validate_test))
20+
suite.addTests(loader.loadTestsFromModule(retention_test))
2221
suite.addTests(loader.loadTestsFromModule(ptrack_clean))
2322
suite.addTests(loader.loadTestsFromModule(ptrack_cluster))
2423
suite.addTests(loader.loadTestsFromModule(ptrack_move_to_tablespace))

‎tests/option_test.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,10 @@ def test_options_4(self):
133133
withopen(path.join(self.backup_dir(node),"pg_probackup.conf"),"a")asconf:
134134
conf.write("retention-redundancy=1\n")
135135

136-
# TODO AFTER PGPRO-505
137-
# self.assertEqual(
138-
# self.retention_show(node, ["--redundancy", "2"]),
139-
# six.b("# retention policy\nREDUNDANCY=2\n")
140-
# )
136+
self.assertEqual(
137+
self.show_config(node)['retention-redundancy'],
138+
six.b('1')
139+
)
141140

142141
# User cannot send --system-identifier parameter via command line
143142
try:

‎tests/ptrack_clean.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def test_ptrack_clean(self):
4444
# get path to heap and index files
4545
idx_ptrack[i]['path']=self.get_fork_path(node,i)
4646
# get ptrack for every idx
47-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
47+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
4848
idx_ptrack[i]['path'],idx_ptrack[i]['size'])
4949
self.check_ptrack_clean(idx_ptrack[i],idx_ptrack[i]['size'])
5050

@@ -61,7 +61,7 @@ def test_ptrack_clean(self):
6161
# update path to heap and index files in case they`ve changed
6262
idx_ptrack[i]['path']=self.get_fork_path(node,i)
6363
# # get ptrack for every idx
64-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
64+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6565
idx_ptrack[i]['path'],idx_ptrack[i]['size'])
6666
# check that ptrack bits are cleaned
6767
self.check_ptrack_clean(idx_ptrack[i],idx_ptrack[i]['size'])
@@ -80,7 +80,7 @@ def test_ptrack_clean(self):
8080
# update path to heap and index files in case they`ve changed
8181
idx_ptrack[i]['path']=self.get_fork_path(node,i)
8282
# # get ptrack for every idx
83-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
83+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
8484
idx_ptrack[i]['path'],idx_ptrack[i]['size'])
8585
# check that ptrack bits are cleaned
8686
self.check_ptrack_clean(idx_ptrack[i],idx_ptrack[i]['size'])

‎tests/ptrack_cluster.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def test_ptrack_cluster_btree(self):
6262
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
6363
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6464
# get ptrack for every idx
65-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
65+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6666
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6767

6868
# compare pages and check ptrack sanity
@@ -121,7 +121,7 @@ def test_ptrack_cluster_spgist(self):
121121
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
122122
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
123123
# get ptrack for every idx
124-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
124+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
125125
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
126126

127127
# compare pages and check ptrack sanity
@@ -180,7 +180,7 @@ def test_ptrack_cluster_brin(self):
180180
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
181181
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
182182
# get ptrack for every idx
183-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
183+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
184184
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
185185

186186
# compare pages and check ptrack sanity
@@ -239,7 +239,7 @@ def test_ptrack_cluster_gist(self):
239239
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
240240
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
241241
# get ptrack for every idx
242-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
242+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
243243
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
244244

245245
# compare pages and check ptrack sanity
@@ -298,7 +298,7 @@ def test_ptrack_cluster_gin(self):
298298
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
299299
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
300300
# get ptrack for every idx
301-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
301+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
302302
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
303303

304304
# compare pages and check ptrack sanity

‎tests/ptrack_helpers.py

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ def make_bnode(self, base_dir=None, allows_streaming=False, options={}):
172172

173173
returnnode
174174

175+
# def print_started(self, fname):
176+
# print
175177

176178
defmake_simple_node(self,base_dir=None,set_replication=False,
177179
set_archiving=False,initdb_params=[],pg_options={}):
@@ -234,23 +236,21 @@ def get_md5_per_page_for_fork(self, file, size):
234236
os.close(file)
235237
returnmd5_per_page
236238

237-
defget_ptrack_bits_per_for_fork(self,file,size):
239+
defget_ptrack_bits_per_page_for_fork(self,file,size):
240+
ptrack_bits_for_fork= []
238241
byte_size=os.path.getsize(file+'_ptrack')
239242
byte_size_minus_header=byte_size-24
240243
file=os.open(file+'_ptrack',os.O_RDONLY)
241244
os.lseek(file,24,0)
242245
lot_of_bytes=os.read(file,byte_size_minus_header)
243-
ptrack_bits_per_for_fork= []
244246
forbyteinlot_of_bytes:
245247
byte_inverted=bin(ord(byte))[2:].rjust(8,'0')[::-1]
246248
# byte_to_bits = (byte >> x) & 1 for x in range(7, -1, -1)
247249
forbitinbyte_inverted:
248-
whilelen(ptrack_bits_per_for_fork)!=size:
249-
ptrack_bits_per_for_fork.append(int(bit))
250-
# print 'Size: {}'.format(size)
251-
# print ptrack_bits_per_for_fork
250+
iflen(ptrack_bits_for_fork)<size:
251+
ptrack_bits_for_fork.append(int(bit))
252252
os.close(file)
253-
returnptrack_bits_per_for_fork
253+
returnptrack_bits_for_fork
254254

255255
defcheck_ptrack_sanity(self,idx_dict):
256256
success=True
@@ -284,7 +284,7 @@ def check_ptrack_sanity(self, idx_dict):
284284
PageNum,idx_dict['type'],idx_dict['ptrack'][PageNum])
285285
printidx_dict
286286
ifPageNum==0andidx_dict['type']=='spgist':
287-
print'SPGIST is a specialshowflake, so don`tfreat about losing ptrack for blknum 0'
287+
print'SPGIST is a specialsnowflake, so don`tfret about losing ptrack for blknum 0'
288288
continue
289289
success=False
290290
else:
@@ -468,19 +468,26 @@ def delete_pb(self, node, id=None, options=[]):
468468
# print(cmd_list)
469469
returnself.run_pb(cmd_list+options)
470470

471-
defretention_purge_pb(self,node,options=[]):
471+
defdelete_expired(self,node,options=[]):
472472
cmd_list= [
473-
"retention","purge",
473+
"delete","--expired",
474474
"-B",self.backup_dir(node),
475475
]
476476
returnself.run_pb(cmd_list+options)
477477

478-
defretention_show(self,node,options=[]):
478+
defshow_config(self,node):
479+
out_dict= {}
479480
cmd_list= [
480-
"config",
481+
"show-config",
481482
"-B",self.backup_dir(node),
482483
]
483-
returnself.run_pb(cmd_list+options)
484+
res=self.run_pb(cmd_list).splitlines()
485+
forlineinres:
486+
ifnotline.startswith('#'):
487+
name,var=line.partition(" = ")[::2]
488+
out_dict[name]=var
489+
returnout_dict
490+
484491

485492
defget_recovery_conf(self,node):
486493
out_dict= {}

‎tests/ptrack_move_to_tablespace.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def test_ptrack_recovery(self):
4848
# get path to heap and index files
4949
idx_ptrack[i]['path']=self.get_fork_path(node,i)
5050
# get ptrack for every idx
51-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
51+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
5252
idx_ptrack[i]['path'],idx_ptrack[i]['size'])
5353
# check that ptrack has correct bits after recovery
5454
self.check_ptrack_recovery(idx_ptrack[i])

‎tests/ptrack_recovery.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def test_ptrack_recovery(self):
5050

5151
foriinidx_ptrack:
5252
# get ptrack for every idx
53-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
53+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
5454
idx_ptrack[i]['path'],idx_ptrack[i]['size'])
5555
# check that ptrack has correct bits after recovery
5656
self.check_ptrack_recovery(idx_ptrack[i])

‎tests/ptrack_vacuum.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,8 @@
11
importunittest
22
fromsysimportexit
33
fromtestgresimportget_new_node,stop_all
4-
#import os
5-
fromosimportpath,open,lseek,read,close,O_RDONLY
64
from .ptrack_helpersimportProbackupTest,idx_ptrack
75

8-
# res = node.execute('postgres', 'show fsync')
9-
# print res[0][0]
10-
# res = node.execute('postgres', 'show wal_level')
11-
# print res[0][0]
12-
# a = ProbackupTest
13-
# res = node.execute('postgres', 'select 1')`
14-
# self.assertEqual(len(res), 1)
15-
# self.assertEqual(res[0][0], 1)
16-
# node.stop()
17-
# a = self.backup_dir(node)
18-
196

207
classSimpleTest(ProbackupTest,unittest.TestCase):
218
def__init__(self,*args,**kwargs):
@@ -63,7 +50,7 @@ def test_ptrack_vacuum(self):
6350
self.init_pb(node)
6451
self.backup_pb(node,backup_type='full',options=['-j100','--stream'])
6552
foriinidx_ptrack:
66-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
53+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6754
idx_ptrack[i]['path'],idx_ptrack[i]['old_size'])
6855
self.check_ptrack_clean(idx_ptrack[i],idx_ptrack[i]['old_size'])
6956

@@ -81,7 +68,7 @@ def test_ptrack_vacuum(self):
8168
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
8269
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
8370
# get ptrack for every idx
84-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
71+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
8572
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
8673

8774
# compare pages and check ptrack sanity

‎tests/ptrack_vacuum_bits_frozen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def test_ptrack_vacuum_bits_frozen(self):
5959
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
6060
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6161
# get ptrack for every idx
62-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
62+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6363
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6464

6565
# compare pages and check ptrack sanity

‎tests/ptrack_vacuum_bits_visibility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def test_ptrack_vacuum_bits_visibility(self):
5959
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
6060
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6161
# get ptrack for every idx
62-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
62+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6363
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6464

6565
# compare pages and check ptrack sanity

‎tests/ptrack_vacuum_full.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ def teardown(self):
2626
stop_all()
2727

2828
deftest_ptrack_vacuum_full(self):
29-
print'test_ptrack_vacuum_full started'
30-
node=self.make_simple_node(base_dir="tmp_dirs/ptrack/test_ptrack_vacuum_full",
29+
fname=self.id().split('.')[3]
30+
print'{0} started'.format(fname)
31+
node=self.make_simple_node(base_dir='tmp_dirs/ptrack/{0}'.format(fname),
3132
set_replication=True,
3233
initdb_params=['--data-checksums','-A trust'],
3334
pg_options={'ptrack_enable':'on','wal_level':'replica','max_wal_senders':'2'})
@@ -73,7 +74,7 @@ def test_ptrack_vacuum_full(self):
7374
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
7475
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
7576
# get ptrack for every idx
76-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
77+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
7778
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
7879

7980
# compare pages and check ptrack sanity, the most important part

‎tests/ptrack_vacuum_truncate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def test_ptrack_vacuum_truncate(self):
6161
idx_ptrack[i]['new_pages']=self.get_md5_per_page_for_fork(
6262
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6363
# get ptrack for every idx
64-
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_for_fork(
64+
idx_ptrack[i]['ptrack']=self.get_ptrack_bits_per_page_for_fork(
6565
idx_ptrack[i]['path'],idx_ptrack[i]['new_size'])
6666

6767
# compare pages and check ptrack sanity

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp