diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2018-05-07 22:45:43 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerij92@gmail.com> | 2018-05-07 22:45:43 +0200 |
commit | 8c6dbe05b04b71b2bc12bcc947f6ec8f5048c935 (patch) | |
tree | 6d01ccd33390e2b9dc234da3888207150d2f2def /docker-api | |
parent | 7565b28029da741dd429163d8389fe8fe4647b78 (diff) |
Use ConcurrentHashMap
Diffstat (limited to 'docker-api')
-rw-r--r-- | docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java index ab36ace8904..6e728972da9 100644 --- a/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java +++ b/docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java @@ -9,6 +9,7 @@ import java.time.Instant; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -16,11 +17,11 @@ import java.util.stream.Stream; * @author freva */ public class DockerImageGarbageCollector { - private final Duration MIN_AGE_IMAGE_GC; - private Map<String, Instant> lastTimeUsedByImageId = new HashMap<>(); + private final Duration minAgeImageGc; + private final Map<String, Instant> lastTimeUsedByImageId = new ConcurrentHashMap<>(); public DockerImageGarbageCollector(Duration minAgeImageToDelete) { - MIN_AGE_IMAGE_GC = minAgeImageToDelete; + minAgeImageGc = minAgeImageToDelete; } public void updateLastUsedTimeFor(String imageId) { @@ -55,7 +56,7 @@ public class DockerImageGarbageCollector { else return o1.compareTo(o2); }) .flatMap(imageId -> { - // Deleting an image by image ID with multiple tags will fail -> map IDs to all the tags refering to the ID + // Deleting an image by image ID with multiple tags will fail -> map IDs to all the tags referring to the ID String[] repoTags = unusedImagesByRecent.get(imageId).getRepoTags(); return (repoTags == null) ? Stream.of(imageId) : Stream.of(repoTags); }) @@ -89,7 +90,7 @@ public class DockerImageGarbageCollector { }); lastTimeUsedByImageId.entrySet().stream() - .filter(entry -> Duration.between(entry.getValue(), now).minus(MIN_AGE_IMAGE_GC).isNegative()) + .filter(entry -> Duration.between(entry.getValue(), now).minus(minAgeImageGc).isNegative()) .map(Map.Entry::getKey) .forEach(image -> { String imageToSpare = image; |