diff --git a/federationapi/statistics/statistics.go b/federationapi/statistics/statistics.go index 1cb73713b..e133fc9c9 100644 --- a/federationapi/statistics/statistics.go +++ b/federationapi/statistics/statistics.go @@ -80,22 +80,24 @@ func (s *Statistics) ForServer(serverName spec.ServerName) *ServerStatistics { // Don't bother hitting the database 2 additional times // if we don't want to use relays. - if s.enableRelays { - assumedOffline, err := s.DB.IsServerAssumedOffline(context.Background(), serverName) - if err != nil { - logrus.WithError(err).Errorf("Failed to get assumed offline entry %q", serverName) - } else { - server.assumedOffline.Store(assumedOffline) - } + if !s.enableRelays { + return server + } - knownRelayServers, err := s.DB.P2PGetRelayServersForServer(context.Background(), serverName) - if err != nil { - logrus.WithError(err).Errorf("Failed to get relay server list for %q", serverName) - } else { - server.relayMutex.Lock() - server.knownRelayServers = knownRelayServers - server.relayMutex.Unlock() - } + assumedOffline, err := s.DB.IsServerAssumedOffline(context.Background(), serverName) + if err != nil { + logrus.WithError(err).Errorf("Failed to get assumed offline entry %q", serverName) + } else { + server.assumedOffline.Store(assumedOffline) + } + + knownRelayServers, err := s.DB.P2PGetRelayServersForServer(context.Background(), serverName) + if err != nil { + logrus.WithError(err).Errorf("Failed to get relay server list for %q", serverName) + } else { + server.relayMutex.Lock() + server.knownRelayServers = knownRelayServers + server.relayMutex.Unlock() } } return server