diff options
author | freva <valerijf@yahoo-inc.com> | 2016-12-19 10:39:29 +0100 |
---|---|---|
committer | freva <valerijf@yahoo-inc.com> | 2016-12-19 10:39:29 +0100 |
commit | a1e4aa3b269d079c66561f94c9e7b75c174b883f (patch) | |
tree | 347f7652a98b59da436da76eb456b6c49810a5b9 /docker-api | |
parent | 2e886052ebe4e7cd6b019ccb93aa3c1c3534fd05 (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.java | 8 |
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(); } } |