diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-04-05 13:03:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-05 13:03:37 +0200 |
commit | d578e0d5951ace54b4caddb9c66b5274fdf8689a (patch) | |
tree | a66c6aa713bacb02b089e6f2252a4f75d976436d | |
parent | 3ab13a234adf4e9aefe39b8c21b0a4e5622a57a2 (diff) | |
parent | 63dc3ec5ac1b7bc19a26b5b92e2fc7dd6f15af8b (diff) |
Merge pull request #5463 from vespa-engine/hmusum/log-at-info-level-if-retrying
Log at higher log level if retrying
-rw-r--r-- | filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java index 04e5f1a9577..985b9a0069e 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.logging.Level; import java.util.logging.Logger; /** @@ -55,11 +56,13 @@ public class FileReferenceDownloader { FileReference fileReference = fileReferenceDownload.fileReference(); long end = System.currentTimeMillis() + timeout.toMillis(); boolean downloadStarted = false; + int retryCount = 0; while ((System.currentTimeMillis() < end) && !downloadStarted) { try { - if (startDownloadRpc(fileReferenceDownload)) { + if (startDownloadRpc(fileReferenceDownload, retryCount)) { downloadStarted = true; } else { + retryCount++; Thread.sleep(sleepBetweenRetries.toMillis()); } } @@ -104,7 +107,7 @@ public class FileReferenceDownloader { } } - private boolean startDownloadRpc(FileReferenceDownload fileReferenceDownload) { + private boolean startDownloadRpc(FileReferenceDownload fileReferenceDownload, int retryCount) { Connection connection = connectionPool.getCurrent(); Request request = new Request("filedistribution.serveFile"); String fileReference = fileReferenceDownload.fileReference().value(); @@ -112,18 +115,19 @@ public class FileReferenceDownloader { request.parameters().add(new Int32Value(fileReferenceDownload.downloadFromOtherSourceIfNotFound() ? 0 : 1)); execute(request, connection); + Level logLevel = (retryCount > 0 ? LogLevel.INFO : LogLevel.DEBUG); if (validateResponse(request)) { - log.log(LogLevel.DEBUG, () -> "Request callback, OK. Req: " + request + "\nSpec: " + connection); + log.log(logLevel, () -> "Request callback, OK. Req: " + request + "\nSpec: " + connection); if (request.returnValues().get(0).asInt32() == 0) { - log.log(LogLevel.DEBUG, () -> "Found file reference '" + fileReference + "' available at " + connection.getAddress()); + log.log(logLevel, () -> "Found file reference '" + fileReference + "' available at " + connection.getAddress()); return true; } else { - log.log(LogLevel.DEBUG, "File reference '" + fileReference + "' not found for " + connection.getAddress()); + log.log(logLevel, "File reference '" + fileReference + "' not found for " + connection.getAddress()); connectionPool.setNewCurrentConnection(); return false; } } else { - log.log(LogLevel.DEBUG, "Request failed. Req: " + request + "\nSpec: " + connection.getAddress() + + log.log(logLevel, "Request failed. Req: " + request + "\nSpec: " + connection.getAddress() + ", error code: " + request.errorCode() + ", set error for connection and use another for next request"); connectionPool.setError(connection, request.errorCode()); return false; |