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

Commitfe37141

Browse files
committed
raftable test for node out
1 parentec159fa commitfe37141

File tree

3 files changed

+44
-38
lines changed

3 files changed

+44
-38
lines changed

‎contrib/raftable/tests/lib/bank_client.py‎

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ def start(self):
2525
client.start()
2626

2727
defstop(self):
28-
print('collection stop called',self._clients)
28+
print('Terminating clients')
2929
forclientinself._clients:
30-
print('stop coll')
3130
client.stop()
3231

3332

@@ -52,26 +51,33 @@ def check(self):
5251
value=random.randrange(1,1000000)
5352

5453
event_id=self.history.register_start('setkey')
54+
#print(self.node_id, 'value <- ')
5555
cur.execute("select raftable('rush', '%d', 100)"% (value))
56-
print(self.node_id,'value <- ',value)
56+
#print(self.node_id, 'value <- ', value)
5757
self.history.register_finish(event_id,'commit')
5858

5959
event_id=self.history.register_start('readkey')
60+
#print(self.node_id, 'value -> ')
6061
cur.execute("select raftable('rush')")
6162
value=cur.fetchone()[0]
62-
print(self.node_id,'value -> ',value)
63+
#print(self.node_id, 'value -> ', value)
6364
self.history.register_finish(event_id,'commit')
6465

6566
cur.close()
6667
conn.close()
6768

69+
# we should clear to queue before exit as non-empty queue
70+
# will block join()
71+
self._history.close()
72+
73+
6874
defstart(self):
6975
self.check_process=Process(target=self.check,args=())
7076
self.check_process.start()
7177

7278
defstop(self):
73-
print('Stopping!');
7479
self.run.value=False
75-
self.check_process.join()
80+
self.check_process.terminate()
81+
7682

7783

‎contrib/raftable/tests/lib/event_history.py‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,14 @@ def aggregate(self):
9494
defaggregate_by(self,period):
9595
return
9696

97+
defclose(self):
98+
print('closing queue')
99+
self.queue.close()
100+
print('clearing queue')
101+
self.load_queue()
102+
print('joining queue')
103+
self.queue.cancel_join_thread()
104+
105+
106+
97107

‎contrib/raftable/tests/test_recovery.py‎

Lines changed: 22 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,44 +15,34 @@ def setUp(self):
1515
self.clients.start()
1616

1717
deftearDown(self):
18-
print('tearDown')
1918
self.clients.stop()
2019
subprocess.check_call(['blockade','join'])
2120

2221
deftest_0_normal_operation(self):
2322
print('### normalOpsTest ###')
24-
print('Waiting 10s to check operability')
25-
time.sleep(10)
26-
27-
28-
# def test_1_node_disconnect(self):
29-
# print('### disconnectTest ###')
30-
#
31-
# subprocess.check_call(['blockade','partition','node3'])
32-
# print('Node3 disconnected')
33-
#
34-
# print('Waiting 12s to discover failure')
35-
# time.sleep(12)
36-
# for client in self.clients:
37-
# agg = client.history.aggregate()
38-
# print(agg)
39-
#
40-
# print('Waiting 3s to check operability')
41-
# time.sleep(3)
42-
# for client in self.clients:
43-
# agg = client.history.aggregate()
44-
# print(agg)
45-
#
46-
# subprocess.check_call(['blockade','join'])
47-
# print('Node3 connected back')
48-
#
49-
# print('Waiting 12s for catch-up')
50-
# time.sleep(12)
51-
#
52-
# for client in self.clients:
53-
# agg = client.history.aggregate()
54-
# print(agg)
23+
print('Waiting 5s to check operability')
24+
time.sleep(5)
5525

26+
forclientinself.clients:
27+
agg=client.history.aggregate()
28+
print(agg)
29+
# naively check that we did at least some set ops
30+
self.assertTrue(agg['setkey']['commit']>10)
31+
32+
deftest_1_node_disconnect(self):
33+
print('### disconnectTest ###')
34+
35+
subprocess.check_call(['blockade','partition','node3'])
36+
print('Node3 disconnected')
37+
38+
print('Waiting 5s to discover failure')
39+
time.sleep(5)
40+
41+
forclientinself.clients:
42+
agg=client.history.aggregate()
43+
print(agg)
44+
# check we didn't stuck in set op
45+
self.assertTrue(agg['setkey']['running_latency']<3)
5646

5747
if__name__=='__main__':
5848
unittest.main()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp