From b8bf97ab768a4b2f89561c1d723eb74d41cfdd5e Mon Sep 17 00:00:00 2001 From: Sergey Dudoladov Date: Fri, 22 Dec 2017 12:53:57 +0100 Subject: [PATCH] Integrate comments from code reviews --- pkg/apiserver/apiserver.go | 4 ++-- pkg/controller/status.go | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/apiserver/apiserver.go b/pkg/apiserver/apiserver.go index 80409f6d1..97a971e75 100644 --- a/pkg/apiserver/apiserver.go +++ b/pkg/apiserver/apiserver.go @@ -37,7 +37,7 @@ type controllerInformer interface { ListQueue(workerID uint32) (*spec.QueueDump, error) GetWorkersCnt() uint32 WorkerStatus(workerID uint32) (*spec.WorkerStatus, error) - GetClusterDatabasesMap() map[string][]string + ClusterDatabasesMap() map[string][]string } // Server describes HTTP API server @@ -226,7 +226,7 @@ func (s *Server) workers(w http.ResponseWriter, req *http.Request) { func (s *Server) databases(w http.ResponseWriter, req *http.Request) { - databaseNamesPerCluster := s.controller.GetClusterDatabasesMap() + databaseNamesPerCluster := s.controller.ClusterDatabasesMap() s.respond(databaseNamesPerCluster, nil, w) return diff --git a/pkg/controller/status.go b/pkg/controller/status.go index b5edcec87..f0f948efb 100644 --- a/pkg/controller/status.go +++ b/pkg/controller/status.go @@ -32,16 +32,20 @@ func (c *Controller) ClusterStatus(team, cluster string) (*spec.ClusterStatus, e return status, nil } -// GetClusterDatabasesMap returns for each cluster the list of databases running there -func (c *Controller) GetClusterDatabasesMap() map[string][]string { +// ClusterDatabasesMap returns for each cluster the list of databases running there +func (c *Controller) ClusterDatabasesMap() map[string][]string { m := make(map[string][]string) + c.clustersMu.RLock() for _, cluster := range c.clusters { + cluster.Lock() for database := range cluster.Postgresql.Spec.Databases { m[cluster.Name] = append(m[cluster.Name], database) } + cluster.Unlock() } + c.clustersMu.RUnlock() return m }