Skip to content

Commit d15516d

Browse files
GODRIVER-3173 Fix bugs in events and logs
1 parent c9ef687 commit d15516d

File tree

4 files changed

+18
-13
lines changed

4 files changed

+18
-13
lines changed

internal/logger/component.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ const (
2828
ConnectionCheckoutFailed = "Connection checkout failed"
2929
ConnectionCheckedOut = "Connection checked out"
3030
ConnectionCheckedIn = "Connection checked in"
31-
ConnectionPendingReadStarted = "Pending read started"
32-
ConnectionPendingReadSucceeded = "Pending read succeeded"
33-
ConnectionPendingReadFailed = "Pending read failed"
31+
ConnectionPendingReadStarted = "Pending response started"
32+
ConnectionPendingReadSucceeded = "Pending response succeeded"
33+
ConnectionPendingReadFailed = "Pending response failed"
3434
ServerSelectionFailed = "Server selection failed"
3535
ServerSelectionStarted = "Server selection started"
3636
ServerSelectionSucceeded = "Server selection succeeded"

x/mongo/driver/topology/cmap_prose_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ func TestCMAPProse(t *testing.T) {
361361
assert.Equal(t, addr.String(), failed[0].Address)
362362
assert.Equal(t, conn.driverConnectionID, failed[0].ConnectionID)
363363
assert.Equal(t, requestID, failed[0].RequestID)
364-
assert.Equal(t, io.EOF.Error(), failed[0].Reason)
364+
assert.Equal(t, "error", failed[0].Reason)
365365
assert.ErrorIs(t, failed[0].Error, io.EOF)
366366
assert.Equal(t, time.Duration(0), failed[0].RemainingTime)
367367

@@ -462,6 +462,7 @@ func TestCMAPProse(t *testing.T) {
462462

463463
assert.Equal(t, addr.String(), succeeded[0].Address)
464464
assert.Equal(t, conn.driverConnectionID, succeeded[0].ConnectionID)
465+
assert.Equal(t, requestID, succeeded[0].RequestID)
465466
assert.Greater(t, int(succeeded[0].Duration), 0)
466467
})
467468
}

x/mongo/driver/topology/connection.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ func nextConnectionID() uint64 { return atomic.AddUint64(&globalConnectionID, 1)
5050
type pendingReadState struct {
5151
remainingBytes int32
5252
requestID int32
53-
remainingTime *time.Duration
5453
start time.Time
5554
}
5655

x/mongo/driver/topology/pool.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -827,29 +827,32 @@ func publishPendingReadFailed(pool *pool, conn *connection, err error) {
827827
return
828828
}
829829

830+
reason := event.ReasonError
831+
if errors.Is(err, context.DeadlineExceeded) {
832+
reason = event.ReasonTimedOut
833+
}
834+
830835
if mustLogPoolMessage(pool) {
831836
keysAndValues := logger.KeyValues{
832837
logger.KeyDriverConnectionID, conn.driverConnectionID,
833838
logger.KeyRequestID, prs.requestID,
834-
logger.KeyReason, err.Error(),
835-
logger.KeyRemainingTimeMS, *prs.remainingTime,
839+
logger.KeyReason, reason,
840+
logger.KeyError, err.Error(),
836841
}
837842

838843
logPoolMessage(pool, logger.ConnectionPendingReadFailed, keysAndValues...)
839844
}
840845

841846
if pool.monitor != nil {
842-
event := &event.PoolEvent{
847+
e := &event.PoolEvent{
843848
Type: event.ConnectionPendingResponseFailed,
844849
Address: pool.address.String(),
845850
ConnectionID: conn.driverConnectionID,
846851
RequestID: prs.requestID,
847-
//RemainingTime: remainingTime,
848-
Reason: err.Error(),
849-
Error: err,
852+
Reason: reason,
853+
Error: err,
850854
}
851-
852-
pool.monitor.Event(event)
855+
pool.monitor.Event(e)
853856
}
854857
}
855858

@@ -863,6 +866,7 @@ func publishPendingReadSucceeded(pool *pool, conn *connection, dur time.Duration
863866
keysAndValues := logger.KeyValues{
864867
logger.KeyDriverConnectionID, conn.driverConnectionID,
865868
logger.KeyRequestID, prs.requestID,
869+
logger.KeyDurationMS, dur.Milliseconds(),
866870
}
867871

868872
logPoolMessage(pool, logger.ConnectionPendingReadSucceeded, keysAndValues...)
@@ -873,6 +877,7 @@ func publishPendingReadSucceeded(pool *pool, conn *connection, dur time.Duration
873877
Type: event.ConnectionPendingResponseSucceeded,
874878
Address: pool.address.String(),
875879
ConnectionID: conn.driverConnectionID,
880+
RequestID: prs.requestID,
876881
Duration: dur,
877882
}
878883

0 commit comments

Comments
 (0)