Skip to content

Commit 6a6a93d

Browse files
RUST-1495 Sync outstanding server selection updates (#884)
1 parent 914c022 commit 6a6a93d

File tree

14 files changed

+81
-910
lines changed

14 files changed

+81
-910
lines changed

src/test/spec/json/server-selection/logging/load-balanced.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"description": "server-selection-logging",
3-
"schemaVersion": "1.13",
3+
"schemaVersion": "1.14",
44
"runOnRequirements": [
55
{
66
"topologies": [

src/test/spec/json/server-selection/logging/load-balanced.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
description: "server-selection-logging"
22

3-
schemaVersion: "1.13"
3+
schemaVersion: "1.14"
44

55
runOnRequirements:
66
- topologies:
@@ -27,9 +27,7 @@ createEntities:
2727
tests:
2828
- description: "A successful operation - load balanced cluster"
2929
operations:
30-
# ensure we've discovered the entire topology before starting
31-
# to avoid an extra "waiting for server selection" messages
32-
# when the insert begins.
30+
# ensure we've discovered the entire topology before starting.
3331
- name: waitForEvent
3432
object: testRunner
3533
arguments:

src/test/spec/json/server-selection/logging/operation-id.json

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"description": "operation-id",
3-
"schemaVersion": "1.13",
3+
"schemaVersion": "1.14",
44
"runOnRequirements": [
55
{
66
"topologies": [
@@ -22,7 +22,8 @@
2222
"serverSelection": "debug"
2323
},
2424
"observeEvents": [
25-
"serverDescriptionChangedEvent"
25+
"serverDescriptionChangedEvent",
26+
"topologyDescriptionChangedEvent"
2627
]
2728
}
2829
},
@@ -56,13 +57,9 @@
5657
"arguments": {
5758
"client": "client",
5859
"event": {
59-
"serverDescriptionChangedEvent": {
60-
"newDescription": {
61-
"type": "Standalone"
62-
}
63-
}
60+
"topologyDescriptionChangedEvent": {}
6461
},
65-
"count": 1
62+
"count": 2
6663
}
6764
},
6865
{

src/test/spec/json/server-selection/logging/operation-id.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
description: "operation-id"
22

3-
schemaVersion: "1.13"
3+
schemaVersion: "1.14"
44

55
runOnRequirements:
66
- topologies:
@@ -18,6 +18,7 @@ createEntities:
1818
serverSelection: debug
1919
observeEvents:
2020
- serverDescriptionChangedEvent
21+
- topologyDescriptionChangedEvent
2122
- database:
2223
id: &database database
2324
client: *client
@@ -34,15 +35,14 @@ tests:
3435
operations:
3536
# ensure we've discovered the server so it is immediately available
3637
# and no extra "waiting for suitable server" messages are emitted.
38+
# expected topology events reflect initial server discovery and server connect event.
3739
- name: waitForEvent
3840
object: testRunner
3941
arguments:
4042
client: *client
4143
event:
42-
serverDescriptionChangedEvent:
43-
newDescription:
44-
type: Standalone
45-
count: 1
44+
topologyDescriptionChangedEvent: {}
45+
count: 2
4646
- name: bulkWrite
4747
object: *collection
4848
arguments:

src/test/spec/json/server-selection/logging/replica-set.json

Lines changed: 16 additions & 194 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"description": "replica-set-logging",
3-
"schemaVersion": "1.13",
3+
"schemaVersion": "1.14",
44
"runOnRequirements": [
55
{
66
"topologies": [
@@ -21,7 +21,8 @@
2121
"serverSelection": "debug"
2222
},
2323
"observeEvents": [
24-
"serverDescriptionChangedEvent"
24+
"serverDescriptionChangedEvent",
25+
"topologyDescriptionChangedEvent"
2526
]
2627
}
2728
},
@@ -72,13 +73,9 @@
7273
"arguments": {
7374
"client": "client",
7475
"event": {
75-
"serverDescriptionChangedEvent": {
76-
"newDescription": {
77-
"type": "RSPrimary"
78-
}
79-
}
76+
"topologyDescriptionChangedEvent": {}
8077
},
81-
"count": 1
78+
"count": 4
8279
}
8380
},
8481
{
@@ -143,161 +140,29 @@
143140
"minServerVersion": "4.0"
144141
}
145142
],
146-
"operations": [
147-
{
148-
"name": "find",
149-
"object": "unsatisfiableRPColl",
150-
"arguments": {
151-
"filter": {
152-
"x": 1
153-
}
154-
},
155-
"expectError": {
156-
"isClientError": true
157-
}
158-
}
159-
],
160-
"expectLogMessages": [
161-
{
162-
"client": "client",
163-
"messages": [
164-
{
165-
"level": "debug",
166-
"component": "serverSelection",
167-
"data": {
168-
"message": "Server selection started",
169-
"selector": {
170-
"$$exists": true
171-
},
172-
"operation": "find",
173-
"topologyDescription": {
174-
"$$exists": true
175-
}
176-
}
177-
},
178-
{
179-
"level": "info",
180-
"component": "serverSelection",
181-
"data": {
182-
"message": "Waiting for suitable server to become available",
183-
"selector": {
184-
"$$exists": true
185-
},
186-
"operation": "find",
187-
"topologyDescription": {
188-
"$$exists": true
189-
},
190-
"remainingTimeMS": {
191-
"$$type": [
192-
"int",
193-
"long"
194-
]
195-
}
196-
}
197-
},
198-
{
199-
"level": "debug",
200-
"component": "serverSelection",
201-
"data": {
202-
"message": "Server selection failed",
203-
"selector": {
204-
"$$exists": true
205-
},
206-
"operation": "find",
207-
"topologyDescription": {
208-
"$$exists": true
209-
},
210-
"failure": {
211-
"$$exists": true
212-
}
213-
}
214-
}
215-
]
216-
}
217-
]
218-
},
219-
{
220-
"description": "Waiting message is logged when a suitable server is not immediately available",
221-
"runOnRequirements": [
222-
{
223-
"minServerVersion": "4.0"
224-
}
225-
],
226143
"operations": [
227144
{
228145
"name": "waitForEvent",
229146
"object": "testRunner",
230147
"arguments": {
231148
"client": "client",
232149
"event": {
233-
"serverDescriptionChangedEvent": {
234-
"newDescription": {
235-
"type": "RSPrimary"
236-
}
237-
}
150+
"topologyDescriptionChangedEvent": {}
238151
},
239-
"count": 1
240-
}
241-
},
242-
{
243-
"name": "failPoint",
244-
"object": "testRunner",
245-
"arguments": {
246-
"client": "failPointClient",
247-
"failPoint": {
248-
"configureFailPoint": "failCommand",
249-
"mode": {
250-
"times": 1
251-
},
252-
"data": {
253-
"failCommands": [
254-
"insert"
255-
],
256-
"closeConnection": true
257-
}
258-
}
152+
"count": 4
259153
}
260154
},
261155
{
262-
"name": "insertOne",
263-
"object": "collection",
156+
"name": "find",
157+
"object": "unsatisfiableRPColl",
264158
"arguments": {
265-
"document": {
159+
"filter": {
266160
"x": 1
267161
}
268162
},
269163
"expectError": {
270164
"isClientError": true
271165
}
272-
},
273-
{
274-
"name": "waitForEvent",
275-
"object": "testRunner",
276-
"arguments": {
277-
"client": "client",
278-
"event": {
279-
"serverDescriptionChangedEvent": {
280-
"newDescription": {
281-
"type": "Unknown"
282-
}
283-
}
284-
},
285-
"count": 1
286-
}
287-
},
288-
{
289-
"name": "updateOne",
290-
"object": "collection",
291-
"arguments": {
292-
"filter": {
293-
"x": 1
294-
},
295-
"update": {
296-
"$set": {
297-
"y": 1
298-
}
299-
}
300-
}
301166
}
302167
],
303168
"expectLogMessages": [
@@ -312,44 +177,7 @@
312177
"selector": {
313178
"$$exists": true
314179
},
315-
"operation": "insert",
316-
"topologyDescription": {
317-
"$$exists": true
318-
}
319-
}
320-
},
321-
{
322-
"level": "debug",
323-
"component": "serverSelection",
324-
"data": {
325-
"message": "Server selection succeeded",
326-
"selector": {
327-
"$$exists": true
328-
},
329-
"operation": "insert",
330-
"topologyDescription": {
331-
"$$exists": true
332-
},
333-
"serverHost": {
334-
"$$type": "string"
335-
},
336-
"serverPort": {
337-
"$$type": [
338-
"int",
339-
"long"
340-
]
341-
}
342-
}
343-
},
344-
{
345-
"level": "debug",
346-
"component": "serverSelection",
347-
"data": {
348-
"message": "Server selection started",
349-
"selector": {
350-
"$$exists": true
351-
},
352-
"operation": "update",
180+
"operation": "find",
353181
"topologyDescription": {
354182
"$$exists": true
355183
}
@@ -363,7 +191,7 @@
363191
"selector": {
364192
"$$exists": true
365193
},
366-
"operation": "update",
194+
"operation": "find",
367195
"topologyDescription": {
368196
"$$exists": true
369197
},
@@ -379,22 +207,16 @@
379207
"level": "debug",
380208
"component": "serverSelection",
381209
"data": {
382-
"message": "Server selection succeeded",
210+
"message": "Server selection failed",
383211
"selector": {
384212
"$$exists": true
385213
},
386-
"operation": "update",
214+
"operation": "find",
387215
"topologyDescription": {
388216
"$$exists": true
389217
},
390-
"serverHost": {
391-
"$$type": "string"
392-
},
393-
"serverPort": {
394-
"$$type": [
395-
"int",
396-
"long"
397-
]
218+
"failure": {
219+
"$$exists": true
398220
}
399221
}
400222
}

0 commit comments

Comments
 (0)