Skip to content

Commit 32f1d30

Browse files
authored
CSHARP-4347: Add log messages to Server selection spec (#1103)
1 parent 19f41f1 commit 32f1d30

File tree

77 files changed

+2515
-124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+2515
-124
lines changed
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
{
2+
"description": "server-selection-logging",
3+
"schemaVersion": "1.14",
4+
"runOnRequirements": [
5+
{
6+
"topologies": [
7+
"load-balanced"
8+
]
9+
}
10+
],
11+
"createEntities": [
12+
{
13+
"client": {
14+
"id": "client",
15+
"uriOptions": {
16+
"heartbeatFrequencyMS": 500
17+
},
18+
"observeLogMessages": {
19+
"serverSelection": "debug"
20+
},
21+
"observeEvents": [
22+
"serverDescriptionChangedEvent"
23+
]
24+
}
25+
},
26+
{
27+
"database": {
28+
"id": "database",
29+
"client": "client",
30+
"databaseName": "logging-tests"
31+
}
32+
},
33+
{
34+
"collection": {
35+
"id": "collection",
36+
"database": "database",
37+
"collectionName": "server-selection"
38+
}
39+
}
40+
],
41+
"tests": [
42+
{
43+
"description": "A successful operation - load balanced cluster",
44+
"operations": [
45+
{
46+
"name": "waitForEvent",
47+
"object": "testRunner",
48+
"arguments": {
49+
"client": "client",
50+
"event": {
51+
"serverDescriptionChangedEvent": {
52+
"newDescription": {
53+
"type": "LoadBalancer"
54+
}
55+
}
56+
},
57+
"count": 1
58+
}
59+
},
60+
{
61+
"name": "insertOne",
62+
"object": "collection",
63+
"arguments": {
64+
"document": {
65+
"x": 1
66+
}
67+
}
68+
}
69+
],
70+
"expectLogMessages": [
71+
{
72+
"client": "client",
73+
"messages": [
74+
{
75+
"level": "debug",
76+
"component": "serverSelection",
77+
"data": {
78+
"message": "Server selection started",
79+
"selector": {
80+
"$$exists": true
81+
},
82+
"operation": "insert",
83+
"topologyDescription": {
84+
"$$exists": true
85+
}
86+
}
87+
},
88+
{
89+
"level": "debug",
90+
"component": "serverSelection",
91+
"data": {
92+
"message": "Server selection succeeded",
93+
"selector": {
94+
"$$exists": true
95+
},
96+
"operation": "insert",
97+
"topologyDescription": {
98+
"$$exists": true
99+
}
100+
}
101+
}
102+
]
103+
}
104+
]
105+
}
106+
]
107+
}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
description: "server-selection-logging"
2+
3+
schemaVersion: "1.14"
4+
5+
runOnRequirements:
6+
- topologies:
7+
- load-balanced
8+
9+
createEntities:
10+
- client:
11+
id: &client client
12+
uriOptions:
13+
heartbeatFrequencyMS: 500
14+
observeLogMessages:
15+
serverSelection: debug
16+
observeEvents:
17+
- serverDescriptionChangedEvent
18+
- database:
19+
id: &database database
20+
client: *client
21+
databaseName: &databaseName logging-tests
22+
- collection:
23+
id: &collection collection
24+
database: *database
25+
collectionName: &collectionName server-selection
26+
27+
tests:
28+
- description: "A successful operation - load balanced cluster"
29+
operations:
30+
# ensure we've discovered the entire topology before starting.
31+
- name: waitForEvent
32+
object: testRunner
33+
arguments:
34+
client: *client
35+
event:
36+
serverDescriptionChangedEvent:
37+
newDescription:
38+
type: LoadBalancer
39+
count: 1
40+
- name: insertOne
41+
object: *collection
42+
arguments:
43+
document: { x : 1 }
44+
expectLogMessages:
45+
- client: *client
46+
messages:
47+
- level: debug
48+
component: serverSelection
49+
data:
50+
message: "Server selection started"
51+
selector: { $$exists: true }
52+
operation: insert
53+
topologyDescription: { $$exists: true }
54+
- level: debug
55+
component: serverSelection
56+
data:
57+
message: "Server selection succeeded"
58+
selector: { $$exists: true }
59+
operation: insert
60+
topologyDescription: { $$exists: true }
Lines changed: 229 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
{
2+
"description": "operation-id",
3+
"schemaVersion": "1.14",
4+
"runOnRequirements": [
5+
{
6+
"topologies": [
7+
"single"
8+
]
9+
}
10+
],
11+
"createEntities": [
12+
{
13+
"client": {
14+
"id": "client",
15+
"uriOptions": {
16+
"retryWrites": false,
17+
"heartbeatFrequencyMS": 500,
18+
"appName": "loggingClient",
19+
"serverSelectionTimeoutMS": 2000
20+
},
21+
"observeLogMessages": {
22+
"serverSelection": "debug"
23+
},
24+
"observeEvents": [
25+
"serverDescriptionChangedEvent",
26+
"topologyDescriptionChangedEvent"
27+
]
28+
}
29+
},
30+
{
31+
"database": {
32+
"id": "database",
33+
"client": "client",
34+
"databaseName": "logging-tests"
35+
}
36+
},
37+
{
38+
"collection": {
39+
"id": "collection",
40+
"database": "database",
41+
"collectionName": "server-selection"
42+
}
43+
},
44+
{
45+
"client": {
46+
"id": "failPointClient"
47+
}
48+
}
49+
],
50+
"tests": [
51+
{
52+
"description": "Successful bulkWrite operation: log messages have operationIds",
53+
"operations": [
54+
{
55+
"name": "waitForEvent",
56+
"object": "testRunner",
57+
"arguments": {
58+
"client": "client",
59+
"event": {
60+
"topologyDescriptionChangedEvent": {}
61+
},
62+
"count": 2
63+
}
64+
},
65+
{
66+
"name": "bulkWrite",
67+
"object": "collection",
68+
"arguments": {
69+
"requests": [
70+
{
71+
"insertOne": {
72+
"document": {
73+
"x": 1
74+
}
75+
}
76+
}
77+
]
78+
}
79+
}
80+
],
81+
"expectLogMessages": [
82+
{
83+
"client": "client",
84+
"messages": [
85+
{
86+
"level": "debug",
87+
"component": "serverSelection",
88+
"data": {
89+
"message": "Server selection started",
90+
"operationId": {
91+
"$$type": [
92+
"int",
93+
"long"
94+
]
95+
},
96+
"operation": "insert"
97+
}
98+
},
99+
{
100+
"level": "debug",
101+
"component": "serverSelection",
102+
"data": {
103+
"message": "Server selection succeeded",
104+
"operationId": {
105+
"$$type": [
106+
"int",
107+
"long"
108+
]
109+
},
110+
"operation": "insert"
111+
}
112+
}
113+
]
114+
}
115+
]
116+
},
117+
{
118+
"description": "Failed bulkWrite operation: log messages have operationIds",
119+
"runOnRequirements": [
120+
{
121+
"minServerVersion": "4.4"
122+
}
123+
],
124+
"operations": [
125+
{
126+
"name": "failPoint",
127+
"object": "testRunner",
128+
"arguments": {
129+
"client": "failPointClient",
130+
"failPoint": {
131+
"configureFailPoint": "failCommand",
132+
"mode": "alwaysOn",
133+
"data": {
134+
"failCommands": [
135+
"hello",
136+
"ismaster"
137+
],
138+
"appName": "loggingClient",
139+
"closeConnection": true
140+
}
141+
}
142+
}
143+
},
144+
{
145+
"name": "waitForEvent",
146+
"object": "testRunner",
147+
"arguments": {
148+
"client": "client",
149+
"event": {
150+
"serverDescriptionChangedEvent": {
151+
"newDescription": {
152+
"type": "Unknown"
153+
}
154+
}
155+
},
156+
"count": 1
157+
}
158+
},
159+
{
160+
"name": "bulkWrite",
161+
"object": "collection",
162+
"arguments": {
163+
"requests": [
164+
{
165+
"insertOne": {
166+
"document": {
167+
"x": 1
168+
}
169+
}
170+
}
171+
]
172+
},
173+
"expectError": {
174+
"isClientError": true
175+
}
176+
}
177+
],
178+
"expectLogMessages": [
179+
{
180+
"client": "client",
181+
"messages": [
182+
{
183+
"level": "debug",
184+
"component": "serverSelection",
185+
"data": {
186+
"message": "Server selection started",
187+
"operationId": {
188+
"$$type": [
189+
"int",
190+
"long"
191+
]
192+
},
193+
"operation": "insert"
194+
}
195+
},
196+
{
197+
"level": "info",
198+
"component": "serverSelection",
199+
"data": {
200+
"message": "Waiting for suitable server to become available",
201+
"operationId": {
202+
"$$type": [
203+
"int",
204+
"long"
205+
]
206+
},
207+
"operation": "insert"
208+
}
209+
},
210+
{
211+
"level": "debug",
212+
"component": "serverSelection",
213+
"data": {
214+
"message": "Server selection failed",
215+
"operationId": {
216+
"$$type": [
217+
"int",
218+
"long"
219+
]
220+
},
221+
"operation": "insert"
222+
}
223+
}
224+
]
225+
}
226+
]
227+
}
228+
]
229+
}

0 commit comments

Comments
 (0)