Skip to content

Commit be7aee9

Browse files
PR requested changes
1 parent b71f1eb commit be7aee9

File tree

11 files changed

+18
-38
lines changed

11 files changed

+18
-38
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: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
9999
[kMonitorId]?: MonitorInterval;
100100
rttPinger?: RTTPinger;
101101
/** @internal */
102-
override mongoLogger: MongoLogger;
103-
/** @internal */
104102
override component = MongoLoggableComponent.TOPOLOGY;
105103

106104
get connection(): Connection | undefined {
@@ -126,6 +124,7 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
126124
serverMonitoringMode: options.serverMonitoringMode
127125
});
128126
this.isRunningInFaasEnv = getFAASEnv() != null;
127+
this.mongoLogger = this[kServer].topology.client.mongoLogger;
129128

130129
const cancellationToken = this[kCancellationToken];
131130
// TODO: refactor this to pull it directly from the pool, requires new ConnectionPool integration
@@ -152,8 +151,6 @@ export class Monitor extends TypedEventEmitter<MonitorEvents> {
152151
}
153152

154153
this.connectOptions = Object.freeze(connectOptions);
155-
156-
this.mongoLogger = mongoLogger;
157154
}
158155

159156
connect(): void {
@@ -250,7 +247,7 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
250247
const isAwaitable = useStreamingProtocol(monitor, topologyVersion);
251248
monitor.emitAndLog(
252249
Server.SERVER_HEARTBEAT_STARTED,
253-
new ServerHeartbeatStartedEvent(monitor.address, isAwaitable, monitor[kServer].topology.s.id)
250+
new ServerHeartbeatStartedEvent(monitor[kServer].topology.s.id, monitor.address, isAwaitable)
254251
);
255252

256253
function onHeartbeatFailed(err: Error) {
@@ -260,11 +257,11 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
260257
monitor.emitAndLog(
261258
Server.SERVER_HEARTBEAT_FAILED,
262259
new ServerHeartbeatFailedEvent(
260+
monitor[kServer].topology.s.id,
263261
monitor.address,
264262
calculateDurationInMs(start),
265263
err,
266-
awaited,
267-
monitor[kServer].topology.s.id
264+
awaited
268265
)
269266
);
270267
monitor[kConnection]?.destroy({ force: true });
@@ -384,11 +381,11 @@ function checkServer(monitor: Monitor, callback: Callback<Document | null>) {
384381
monitor.emit(
385382
Server.SERVER_HEARTBEAT_SUCCEEDED,
386383
new ServerHeartbeatSucceededEvent(
384+
monitor[kServer].topology.s.id,
387385
monitor.address,
388386
calculateDurationInMs(start),
389387
conn.hello,
390388
useStreamingProtocol(monitor, conn.hello?.topologyVersion),
391-
monitor[kServer].topology.s.id
392389
)
393390
);
394391

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)