From 045da9fb739929091393162c7a0d9b06eb5efe79 Mon Sep 17 00:00:00 2001 From: Weizhen Wang Date: Sat, 7 Jan 2023 12:26:05 +0800 Subject: [PATCH] analyzetest: fix data race in the test Signed-off-by: Weizhen Wang --- executor/analyzetest/BUILD.bazel | 1 + util/gctuner/mem.go | 4 +++- util/memory/memstats.go | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/executor/analyzetest/BUILD.bazel b/executor/analyzetest/BUILD.bazel index 3112abe57c00f..5ecdef62a7159 100644 --- a/executor/analyzetest/BUILD.bazel +++ b/executor/analyzetest/BUILD.bazel @@ -8,6 +8,7 @@ go_test( "main_test.go", ], flaky = True, + race = "on", shard_count = 50, deps = [ "//domain", diff --git a/util/gctuner/mem.go b/util/gctuner/mem.go index 9fb85f1d801cb..f6a62c36d8d09 100644 --- a/util/gctuner/mem.go +++ b/util/gctuner/mem.go @@ -15,10 +15,12 @@ package gctuner import ( + "sync/atomic" + "github.com/pingcap/tidb/util/memory" ) func readMemoryInuse() uint64 { memStats := memory.ForceReadMemStats() - return memStats.HeapInuse + return atomic.LoadUint64(&memStats.HeapInuse) } diff --git a/util/memory/memstats.go b/util/memory/memstats.go index 9cc4a3b14fb5a..e01af5568fe41 100644 --- a/util/memory/memstats.go +++ b/util/memory/memstats.go @@ -37,7 +37,7 @@ func ReadMemStats() (memStats *runtime.MemStats) { } failpoint.Inject("ReadMemStats", func(val failpoint.Value) { injectedSize := val.(int) - memStats.HeapInuse += uint64(injectedSize) + atomic.AddUint64(&memStats.HeapInuse, uint64(injectedSize)) }) return }