From d1fe46c2a4f254d263fdcae42bde40a594d6df7e Mon Sep 17 00:00:00 2001 From: Alberto Soto Date: Mon, 29 Sep 2025 16:40:11 +0200 Subject: [PATCH 1/2] fix: avoid flushing empty tenant settings --- pkg/settings/settings.go | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/pkg/settings/settings.go b/pkg/settings/settings.go index 2064e65b90..b05352a71d 100644 --- a/pkg/settings/settings.go +++ b/pkg/settings/settings.go @@ -70,38 +70,12 @@ func (ts *TenantSettings) starting(ctx context.Context) error { } func (ts *TenantSettings) running(ctx context.Context) error { - ticker := time.NewTicker(24 * time.Hour) - done := false - - for !done { - select { - case <-ticker.C: - err := ts.store.Flush(ctx) - if err != nil { - level.Warn(ts.logger).Log( - "msg", "failed to refresh tenant settings", - "err", err, - ) - } - case <-ctx.Done(): - ticker.Stop() - done = true - } - } - + <-ctx.Done() return nil } func (ts *TenantSettings) stopping(_ error) error { - ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) - defer cancel() - - err := ts.store.Flush(ctx) - if err != nil { - return err - } - - err = ts.store.Close() + err := ts.store.Close() if err != nil { return err } From 9345dfcef6eebf4cdce0214e9d4ad07eccf72ba2 Mon Sep 17 00:00:00 2001 From: Alberto Soto Date: Wed, 8 Oct 2025 10:39:37 +0200 Subject: [PATCH 2/2] chore: get rid of the Flush --- pkg/settings/bucket.go | 7 ------- pkg/settings/setting_test.go | 5 ----- pkg/settings/store.go | 3 --- 3 files changed, 15 deletions(-) diff --git a/pkg/settings/bucket.go b/pkg/settings/bucket.go index d96e93b2be..774a3f56c8 100644 --- a/pkg/settings/bucket.go +++ b/pkg/settings/bucket.go @@ -125,13 +125,6 @@ func (s *bucketStore) Delete(ctx context.Context, tenantID string, name string, return nil } -func (s *bucketStore) Flush(ctx context.Context) error { - s.rw.Lock() - defer s.rw.Unlock() - - return s.unsafeFlush(ctx) -} - func (s *bucketStore) Close() error { return s.bucket.Close() } diff --git a/pkg/settings/setting_test.go b/pkg/settings/setting_test.go index 6c1afe2d0b..7bdc2929a4 100644 --- a/pkg/settings/setting_test.go +++ b/pkg/settings/setting_test.go @@ -430,11 +430,6 @@ func (s *fakeStore) Delete(ctx context.Context, tenantID string, name string, mo return args.Error(0) } -func (s *fakeStore) Flush(ctx context.Context) error { - args := s.Called(ctx) - return args.Error(0) -} - func (s *fakeStore) Close() error { args := s.Called() return args.Error(0) diff --git a/pkg/settings/store.go b/pkg/settings/store.go index 2de28f4d49..96e2ebc02f 100644 --- a/pkg/settings/store.go +++ b/pkg/settings/store.go @@ -16,9 +16,6 @@ type store interface { // Delete a setting for a tenant. Delete(ctx context.Context, tenantID string, name string, modifiedAtMs int64) error - // Flush the store to disk. - Flush(ctx context.Context) error - // Close the store. Close() error }