From 969c6d603f909602cc4a70985546c3797a14b6d3 Mon Sep 17 00:00:00 2001 From: Evgenii Guguchkin Date: Fri, 27 Mar 2026 19:07:43 +0300 Subject: [PATCH] fix: race condition fractionRegistry stats --- fracmanager/fraction_registry.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fracmanager/fraction_registry.go b/fracmanager/fraction_registry.go index 4f804930..c8a12eef 100644 --- a/fracmanager/fraction_registry.go +++ b/fracmanager/fraction_registry.go @@ -92,10 +92,12 @@ func (r *fractionRegistry) AllFractions() []frac.Fraction { // Stats returns current size statistics of the registry. func (r *fractionRegistry) Stats() registryStats { r.mu.RLock() - defer r.mu.RUnlock() + s := r.stats + i := r.active.instance.Info() + r.mu.RUnlock() - r.stats.active.Set(r.active.instance.Info()) - return r.stats + s.active.Set(i) + return s } // OldestTotal returns the creation time of the oldest fraction in the registry.