Merge branch 'master' into 7253-datamanager-test-errors
[arvados.git] / services / datamanager / datamanager.go
index e7d22b89f5dda30f59f93c7656c20056daae87a9..3c53b4ad2a2c59e6cea0b538ff1b7ca6f5999831 100644 (file)
@@ -42,21 +42,21 @@ func init() {
 func main() {
        flag.Parse()
        if minutesBetweenRuns == 0 {
-               arv, err := makeArvadosClient()
+               arv, err := arvadosclient.MakeArvadosClient()
                if err != nil {
-                       log.Fatalf("makeArvadosClient: %v", err)
+                       loggerutil.FatalWithMessage(arvLogger, fmt.Sprintf("Error making arvados client: %v", err))
                }
                err = singlerun(arv)
                if err != nil {
-                       log.Fatalf("singlerun: %v", err)
+                       loggerutil.FatalWithMessage(arvLogger, fmt.Sprintf("singlerun: %v", err))
                }
        } else {
                waitTime := time.Minute * time.Duration(minutesBetweenRuns)
                for {
                        log.Println("Beginning Run")
-                       arv, err := makeArvadosClient()
+                       arv, err := arvadosclient.MakeArvadosClient()
                        if err != nil {
-                               log.Fatalf("makeArvadosClient: %v", err)
+                               loggerutil.FatalWithMessage(arvLogger, fmt.Sprintf("Error making arvados client: %v", err))
                        }
                        err = singlerun(arv)
                        if err != nil {
@@ -68,9 +68,7 @@ func main() {
        }
 }
 
-func makeArvadosClient() (arvadosclient.ArvadosClient, error) {
-       return arvadosclient.MakeArvadosClient()
-}
+var arvLogger *logger.Logger
 
 func singlerun(arv arvadosclient.ArvadosClient) error {
        var err error
@@ -80,7 +78,6 @@ func singlerun(arv arvadosclient.ArvadosClient) error {
                return errors.New("Current user is not an admin. Datamanager requires a privileged token.")
        }
 
-       var arvLogger *logger.Logger
        if logEventTypePrefix != "" {
                arvLogger = logger.NewLogger(logger.LoggerParams{
                        Client:          arv,
@@ -107,11 +104,11 @@ func singlerun(arv arvadosclient.ArvadosClient) error {
 
        dataFetcher(arvLogger, &readCollections, &keepServerInfo)
 
-       if len(readCollections.UUIDToCollection) == 0 {
-               return nil // no collections read so no more work to do?
+       if readCollections.Err != nil {
+               return readCollections.Err
        }
 
-       _, err = summary.MaybeWriteData(arvLogger, readCollections, keepServerInfo)
+       err = summary.MaybeWriteData(arvLogger, readCollections, keepServerInfo)
        if err != nil {
                return err
        }
@@ -186,7 +183,6 @@ func BuildDataFetcher(arv arvadosclient.ArvadosClient) summary.DataFetcher {
 
                go func() {
                        collectionChannel <- collection.GetCollectionsAndSummarize(
-                               arvLogger,
                                collection.GetCollectionsParams{
                                        Client:    arv,
                                        Logger:    arvLogger,