fix: data race in maintenance totalOptimizeRun counter

This commit is contained in:
2026-05-24 02:04:53 +01:00
parent 720a14cd65
commit eab3b58e0f
+5 -1
View File
@@ -151,10 +151,11 @@ func (s *Service) runMaintenance(ctx context.Context) {
} }
// Task 3: Optimize database // Task 3: Optimize database
var optimized bool
if err := s.store.Optimize(ctx); err != nil { if err := s.store.Optimize(ctx); err != nil {
s.log.Error().Err(err).Msg("Failed to optimize database") s.log.Error().Err(err).Msg("Failed to optimize database")
} else { } else {
s.totalOptimizeRun++ optimized = true
} }
// Task 4: Clean up old prompts (keep last 1000 per session) // 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.lastRunTime = time.Now()
s.lastRunDuration = time.Since(start) s.lastRunDuration = time.Since(start)
s.totalCleanedObs += totalCleaned s.totalCleanedObs += totalCleaned
if optimized {
s.totalOptimizeRun++
}
s.mu.Unlock() s.mu.Unlock()
s.log.Info(). s.log.Info().