Closed UnderTreeTech closed 3 years ago
MongoDB Version: 3.6.23 Qmgo Version: 1.0.2 Test Command: go test -race -coverprofile=coverage.txt -covermode=atomic ./...
Recently I upgrade qmgo to v1.0.2, and I got data race error when I run test with -race flag. Folling is the error output.
================== WARNING: DATA RACE Write at 0x00c0003af300 by goroutine 30: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*connection).connect() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/connection.go:231 +0x90c go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*pool).connectionInitFunc·dwrap·16() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:134 +0x58
Previous read at 0x00c0003af300 by goroutine 7: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).stale() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:199 +0x1f5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.connectionExpiredFunc() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:97 +0x1b1 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(resourcePool).Get() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/resource_pool.go:125 +0x215 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).get() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:388 +0x6b5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(Server).Connection() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/server.go:268 +0x233 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*SelectedServer).Connection()
Need to test official driver in the same way.
fix in release v.1.0.3
MongoDB Version: 3.6.23 Qmgo Version: 1.0.2 Test Command: go test -race -coverprofile=coverage.txt -covermode=atomic ./...
Recently I upgrade qmgo to v1.0.2, and I got data race error when I run test with -race flag. Folling is the error output.
Previous read at 0x00c0003af300 by goroutine 7: go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).stale() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:199 +0x1f5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.connectionExpiredFunc() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:97 +0x1b1 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(resourcePool).Get() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/resource_pool.go:125 +0x215 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(pool).get() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/pool.go:388 +0x6b5 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(Server).Connection() /Users/go/pkg/mod/go.mongodb.org/mongo-driver@v1.7.1/x/mongo/driver/topology/server.go:268 +0x233 go.mongodb.org/mongo-driver/x/mongo/driver/topology.(*SelectedServer).Connection()