"git.curoverse.com/arvados.git/sdk/go/logger"
"git.curoverse.com/arvados.git/services/datamanager/collection"
"git.curoverse.com/arvados.git/services/datamanager/keep"
- "git.curoverse.com/arvados.git/services/datamanager/loggerutil"
"log"
"os"
)
// working with stale data.
func MaybeWriteData(arvLogger *logger.Logger,
readCollections collection.ReadCollections,
- keepServerInfo keep.ReadServers) (bool, error) {
+ keepServerInfo keep.ReadServers) error {
if WriteDataTo == "" {
- return false, nil
+ return nil
}
summaryFile, err := os.Create(WriteDataTo)
if err != nil {
- return false, err
+ return err
}
defer summaryFile.Close()
KeepServerInfo: keepServerInfo}
err = enc.Encode(data)
if err != nil {
- return false, err
+ return err
}
log.Printf("Wrote summary data to: %s", WriteDataTo)
- return true, nil
+ return nil
}
// ShouldReadData should not be used outside of development
readCollections *collection.ReadCollections,
keepServerInfo *keep.ReadServers) {
if readDataFrom == "" {
- loggerutil.FatalWithMessage(arvLogger,
- "ReadData() called with empty filename.")
+ readCollections.Err = fmt.Errorf("ReadData() called with empty filename.")
+ return
} else {
summaryFile, err := os.Open(readDataFrom)
if err != nil {
- loggerutil.FatalWithMessage(arvLogger,
- fmt.Sprintf("Failed to open %s: %v", readDataFrom, err))
+ readCollections.Err = err
+ return
}
defer summaryFile.Close()
data := serializedData{}
err = dec.Decode(&data)
if err != nil {
- loggerutil.FatalWithMessage(arvLogger,
- fmt.Sprintf("Failed to read summary data: %v", err))
+ readCollections.Err = err
+ return
}
// re-summarize data, so that we can update our summarizing