aboutsummaryrefslogtreecommitdiffstats
path: root/filedistribution
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2017-11-23 18:03:29 +0100
committerHarald Musum <musum@oath.com>2017-11-23 18:03:29 +0100
commitc8ac8da9a0b6ab16df85ac5d881fe35dc52e7109 (patch)
tree77d8d4a2ce653ff7ca7db71699857bdec5b07cde /filedistribution
parent38509e26461f213919413589d22fd5ce21fc0bf7 (diff)
Set error in connection pool when request fails
Diffstat (limited to 'filedistribution')
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java13
1 files changed, 8 insertions, 5 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 eda481b051d..cd07591c00c 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java
@@ -54,6 +54,7 @@ class FileReferenceDownloader {
private final FileReceiver fileReceiver;
FileReferenceDownloader(File downloadDirectory, ConnectionPool connectionPool, Duration timeout) {
+ log.log(LogLevel.DEBUG, "FileReferenceDownloader connection pool:\n" + connectionPool);
this.connectionPool = connectionPool;
this.downloadTimeout = timeout;
readFromQueueExecutor.submit(this::readFromQueue);
@@ -107,8 +108,7 @@ class FileReferenceDownloader {
Thread.sleep(10);
} catch (InterruptedException e) { /* ignore for now */}
} else {
- log.log(LogLevel.INFO, "Polling queue, found file reference '" +
- fileReferenceDownload.fileReference().value() + "' to download");
+ log.log(LogLevel.INFO, "Will download file reference '" + fileReferenceDownload.fileReference().value() + "'");
downloadExecutor.submit(() -> startDownload(fileReferenceDownload.fileReference(), downloadTimeout, fileReferenceDownload));
}
} while (true);
@@ -137,9 +137,12 @@ class FileReferenceDownloader {
return false;
}
} else {
- log.log(LogLevel.WARNING, "Request failed. Req: " + request + "\nSpec: " + connection.getAddress());
- if (request.isError() && request.errorCode() == ErrorCode.CONNECTION)
- connection.setError(request.errorCode());
+ log.log(LogLevel.WARNING, "Request failed. Req: " + request + "\nSpec: " + connection.getAddress() +
+ ", error code: " + request.errorCode());
+ if (request.isError() && request.errorCode() == ErrorCode.CONNECTION || request.errorCode() == ErrorCode.TIMEOUT) {
+ log.log(LogLevel.WARNING, "Setting error for connection " + connection.getAddress());
+ connectionPool.setError(connection, request.errorCode());
+ }
return false;
}
}