aboutsummaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorfreva <valerijf@yahoo-inc.com>2016-12-19 10:39:29 +0100
committerfreva <valerijf@yahoo-inc.com>2016-12-19 10:39:29 +0100
commita1e4aa3b269d079c66561f94c9e7b75c174b883f (patch)
tree347f7652a98b59da436da76eb456b6c49810a5b9 /docker-api
parent2e886052ebe4e7cd6b019ccb93aa3c1c3534fd05 (diff)
Fix NullPointerException when docker stats timesout
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
index 74d44d77f4a..81913bfd6cf 100644
--- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
+++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java
@@ -281,8 +281,8 @@ public class DockerImpl implements Docker {
DockerStatsCallback statsCallback = dockerClient.statsCmd(containerName.asString()).exec(new DockerStatsCallback());
statsCallback.awaitCompletion(10, TimeUnit.SECONDS);
- return Optional.of(new ContainerStatsImpl(statsCallback.stats.getNetworks(), statsCallback.stats.getCpuStats(),
- statsCallback.stats.getMemoryStats(), statsCallback.stats.getBlkioStats()));
+ return statsCallback.stats.map(stats -> new ContainerStatsImpl(
+ stats.getNetworks(), stats.getCpuStats(), stats.getMemoryStats(), stats.getBlkioStats()));
} catch (NotFoundException ignored) {
return Optional.empty();
} catch (DockerException | InterruptedException e) {
@@ -448,12 +448,12 @@ public class DockerImpl implements Docker {
}
private class DockerStatsCallback extends ResultCallbackTemplate<DockerStatsCallback, Statistics> {
- private Statistics stats;
+ private Optional<Statistics> stats = Optional.empty();
@Override
public void onNext(Statistics stats) {
if (stats != null) {
- this.stats = stats;
+ this.stats = Optional.of(stats);
onComplete();
}
}