Skip to content

Commit 291847c

Browse files
PR requested changes
1 parent 1f38a9d commit 291847c

File tree

11 files changed

+22
-42
lines changed

11 files changed

+22
-42
lines changed

src/mongo_logger.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -358,9 +358,9 @@ function attachCommandFields(
358358

359359
function attachConnectionFields(
360360
log: Record<string, any>,
361-
connectionOrSDAMEvent: ConnectionPoolMonitoringEvent | ServerOpeningEvent | ServerClosedEvent
361+
event: ConnectionPoolMonitoringEvent | ServerOpeningEvent | ServerClosedEvent
362362
) {
363-
const { host, port } = HostAddress.fromString(connectionOrSDAMEvent.address).toHostPort();
363+
const { host, port } = HostAddress.fromString(event.address).toHostPort();
364364
log.serverHost = host;
365365
log.serverPort = port;
366366

@@ -381,7 +381,7 @@ function attachServerHeartbeatFields(
381381
) {
382382
const { awaited, connectionId } = serverHeartbeatEvent;
383383
log.awaited = awaited;
384-
log.driverConnectionId = 1;
384+
log.driverConnectionId = serverHeartbeatEvent.connectionId;
385385
const { host, port } = HostAddress.fromString(connectionId).toHostPort();
386386
log.serverHost = host;
387387
log.serverPort = port;

src/mongo_types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ export class TypedEventEmitter<Events extends EventsDescription> extends EventEm
410410
...args: Parameters<Events[EventKey]>
411411
): void {
412412
this.emit(event, ...args);
413-
if (this.component) this.mongoLogger?.debug(this.component, args[0]);
413+
if (this.component) this.mongoLogger?.debug?.(this.component, args[0]);
414414
}
415415
}
416416

src/sdam/events.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ export class ServerHeartbeatStartedEvent extends ServerDiscoveryAndMonitoringEve
175175
name = SERVER_HEARTBEAT_STARTED;
176176

177177
/** @internal */
178-
constructor(connectionId: string, awaited: boolean, topologyId: number) {
178+
constructor(topologyId: number, connectionId: string, awaited: boolean) {
179179
super(topologyId);
180180
this.connectionId = connectionId;
181181
this.awaited = awaited;
@@ -201,11 +201,11 @@ export class ServerHeartbeatSucceededEvent extends ServerDiscoveryAndMonitoringE
201201

202202
/** @internal */
203203
constructor(
204+
topologyId: number,
204205
connectionId: string,
205206
duration: number,
206207
reply: Document | null,
207-
awaited: boolean,
208-
topologyId: number
208+
awaited: boolean
209209
) {
210210
super(topologyId);
211211
this.connectionId = connectionId;
@@ -234,11 +234,11 @@ export class ServerHeartbeatFailedEvent extends ServerDiscoveryAndMonitoringEven
234234

235235
/** @internal */
236236
constructor(
237+
topologyId: number,
237238
connectionId: string,
238239
duration: number,
239240
failure: Error,
240-
awaited: boolean,
241-
topologyId: number
241+
awaited: boolean
242242
) {
243243
super(topologyId);
244244
this.connectionId = connectionId;

src/sdam/monitor.ts

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,13 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
101101
[kMonitorId]?: MonitorInterval;
102102
rttPinger?: RTTPinger;
103103
/** @internal */
104-
override mongoLogger: MongoLogger;
105-
/** @internal */
106104
override component = MongoLoggableComponent.TOPOLOGY;
107105

108106
get connection(): Connection | undefined {
109107
return this[kConnection];
110108
}
111109

112-
constructor(server: Server, options: MonitorOptions, mongoLogger: MongoLogger) {
110+
constructor(server: Server, options: MonitorOptions) {
113111
super();
114112

115113
this[kServer] = server;
@@ -128,6 +126,7 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
128126
serverMonitoringMode: options.serverMonitoringMode
129127
});
130128
this.isRunningInFaasEnv = getFAASEnv() != null;
129+
this.mongoLogger = this[kServer].topology.client.mongoLogger;
131130

132131
const cancellationToken = this[kCancellationToken];
133132
// TODO: refactor this to pull it directly from the pool, requires new ConnectionPool integration
@@ -157,8 +156,6 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
157156
}
158157

159158
this.connectOptions = Object.freeze(connectOptions);
160-
161-
this.mongoLogger = mongoLogger;
162159
}
163160

164161
connect(): void {
@@ -254,18 +251,18 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
254251
const isAwaitable = useStreamingProtocol(monitor, topologyVersion);
255252
monitor.emitAndLog(
256253
Server.SERVER_HEARTBEAT_STARTED,
257-
new ServerHeartbeatStartedEvent(monitor.address, isAwaitable, monitor[kServer].topology.s.id)
254+
new ServerHeartbeatStartedEvent(monitor[kServer].topology.s.id, monitor.address, isAwaitable)
258255
);
259256

260257
function failureHandler(err: Error, awaited: boolean) {
261258
monitor.emitAndLog(
262259
Server.SERVER_HEARTBEAT_FAILED,
263260
new ServerHeartbeatFailedEvent(
261+
monitor[kServer].topology.s.id,
264262
monitor.address,
265263
calculateDurationInMs(start),
266264
err,
267-
awaited,
268-
monitor[kServer].topology.s.id
265+
awaited
269266
)
270267
);
271268
monitor[kConnection]?.destroy({ force: true });
@@ -331,11 +328,11 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
331328
monitor.emitAndLog(
332329
Server.SERVER_HEARTBEAT_SUCCEEDED,
333330
new ServerHeartbeatSucceededEvent(
331+
monitor[kServer].topology.s.id,
334332
monitor.address,
335333
duration,
336334
hello,
337-
isAwaitable,
338-
monitor[kServer].topology.s.id
335+
isAwaitable
339336
)
340337
);
341338

@@ -344,7 +341,7 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
344341
if (isAwaitable) {
345342
monitor.emitAndLog(
346343
Server.SERVER_HEARTBEAT_STARTED,
347-
new ServerHeartbeatStartedEvent(monitor.address, true, monitor[kServer].topology.s.id)
344+
new ServerHeartbeatStartedEvent(monitor[kServer].topology.s.id, monitor.address, true)
348345
);
349346
start = now();
350347
} else {
@@ -381,11 +378,11 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
381378
monitor.emitAndLog(
382379
Server.SERVER_HEARTBEAT_SUCCEEDED,
383380
new ServerHeartbeatSucceededEvent(
381+
monitor[kServer].topology.s.id,
384382
monitor.address,
385383
calculateDurationInMs(start),
386384
conn.hello,
387385
useStreamingProtocol(monitor, conn.hello?.topologyVersion),
388-
monitor[kServer].topology.s.id
389386
)
390387
);
391388

src/sdam/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ export class Server extends TypedEventEmitter<ServerEvents> {
178178
}
179179

180180
// create the monitor
181-
this.monitor = new Monitor(this, this.s.options, this.topology.client.mongoLogger);
181+
this.monitor = new Monitor(this, this.s.options);
182182

183183
for (const event of HEARTBEAT_EVENTS) {
184184
this.monitor.on(event, (e: any) => this.emit(event, e));

test/spec/server-discovery-and-monitoring/unified/logging-replicaset.json

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,6 @@
352352
"driverConnectionId": {
353353
"$$exists": true
354354
},
355-
"serverConnectionId": {
356-
"$$exists": true
357-
},
358355
"durationMS": {
359356
"$$type": [
360357
"int",
@@ -393,9 +390,6 @@
393390
"driverConnectionId": {
394391
"$$exists": true
395392
},
396-
"serverConnectionId": {
397-
"$$exists": true
398-
},
399393
"durationMS": {
400394
"$$type": [
401395
"int",
@@ -434,9 +428,6 @@
434428
"driverConnectionId": {
435429
"$$exists": true
436430
},
437-
"serverConnectionId": {
438-
"$$exists": true
439-
},
440431
"durationMS": {
441432
"$$type": [
442433
"int",

test/spec/server-discovery-and-monitoring/unified/logging-replicaset.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@ tests:
175175
serverHost: { $$type: string }
176176
serverPort: { $$type: [int, long] }
177177
driverConnectionId: { $$exists: true }
178-
serverConnectionId: { $$exists: true }
179178
durationMS: { $$type: [int, long] }
180179
reply:
181180
$$matchAsDocument:
@@ -190,7 +189,6 @@ tests:
190189
serverHost: { $$type: string }
191190
serverPort: { $$type: [int, long] }
192191
driverConnectionId: { $$exists: true }
193-
serverConnectionId: { $$exists: true }
194192
durationMS: { $$type: [int, long] }
195193
reply:
196194
$$matchAsDocument:
@@ -205,7 +203,6 @@ tests:
205203
serverHost: { $$type: string }
206204
serverPort: { $$type: [int, long] }
207205
driverConnectionId: { $$exists: true }
208-
serverConnectionId: { $$exists: true }
209206
durationMS: { $$type: [int, long] }
210207
reply:
211208
$$matchAsDocument:

test/spec/server-discovery-and-monitoring/unified/logging-sharded.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,6 @@
319319
"driverConnectionId": {
320320
"$$exists": true
321321
},
322-
"serverConnectionId": {
323-
"$$exists": true
324-
},
325322
"durationMS": {
326323
"$$type": [
327324
"int",

test/spec/server-discovery-and-monitoring/unified/logging-sharded.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,6 @@ tests:
163163
serverHost: { $$type: string }
164164
serverPort: { $$type: [int, long] }
165165
driverConnectionId: { $$exists: true }
166-
serverConnectionId: { $$exists: true }
167166
durationMS: { $$type: [int, long] }
168167
reply:
169168
$$matchAsDocument:

test/spec/server-discovery-and-monitoring/unified/logging-standalone.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -318,9 +318,6 @@
318318
"driverConnectionId": {
319319
"$$exists": true
320320
},
321-
"serverConnectionId": {
322-
"$$exists": false
323-
},
324321
"durationMS": {
325322
"$$type": [
326323
"int",

test/unit/sdam/monitor.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ import { createTimerSandbox } from '../timer_sandbox';
2020
class MockServer {
2121
pool: any;
2222
description: ServerDescription;
23+
topology: any;
2324
constructor(options) {
2425
this.pool = { generation: 1 };
2526
this.description = new ServerDescription(`${options.host}:${options.port}`);
2627
this.description.type = ServerType.Unknown;
28+
this.topology = { s: { topologyId: 1 }, client: { mongoLogger: {} } };
2729
}
2830
}
2931

@@ -123,7 +125,7 @@ describe('monitoring', function () {
123125
});
124126
}).skipReason = 'TODO(NODE-3600): Unskip flaky tests';
125127

126-
describe('Monitor', function () {
128+
describe.only('Monitor', function () {
127129
let monitor;
128130

129131
beforeEach(() => {

0 commit comments

Comments
 (0)