diff --git a/server/server.go b/server/server.go index c37b4fdc..f1675bf0 100644 --- a/server/server.go +++ b/server/server.go @@ -471,8 +471,8 @@ func (s *Server) startGarbageCollection(ctx context.Context, frequency time.Dura case <-time.After(frequency): if r, err := s.storage.GarbageCollect(now()); err != nil { s.logger.Errorf("garbage collection failed: %v", err) - } else if r.AuthRequests > 0 || r.AuthCodes > 0 { - s.logger.Infof("garbage collection run, delete auth requests=%d, auth codes=%d, device requests =%d, device tokens=%d", + } else if !r.IsEmpty() { + s.logger.Infof("garbage collection run, delete auth requests=%d, auth codes=%d, device requests=%d, device tokens=%d", r.AuthRequests, r.AuthCodes, r.DeviceRequests, r.DeviceTokens) } } diff --git a/storage/storage.go b/storage/storage.go index 06f718e1..3a57d522 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -55,6 +55,14 @@ type GCResult struct { DeviceTokens int64 } +// IsEmpty returns whether the garbage collection result is empty or not. +func (g *GCResult) IsEmpty() bool { + return g.AuthRequests == 0 && + g.AuthCodes == 0 && + g.DeviceRequests == 0 && + g.DeviceTokens == 0 +} + // Storage is the storage interface used by the server. Implementations are // required to be able to perform atomic compare-and-swap updates and either // support timezones or standardize on UTC.