From a1e4aa3b269d079c66561f94c9e7b75c174b883f Mon Sep 17 00:00:00 2001 From: freva Date: Mon, 19 Dec 2016 10:39:29 +0100 Subject: Fix NullPointerException when docker stats timesout --- .../main/java/com/yahoo/vespa/hosted/dockerapi/DockerImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'docker-api') 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 { - private Statistics stats; + private Optional stats = Optional.empty(); @Override public void onNext(Statistics stats) { if (stats != null) { - this.stats = stats; + this.stats = Optional.of(stats); onComplete(); } } -- cgit v1.2.3