-
Notifications
You must be signed in to change notification settings - Fork 4.1k
server: data race in (*diskStatsMap).initDiskStatsMap() #91414
Copy link
Copy link
Labels
A-admission-controlA-storageRelating to our storage engine (Pebble) on-disk storage.Relating to our storage engine (Pebble) on-disk storage.C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.T-storageStorage TeamStorage Teamv23.1.2
Description
This data race is sometimes observed when TestClusterConnectivity is run with the race detector enabled:
==================
WARNING: DATA RACE
Write at 0x00c0038ca920 by goroutine 20258:
github.com/cockroachdb/cockroach/pkg/server.(*diskStatsMap).initDiskStatsMap()
github.com/cockroachdb/cockroach/pkg/server/node.go:839 +0x5c
github.com/cockroachdb/cockroach/pkg/server.(*Node).registerEnginesForDiskStatsMap()
github.com/cockroachdb/cockroach/pkg/server/node.go:859 +0x3b38
github.com/cockroachdb/cockroach/pkg/server.(*Server).PreStart()
github.com/cockroachdb/cockroach/pkg/server/server.go:1703 +0x3ad0
github.com/cockroachdb/cockroach/pkg/server.(*Server).Start()
github.com/cockroachdb/cockroach/pkg/server/server.go:1045 +0x38
github.com/cockroachdb/cockroach/pkg/server.(*TestServer).Start()
github.com/cockroachdb/cockroach/pkg/server/testserver.go:593 +0x50
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).startServer()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:601 +0x9c
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).Start.func1()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:381 +0xbc
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).Start.func4()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:382 +0x44
Previous read at 0x00c0038ca920 by goroutine 21009:
github.com/cockroachdb/cockroach/pkg/server.(*diskStatsMap).empty()
github.com/cockroachdb/cockroach/pkg/server/node.go:835 +0x44
github.com/cockroachdb/cockroach/pkg/server.(*diskStatsMap).tryPopulateAdmissionDiskStats()
github.com/cockroachdb/cockroach/pkg/server/node.go:808 +0x74
github.com/cockroachdb/cockroach/pkg/server.(*Node).GetPebbleMetrics()
github.com/cockroachdb/cockroach/pkg/server/node.go:866 +0xc4
github.com/cockroachdb/cockroach/pkg/util/admission.(*StoreGrantCoordinators).SetPebbleMetricsProvider.func1()
github.com/cockroachdb/cockroach/pkg/util/admission/grant_coordinator.go:107 +0x164
Goroutine 20258 (running) created at:
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).Start()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:380 +0x568
github.com/cockroachdb/cockroach/pkg/server_test.TestClusterConnectivity.func2()
github.com/cockroachdb/cockroach/pkg/server_test/pkg/server/connectivity_test.go:275 +0x5d8
testing.tRunner()
GOROOT/src/testing/testing.go:1446 +0x188
testing.(*T).Run.func1()
GOROOT/src/testing/testing.go:1493 +0x40
Goroutine 21009 (running) created at:
github.com/cockroachdb/cockroach/pkg/util/admission.(*StoreGrantCoordinators).SetPebbleMetricsProvider()
github.com/cockroachdb/cockroach/pkg/util/admission/grant_coordinator.go:98 +0x258
github.com/cockroachdb/cockroach/pkg/server.(*Server).PreStart()
github.com/cockroachdb/cockroach/pkg/server/server.go:1592 +0x2e9c
github.com/cockroachdb/cockroach/pkg/server.(*Server).Start()
github.com/cockroachdb/cockroach/pkg/server/server.go:1045 +0x38
github.com/cockroachdb/cockroach/pkg/server.(*TestServer).Start()
github.com/cockroachdb/cockroach/pkg/server/testserver.go:593 +0x50
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).startServer()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:601 +0x9c
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).Start.func1()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:381 +0xbc
github.com/cockroachdb/cockroach/pkg/testutils/testcluster.(*TestCluster).Start.func4()
github.com/cockroachdb/cockroach/pkg/testutils/testcluster/testcluster.go:382 +0x44
==================
Jira issue: CRDB-21249
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-admission-controlA-storageRelating to our storage engine (Pebble) on-disk storage.Relating to our storage engine (Pebble) on-disk storage.C-bugCode not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.T-storageStorage TeamStorage Teamv23.1.2