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

Commit7e26e18

Browse files
committed
More details in tests
1 parent541386c commit7e26e18

File tree

5 files changed

+41
-25
lines changed

5 files changed

+41
-25
lines changed

‎contrib/mmts/tests2/docker-compose.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,7 @@ services:
1111
environment:
1212
POSTGRES_USER:'pg'
1313
POSTGRES_DB:'regression'
14-
MAJOR:'off'
1514
NODE_ID:1
16-
# CONNSTRS: >-
17-
# dbname=regression user=pg host=node1,
18-
# dbname=regression user=pg host=toxi port=12000 arbiterport=12001,
19-
# dbname=regression user=pg host=toxi port=13000 arbiterport=13001
2015
CONNSTRS:>-
2116
dbname=regression user=pg host=node1,
2217
dbname=regression user=pg host=node2,
@@ -33,12 +28,7 @@ services:
3328
environment:
3429
POSTGRES_USER:'pg'
3530
POSTGRES_DB:'regression'
36-
MAJOR:'off'
3731
NODE_ID:2
38-
# CONNSTRS: >-
39-
# dbname=regression user=pg host=toxi port=21000 arbiterport=21001,
40-
# dbname=regression user=pg host=node2,
41-
# dbname=regression user=pg host=toxi port=23000 arbiterport=23001
4232
CONNSTRS:>-
4333
dbname=regression user=pg host=node1,
4434
dbname=regression user=pg host=node2,
@@ -55,12 +45,7 @@ services:
5545
environment:
5646
POSTGRES_USER:'pg'
5747
POSTGRES_DB:'regression'
58-
MAJOR:'off'
5948
NODE_ID:3
60-
# CONNSTRS: >-
61-
# dbname=regression user=pg host=toxi port=31000 arbiterport=31001,
62-
# dbname=regression user=pg host=toxi port=32000 arbiterport=32001,
63-
# dbname=regression user=pg host=node3
6449
CONNSTRS:>-
6550
dbname=regression user=pg host=node1,
6651
dbname=regression user=pg host=node2,

‎contrib/mmts/tests2/docker-entrypoint.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,9 @@ if [ "$1" = 'postgres' ]; then
6060
log_line_prefix = '%m: '
6161
# log_statement = all
6262
63-
multimaster.workers = 4
64-
multimaster.max_workers = 16
6563
multimaster.max_nodes = 3
66-
multimaster.volkswagen_mode = 1
67-
multimaster.queue_size=52857600
68-
multimaster.ignore_tables_without_pk = 1
64+
# multimaster.volkswagen_mode = 1
65+
# multimaster.ignore_tables_without_pk = 1
6966
multimaster.heartbeat_recv_timeout = 1100
7067
multimaster.heartbeat_send_timeout = 250
7168
multimaster.max_recovery_lag = 1000000000

‎contrib/mmts/tests2/lib/bank_client.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ def exec_tx(self, tx_block, aggname_prefix, conn_i):
207207
ifstatus!=TRANSACTION_STATUS_IDLE:
208208
yieldfromcur.execute('rollback')
209209

210-
yieldfromtx_block(conn,cur,agg)
210+
yieldfromtx_block(conn,cur,agg,conn_i)
211211
agg.finish_tx('commit')
212212

213213
exceptpsycopg2.Errorase:
@@ -231,7 +231,7 @@ def exec_tx(self, tx_block, aggname_prefix, conn_i):
231231
print("We've count to infinity!")
232232

233233
@asyncio.coroutine
234-
deftransfer_tx(self,conn,cur,agg):
234+
deftransfer_tx(self,conn,cur,agg,conn_i):
235235
amount=1
236236
# to avoid deadlocks:
237237
from_uid=random.randint(1,self.n_accounts-2)
@@ -250,14 +250,14 @@ def transfer_tx(self, conn, cur, agg):
250250
yieldfromcur.execute('commit')
251251

252252
@asyncio.coroutine
253-
deftotal_tx(self,conn,cur,agg):
254-
yieldfromcur.execute('select sum(amount)from bank_test')
253+
deftotal_tx(self,conn,cur,agg,conn_i):
254+
yieldfromcur.execute("select sum(amount), count(*), count(uid), current_setting('multimaster.node_id')from bank_test")
255255
total=yieldfromcur.fetchone()
256256
iftotal[0]!=self.total:
257257
agg.isolation+=1
258258
self.total=total[0]
259259
print(self.oops)
260-
print('Isolation error, total = ',total[0])
260+
print(datetime.datetime.utcnow(),'Isolation error, total = ',total,', node ',conn_i+1)
261261
# yield from cur.execute('select * from mtm.get_nodes_state()')
262262
# nodes_state = yield from cur.fetchall()
263263
# for i, col in enumerate(self.nodes_state_fields):

‎contrib/mmts/tests2/test_recovery.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,27 @@ def test_node_crash(self):
169169
self.assertCommits(aggs)
170170
self.assertIsolation(aggs)
171171

172+
deftest_node_bicrash(self):
173+
print('### test_node_bicrash ###')
174+
175+
aggs_failure,aggs=self.performFailure(CrashRecoverNode('node3'))
176+
177+
self.assertCommits(aggs_failure[:2])
178+
self.assertNoCommits(aggs_failure[2:])
179+
self.assertIsolation(aggs_failure)
180+
181+
self.assertCommits(aggs)
182+
self.assertIsolation(aggs)
183+
184+
aggs_failure,aggs=self.performFailure(CrashRecoverNode('node3'))
185+
186+
self.assertCommits(aggs_failure[:2])
187+
self.assertNoCommits(aggs_failure[2:])
188+
self.assertIsolation(aggs_failure)
189+
190+
self.assertCommits(aggs)
191+
self.assertIsolation(aggs)
192+
172193
if__name__=='__main__':
173194
unittest.main()
174195

‎contrib/mmts/tests2/test_referee.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ def setUp(self):
6161
deftearDown(self):
6262
print('Finish test at ',datetime.datetime.utcnow())
6363

64+
deftest_node_crash(self):
65+
print('### test_node_crash ###')
66+
67+
aggs_failure,aggs=self.performFailure(CrashRecoverNode('node2'))
68+
69+
self.assertCommits(aggs_failure[:1])
70+
self.assertNoCommits(aggs_failure[1:])
71+
self.assertIsolation(aggs_failure)
72+
73+
self.assertCommits(aggs)
74+
self.assertIsolation(aggs)
75+
76+
6477
deftest_partition_referee(self):
6578
print('### test_partition_referee ###')
6679

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp