summaryrefslogtreecommitdiffstats
path: root/docker-api
diff options
context:
space:
mode:
authorValerij Fredriksen <valerij92@gmail.com>2018-05-07 22:45:43 +0200
committerValerij Fredriksen <valerij92@gmail.com>2018-05-07 22:45:43 +0200
commit8c6dbe05b04b71b2bc12bcc947f6ec8f5048c935 (patch)
tree6d01ccd33390e2b9dc234da3888207150d2f2def /docker-api
parent7565b28029da741dd429163d8389fe8fe4647b78 (diff)
Use ConcurrentHashMap
Diffstat (limited to 'docker-api')
-rw-r--r--docker-api/src/main/java/com/yahoo/vespa/hosted/dockerapi/DockerImageGarbageCollector.java11
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;