From eab3b58e0fdbb83518a4ac297d31c079d4386645 Mon Sep 17 00:00:00 2001 From: Lukasz Raczylo Date: Sun, 24 May 2026 02:04:53 +0100 Subject: [PATCH] fix: data race in maintenance totalOptimizeRun counter --- internal/maintenance/service.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/maintenance/service.go b/internal/maintenance/service.go index 994fcdf..9be756d 100644 --- a/internal/maintenance/service.go +++ b/internal/maintenance/service.go @@ -151,10 +151,11 @@ func (s *Service) runMaintenance(ctx context.Context) { } // Task 3: Optimize database + var optimized bool if err := s.store.Optimize(ctx); err != nil { s.log.Error().Err(err).Msg("Failed to optimize database") } else { - s.totalOptimizeRun++ + optimized = true } // Task 4: Clean up old prompts (keep last 1000 per session) @@ -170,6 +171,9 @@ func (s *Service) runMaintenance(ctx context.Context) { s.lastRunTime = time.Now() s.lastRunDuration = time.Since(start) s.totalCleanedObs += totalCleaned + if optimized { + s.totalOptimizeRun++ + } s.mu.Unlock() s.log.Info().