mirror: increase logging for easier debugging

This commit is contained in:
Lorenzo Bolla
2021-05-04 20:41:28 +02:00
parent 2b7bb24c92
commit 19f7b0fe8d
2 changed files with 25 additions and 7 deletions

View File

@@ -99,13 +99,13 @@ func apiDbCleanup(c *gin.Context) {
db, _ := context.Database()
if toDelete.Len() > 0 {
batch := db.StartBatch()
batch := db.CreateBatch()
toDelete.ForEach(func(ref []byte) error {
collectionFactory.PackageCollection().DeleteByKey(ref, batch)
return nil
})
err = db.FinishBatch(batch)
err = batch.Write()
if err != nil {
return fmt.Errorf("unable to write to DB: %s", err)
}

View File

@@ -146,8 +146,8 @@ func retryableError(err error) bool {
case net.Error:
return true
}
return false
// Note: make all errors retryable
return true
}
func (downloader *downloaderImpl) newRequest(ctx context.Context, method, url string) (*http.Request, error) {
@@ -182,17 +182,35 @@ func (downloader *downloaderImpl) DownloadWithChecksum(ctx context.Context, url
for maxTries > 0 {
temppath, err = downloader.download(req, url, destination, expected, ignoreMismatch)
if err != nil && retryableError(err) {
maxTries--
if err != nil {
if retryableError(err) {
if downloader.progress != nil {
downloader.progress.Printf("Error downloading %s: %s retrying...\n", url, err)
}
maxTries--
} else {
if downloader.progress != nil {
downloader.progress.Printf("Error downloading %s: %s cannot retry...\n", url, err)
}
break
}
} else {
// get out of the loop
if downloader.progress != nil {
downloader.progress.Printf("Success downloading %s\n", url)
}
break
}
downloader.progress.Printf("Retrying %s...\n", url)
if downloader.progress != nil {
downloader.progress.Printf("Retrying %d %s...\n", maxTries, url)
}
}
// still an error after retrying, giving up
if err != nil {
if downloader.progress != nil {
downloader.progress.Printf("Giving up on %s...\n", url)
}
return err
}