Merge pull request #1918 from flant/log-device-flow-gc

fix: log device flow entities GC result if no auth entities collected
This commit is contained in:
Márk Sági-Kazár 2021-01-14 18:02:20 +01:00 committed by GitHub
commit afba7577bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -468,7 +468,7 @@ func (s *Server) startGarbageCollection(ctx context.Context, frequency time.Dura
case <-time.After(frequency): case <-time.After(frequency):
if r, err := s.storage.GarbageCollect(now()); err != nil { if r, err := s.storage.GarbageCollect(now()); err != nil {
s.logger.Errorf("garbage collection failed: %v", err) s.logger.Errorf("garbage collection failed: %v", err)
} else if r.AuthRequests > 0 || r.AuthCodes > 0 { } else if !r.IsEmpty() {
s.logger.Infof("garbage collection run, delete auth requests=%d, auth codes=%d, device requests=%d, device tokens=%d", 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) r.AuthRequests, r.AuthCodes, r.DeviceRequests, r.DeviceTokens)
} }

View file

@ -55,6 +55,14 @@ type GCResult struct {
DeviceTokens int64 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 // Storage is the storage interface used by the server. Implementations are
// required to be able to perform atomic compare-and-swap updates and either // required to be able to perform atomic compare-and-swap updates and either
// support timezones or standardize on UTC. // support timezones or standardize on UTC.