From: mishaz Date: Tue, 13 Jan 2015 00:23:17 +0000 (+0000) Subject: Moved some logic from datamanager.go to keep.go. X-Git-Tag: 1.1.0~1505^2~52 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/2ee024868c8152903a43a8c6f5dce601305e99e2 Moved some logic from datamanager.go to keep.go. --- diff --git a/services/datamanager/datamanager.go b/services/datamanager/datamanager.go index 6bd9ee8afa..9b1f6d6830 100644 --- a/services/datamanager/datamanager.go +++ b/services/datamanager/datamanager.go @@ -77,10 +77,14 @@ func main() { collection.GetCollectionsParams{ Client: arv, Logger: arvLogger, BatchSize: 50}) }() - RunKeep(keep.GetKeepServersParams{Client: arv, Limit: 1000}) + keepServerInfo := keep.GetKeepServersAndSummarize( + keep.GetKeepServersParams{Client: arv, Limit: 1000}) readCollections := <-collectionChannel - _ = readCollections // Make compiler happy. + + // Make compiler happy. + _ = readCollections + _ = keepServerInfo // Log that we're finished if arvLogger != nil { @@ -91,20 +95,6 @@ func main() { } } -func RunKeep(params keep.GetKeepServersParams) { - readServers := keep.GetKeepServers(params) - - log.Printf("Returned %d keep disks", len(readServers.ServerToContents)) - - blockReplicationCounts := make(map[int]int) - for _, infos := range readServers.BlockToServers { - replication := len(infos) - blockReplicationCounts[replication] += 1 - } - - log.Printf("Replication level distribution: %v", blockReplicationCounts) -} - func LogMemoryAlloc(properties map[string]interface{}, entry map[string]interface{}) { _ = entry // keep the compiler from complaining runInfo := properties["run_info"].(map[string]interface{}) diff --git a/services/datamanager/keep/keep.go b/services/datamanager/keep/keep.go index 91af2014ae..413e1be7f1 100644 --- a/services/datamanager/keep/keep.go +++ b/services/datamanager/keep/keep.go @@ -48,11 +48,12 @@ type ServerResponse struct { } type ReadServers struct { - ReadAllServers bool - KeepServerIndexToAddress []ServerAddress - KeepServerAddressToIndex map[ServerAddress]int - ServerToContents map[ServerAddress]ServerContents - BlockToServers map[blockdigest.BlockDigest][]BlockServerInfo + ReadAllServers bool + KeepServerIndexToAddress []ServerAddress + KeepServerAddressToIndex map[ServerAddress]int + ServerToContents map[ServerAddress]ServerContents + BlockToServers map[blockdigest.BlockDigest][]BlockServerInfo + BlockReplicationCounts map[int]int } type GetKeepServersParams struct { @@ -109,6 +110,17 @@ func getDataManagerToken() (string) { return dataManagerToken } +func GetKeepServersAndSummarize(params GetKeepServersParams) (results ReadServers) { + results = GetKeepServers(params) + log.Printf("Returned %d keep disks", len(results.ServerToContents)) + + ComputeBlockReplicationCounts(&results) + log.Printf("Replication level distribution: %v", + results.BlockReplicationCounts) + + return +} + func GetKeepServers(params GetKeepServersParams) (results ReadServers) { if ¶ms.Client == nil { log.Fatalf("params.Client passed to GetKeepServers() should " + @@ -288,3 +300,11 @@ func parseBlockInfoFromIndexLine(indexLine string) (blockInfo BlockInfo, err err blockInfo.Size = locator.Size return } + +func ComputeBlockReplicationCounts(readServers *ReadServers) { + readServers.BlockReplicationCounts = make(map[int]int) + for _, infos := range readServers.BlockToServers { + replication := len(infos) + readServers.BlockReplicationCounts[replication] += 1 + } +}