1{
2 "description": "replica-set-logging",
3 "schemaVersion": "1.14",
4 "runOnRequirements": [
5 {
6 "topologies": [
7 "replicaset"
8 ]
9 }
10 ],
11 "createEntities": [
12 {
13 "client": {
14 "id": "client",
15 "uriOptions": {
16 "retryWrites": false,
17 "heartbeatFrequencyMS": 500,
18 "serverSelectionTimeoutMS": 2000
19 },
20 "observeLogMessages": {
21 "serverSelection": "debug"
22 },
23 "observeEvents": [
24 "serverDescriptionChangedEvent",
25 "topologyDescriptionChangedEvent"
26 ]
27 }
28 },
29 {
30 "database": {
31 "id": "database",
32 "client": "client",
33 "databaseName": "logging-tests"
34 }
35 },
36 {
37 "collection": {
38 "id": "collection",
39 "database": "database",
40 "collectionName": "server-selection"
41 }
42 },
43 {
44 "client": {
45 "id": "failPointClient"
46 }
47 },
48 {
49 "collection": {
50 "id": "unsatisfiableRPColl",
51 "database": "database",
52 "collectionName": "unsatisfiableRPColl",
53 "collectionOptions": {
54 "readPreference": {
55 "mode": "Secondary",
56 "tagSets": [
57 {
58 "nonexistenttag": "a"
59 }
60 ]
61 }
62 }
63 }
64 }
65 ],
66 "tests": [
67 {
68 "description": "A successful operation",
69 "operations": [
70 {
71 "name": "waitForEvent",
72 "object": "testRunner",
73 "arguments": {
74 "client": "client",
75 "event": {
76 "topologyDescriptionChangedEvent": {}
77 },
78 "count": 4
79 }
80 },
81 {
82 "name": "insertOne",
83 "object": "collection",
84 "arguments": {
85 "document": {
86 "x": 1
87 }
88 }
89 }
90 ],
91 "expectLogMessages": [
92 {
93 "client": "client",
94 "messages": [
95 {
96 "level": "debug",
97 "component": "serverSelection",
98 "data": {
99 "message": "Server selection started",
100 "selector": {
101 "$$exists": true
102 },
103 "operation": "insert",
104 "topologyDescription": {
105 "$$exists": true
106 }
107 }
108 },
109 {
110 "level": "debug",
111 "component": "serverSelection",
112 "data": {
113 "message": "Server selection succeeded",
114 "selector": {
115 "$$exists": true
116 },
117 "operation": "insert",
118 "topologyDescription": {
119 "$$exists": true
120 },
121 "serverHost": {
122 "$$type": "string"
123 },
124 "serverPort": {
125 "$$type": [
126 "int",
127 "long"
128 ]
129 }
130 }
131 }
132 ]
133 }
134 ]
135 },
136 {
137 "description": "Server selection fails due to unsatisfiable read preference",
138 "runOnRequirements": [
139 {
140 "minServerVersion": "4.0"
141 }
142 ],
143 "operations": [
144 {
145 "name": "waitForEvent",
146 "object": "testRunner",
147 "arguments": {
148 "client": "client",
149 "event": {
150 "topologyDescriptionChangedEvent": {}
151 },
152 "count": 4
153 }
154 },
155 {
156 "name": "find",
157 "object": "unsatisfiableRPColl",
158 "arguments": {
159 "filter": {
160 "x": 1
161 }
162 },
163 "expectError": {
164 "isClientError": true
165 }
166 }
167 ],
168 "expectLogMessages": [
169 {
170 "client": "client",
171 "messages": [
172 {
173 "level": "debug",
174 "component": "serverSelection",
175 "data": {
176 "message": "Server selection started",
177 "selector": {
178 "$$exists": true
179 },
180 "operation": "find",
181 "topologyDescription": {
182 "$$exists": true
183 }
184 }
185 },
186 {
187 "level": "info",
188 "component": "serverSelection",
189 "data": {
190 "message": "Waiting for suitable server to become available",
191 "selector": {
192 "$$exists": true
193 },
194 "operation": "find",
195 "topologyDescription": {
196 "$$exists": true
197 },
198 "remainingTimeMS": {
199 "$$type": [
200 "int",
201 "long"
202 ]
203 }
204 }
205 },
206 {
207 "level": "debug",
208 "component": "serverSelection",
209 "data": {
210 "message": "Server selection failed",
211 "selector": {
212 "$$exists": true
213 },
214 "operation": "find",
215 "topologyDescription": {
216 "$$exists": true
217 },
218 "failure": {
219 "$$exists": true
220 }
221 }
222 }
223 ]
224 }
225 ]
226 }
227 ]
228}
View as plain text