Skip to content

Commit 671ffc8

Browse files
authored
fixed unstable viewer test (#23343)
1 parent 2a49f55 commit 671ffc8

File tree

2 files changed

+128
-122
lines changed

2 files changed

+128
-122
lines changed

ydb/core/viewer/tests/canondata/result.json

Lines changed: 86 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,82 @@
11
{
22
"test.test_async_replication_describe": {
3-
"connection_params": {
4-
"connection_string": "text",
5-
"database": "/Root/dedicated_db",
6-
"endpoint": "text",
7-
"oauth": {}
8-
},
9-
"error": {
10-
"issues": [
11-
{
12-
"message": "Discovery error: /Root/dedicated_db/TableNotExists: SCHEME_ERROR ({ <main>: Error: Path not found })",
13-
"severity": 1
14-
}
15-
]
3+
"create_result": {
4+
"version": 9
165
},
17-
"row_consistency": {},
18-
"self": {
19-
"created_at": {
20-
"plan_step": "not-zero-number-text",
21-
"tx_id": "not-zero-number-text"
6+
"describe_result": {
7+
"connection_params": {
8+
"connection_string": "text",
9+
"database": "/Root/dedicated_db",
10+
"endpoint": "text",
11+
"oauth": {}
2212
},
23-
"effective_permissions": [
24-
{
25-
"permission_names": [
26-
"ydb.database.connect"
27-
],
28-
"subject": "USERS"
29-
},
30-
{
31-
"permission_names": [
32-
"ydb.generic.list"
33-
],
34-
"subject": "METADATA-READERS"
35-
},
36-
{
37-
"permission_names": [
38-
"ydb.granular.select_row"
39-
],
40-
"subject": "DATA-READERS"
41-
},
42-
{
43-
"permission_names": [
44-
"ydb.tables.modify"
45-
],
46-
"subject": "DATA-WRITERS"
47-
},
48-
{
49-
"permission_names": [
50-
"ydb.granular.create_directory",
51-
"ydb.granular.write_attributes",
52-
"ydb.granular.create_table",
53-
"ydb.granular.remove_schema",
54-
"ydb.granular.create_queue",
55-
"ydb.granular.alter_schema"
56-
],
57-
"subject": "DDL-ADMINS"
58-
},
59-
{
60-
"permission_names": [
61-
"ydb.access.grant"
62-
],
63-
"subject": "ACCESS-ADMINS"
13+
"error": {
14+
"issues": [
15+
{
16+
"message": "Discovery error: /Root/dedicated_db/TableNotExists: SCHEME_ERROR ({ <main>: Error: Path not found })",
17+
"severity": 1
18+
}
19+
]
20+
},
21+
"row_consistency": {},
22+
"self": {
23+
"created_at": {
24+
"plan_step": "not-zero-number-text",
25+
"tx_id": "not-zero-number-text"
6426
},
65-
{
66-
"permission_names": [
67-
"ydb.generic.manage"
68-
],
69-
"subject": "DATABASE-ADMINS"
70-
}
71-
],
72-
"name": "TestAsyncReplication",
73-
"owner": "root@builtin",
74-
"type": "REPLICATION"
27+
"effective_permissions": [
28+
{
29+
"permission_names": [
30+
"ydb.database.connect"
31+
],
32+
"subject": "USERS"
33+
},
34+
{
35+
"permission_names": [
36+
"ydb.generic.list"
37+
],
38+
"subject": "METADATA-READERS"
39+
},
40+
{
41+
"permission_names": [
42+
"ydb.granular.select_row"
43+
],
44+
"subject": "DATA-READERS"
45+
},
46+
{
47+
"permission_names": [
48+
"ydb.tables.modify"
49+
],
50+
"subject": "DATA-WRITERS"
51+
},
52+
{
53+
"permission_names": [
54+
"ydb.granular.create_directory",
55+
"ydb.granular.write_attributes",
56+
"ydb.granular.create_table",
57+
"ydb.granular.remove_schema",
58+
"ydb.granular.create_queue",
59+
"ydb.granular.alter_schema"
60+
],
61+
"subject": "DDL-ADMINS"
62+
},
63+
{
64+
"permission_names": [
65+
"ydb.access.grant"
66+
],
67+
"subject": "ACCESS-ADMINS"
68+
},
69+
{
70+
"permission_names": [
71+
"ydb.generic.manage"
72+
],
73+
"subject": "DATABASE-ADMINS"
74+
}
75+
],
76+
"name": "TestAsyncReplication",
77+
"owner": "root@builtin",
78+
"type": "REPLICATION"
79+
}
7580
}
7681
},
7782
"test.test_counter": {
@@ -1281,50 +1286,30 @@
12811286
},
12821287
"test.test_topic_data_cdc": {
12831288
"alter": null,
1284-
"insert": {"version": 9},
1285-
"update": {"version": 9},
12861289
"data": {
1290+
"EndOffset": 1,
12871291
"Messages": [
12881292
{
1289-
"Offset": 0,
1290-
"SeqNo": 1,
12911293
"Codec": 0,
12921294
"CreateTimestamp": "not-zero-number",
1293-
"Message": "eyJ1cGRhdGUiOnsibmFtZSI6Im9uZSJ9LCJrZXkiOlsxXX0=",
1294-
"OriginalSize": 35,
1295-
"StorageSize": 35,
1296-
"ProducerId": "not-zero-number-text",
1297-
"TimestampDiff": "number",
1298-
"WriteTimestamp": "not-zero-number"
1299-
},
1300-
{
1301-
"Offset": 1,
1302-
"SeqNo": 2,
1303-
"Codec": 0,
1304-
"CreateTimestamp": "not-zero-number",
1305-
"Message": "eyJ1cGRhdGUiOnsibmFtZSI6InR3byJ9LCJrZXkiOlsyXX0=",
1306-
"OriginalSize": 35,
1307-
"StorageSize": 35,
1308-
"ProducerId": "not-zero-number-text",
1309-
"TimestampDiff": "number",
1310-
"WriteTimestamp": "not-zero-number"
1311-
},
1312-
{
1313-
"Offset": 2,
1314-
"SeqNo": 3,
1315-
"Codec": 0,
1316-
"CreateTimestamp": "not-zero-number",
1317-
"Message": "eyJ1cGRhdGUiOnsibmFtZSI6InRocmVlIn0sImtleSI6WzNdfQ==",
1318-
"OriginalSize": 37,
1319-
"StorageSize": 37,
1295+
"Message": "eyJ1cGRhdGUiOnsibmFtZSI6ImVsbGV2ZW4ifSwia2V5IjpbMTFdfQ==",
1296+
"Offset": 0,
1297+
"OriginalSize": 40,
13201298
"ProducerId": "not-zero-number-text",
1299+
"SeqNo": 1,
1300+
"StorageSize": 40,
13211301
"TimestampDiff": "number",
13221302
"WriteTimestamp": "not-zero-number"
13231303
}
13241304
],
13251305
"StartOffset": 0,
1326-
"EndOffset": 5,
13271306
"Truncated": false
1307+
},
1308+
"insert": {
1309+
"version": 9
1310+
},
1311+
"update": {
1312+
"version": 9
13281313
}
13291314
},
13301315
"test.test_transfer_describe": {

ydb/core/viewer/tests/test.py

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -989,24 +989,30 @@ def replace_values(resp):
989989

990990

991991
def test_topic_data_cdc():
992+
call_viewer("/viewer/query", {
993+
'database': dedicated_db,
994+
'query': 'create table table_test_topic_data_cdc(id int64, name text, primary key(id))',
995+
'schema': 'multi'
996+
})
997+
992998
alter_response = call_viewer("/viewer/query", {
993999
'database': dedicated_db,
994-
'query': "alter table table1 add changefeed updates_feed WITH (FORMAT = 'JSON', MODE = 'UPDATES', INITIAL_SCAN = TRUE)"
1000+
'query': "alter table table_test_topic_data_cdc add changefeed updates_feed WITH (FORMAT = 'JSON', MODE = 'UPDATES', INITIAL_SCAN = TRUE)"
9951001
})
9961002

9971003
insert_response = call_viewer("/viewer/query", {
9981004
'database': dedicated_db,
999-
'query': 'insert into table1(id, name) values(11, "elleven")',
1005+
'query': 'insert into table_test_topic_data_cdc(id, name) values(11, "elleven")',
10001006
'schema': 'multi'
10011007
})
10021008

10031009
update_response = call_viewer("/viewer/query", {
10041010
'database': dedicated_db,
1005-
'query': "update table1 set name = 'ONE' where id = 1",
1011+
'query': "update table_test_topic_data_cdc set name = 'ONE' where id = 1",
10061012
'schema': 'multi'
10071013
})
10081014

1009-
topic_path = '{}/table1/updates_feed'.format(dedicated_db)
1015+
topic_path = '{}/table_test_topic_data_cdc/updates_feed'.format(dedicated_db)
10101016
data_response = call_viewer("/viewer/topic_data", {
10111017
'database': dedicated_db,
10121018
'path': topic_path,
@@ -1029,49 +1035,64 @@ def test_async_replication_describe():
10291035
grpc_port = cluster.nodes[1].grpc_port
10301036
endpoint = "grpc://localhost:{}/?database={}".format(grpc_port, dedicated_db)
10311037

1032-
call_viewer("/viewer/query", {
1038+
create_result = get_viewer_normalized("/viewer/query", {
10331039
'database': dedicated_db,
10341040
'query': 'CREATE ASYNC REPLICATION `TestAsyncReplication` FOR `TableNotExists` AS `TargetAsyncReplicationTable` WITH (CONNECTION_STRING = "{}")'.format(endpoint),
10351041
'schema': 'multi'
10361042
})
10371043

1038-
result = get_viewer_normalized("/viewer/describe_replication", {
1039-
'database': dedicated_db,
1040-
'path': '{}/TestAsyncReplication'.format(dedicated_db),
1041-
'include_stats': 'true',
1042-
'enums': 'true'
1043-
})
1044+
for i in range(60):
1045+
describe_result = get_viewer_normalized("/viewer/describe_replication", {
1046+
'database': dedicated_db,
1047+
'path': '{}/TestAsyncReplication'.format(dedicated_db),
1048+
'include_stats': 'true',
1049+
'enums': 'true'
1050+
})
10441051

1045-
return result
1052+
if "error" in describe_result:
1053+
break
1054+
1055+
time.sleep(1)
1056+
1057+
return {
1058+
'create_result': create_result,
1059+
'describe_result': describe_result
1060+
}
10461061

10471062

10481063
def test_transfer_describe():
1049-
topic_result = call_viewer("/viewer/query", {
1064+
topic_result = get_viewer_normalized("/viewer/query", {
10501065
'database': dedicated_db,
10511066
'query': 'CREATE TOPIC TestTransferSourceTopic (CONSUMER OurConsumer)',
10521067
'schema': 'multi'
10531068
})
10541069

1055-
table_result = call_viewer("/viewer/query", {
1070+
table_result = get_viewer_normalized("/viewer/query", {
10561071
'database': dedicated_db,
10571072
'query': 'CREATE TABLE TestTransferDestinationTable (id Uint64 NOT NULL, message String, PRIMARY KEY (id) )',
10581073
'schema': 'multi'
10591074
})
10601075

1061-
transfer_result = call_viewer("/viewer/query", {
1076+
transfer_result = get_viewer_normalized("/viewer/query", {
10621077
'database': dedicated_db,
10631078
'query': '''CREATE TRANSFER `TestTransfer` FROM `TestTransferSourceTopic` TO `TestTransferDestinationTable`
10641079
USING ($x) -> { return [<| id: $x._offset, message: $x._data |>]; }
10651080
WITH (CONSUMER='OurConsumer')''',
10661081
'schema': 'multi'
10671082
})
10681083

1069-
describe_result = get_viewer_normalized("/viewer/describe_transfer", {
1070-
'database': dedicated_db,
1071-
'path': '{}/TestTransfer'.format(dedicated_db),
1072-
'include_stats': 'true',
1073-
'enums': 'true'
1074-
})
1084+
for i in range(60):
1085+
describe_result = get_viewer_normalized("/viewer/describe_transfer", {
1086+
'database': dedicated_db,
1087+
'path': '{}/TestTransfer'.format(dedicated_db),
1088+
'include_stats': 'true',
1089+
'enums': 'true'
1090+
})
1091+
1092+
if "running" in describe_result:
1093+
break
1094+
1095+
time.sleep(1)
10751096

10761097
return {
10771098
'topic_result': topic_result,

0 commit comments

Comments
 (0)