From 15f6e8a5000e8c70d1a6a80ea1b84685dff20168 Mon Sep 17 00:00:00 2001 From: George Robinson Date: Fri, 22 Sep 2023 11:30:14 +0100 Subject: [PATCH] SQLStore: Fix race condition in RecursiveQueriesAreSupported (#75274) --- pkg/services/sqlstore/sqlstore.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/services/sqlstore/sqlstore.go b/pkg/services/sqlstore/sqlstore.go index 9aa86b7abc4..e8e00e3a92d 100644 --- a/pkg/services/sqlstore/sqlstore.go +++ b/pkg/services/sqlstore/sqlstore.go @@ -55,6 +55,7 @@ type SQLStore struct { migrations registry.DatabaseMigrator tracer tracing.Tracer recursiveQueriesAreSupported *bool + recursiveQueriesMu sync.Mutex } func ProvideService(cfg *setting.Cfg, cacheService *localcache.CacheService, migrations registry.DatabaseMigrator, bus bus.Bus, tracer tracing.Tracer) (*SQLStore, error) { @@ -524,6 +525,8 @@ func (ss *SQLStore) GetMigrationLockAttemptTimeout() int { } func (ss *SQLStore) RecursiveQueriesAreSupported() (bool, error) { + ss.recursiveQueriesMu.Lock() + defer ss.recursiveQueriesMu.Unlock() if ss.recursiveQueriesAreSupported != nil { return *ss.recursiveQueriesAreSupported, nil }