Skip to content

Commit 3fc0cdb

Browse files
author
Isabella Siu
committed
GODRIVER-812 Make Server.String() access variables atomicly
Change-Id: I7f30551b651f5f202050b9c5bdb3e7b24d5bc37d
1 parent 498dcf6 commit 3fc0cdb

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

x/mongo/driver/topology/server.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -462,13 +462,14 @@ func (s *Server) Drain() error { return s.pool.Drain() }
462462
// String implements the Stringer interface.
463463
func (s *Server) String() string {
464464
desc := s.Description()
465+
connState := atomic.LoadInt32(&s.connectionstate)
465466
str := fmt.Sprintf("Addr: %s, Type: %s, State: %s",
466-
s.address, desc.Kind, connectionStateString(s.connectionstate))
467+
s.address, desc.Kind, connectionStateString(connState))
467468
if len(desc.Tags) != 0 {
468469
str += fmt.Sprintf(", Tag sets: %s", desc.Tags)
469470
}
470-
if s.connectionstate == connected {
471-
str += fmt.Sprintf(", Avergage RTT: %d", s.averageRTT)
471+
if connState == connected {
472+
str += fmt.Sprintf(", Avergage RTT: %d", desc.AverageRTT)
472473
}
473474
if desc.LastError != nil {
474475
str += fmt.Sprintf(", Last error: %s", desc.LastError)

0 commit comments

Comments
 (0)