aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2020-06-26 08:25:37 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2020-06-26 08:25:37 +0200
commit3107db1ddeba678b1fa9d8523d96b36b8f32003a (patch)
tree1715ff807c5a1087fe59a42d371caf38376f49a4 /node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java
parent21b21e029359213038ca4ffbcb17e9687a10c64b (diff)
Avoid going out of memory when deleting files
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java
index 121cb244715..d3ff1b41a38 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/FileFinder.java
@@ -110,17 +110,19 @@ public class FileFinder {
* @return true iff anything was matched and deleted
*/
public boolean deleteRecursively(TaskContext context) {
+ final int limit = 20;
+ int[] numDeleted = { 0 };
List<Path> deletedPaths = new ArrayList<>();
try {
forEach(attributes -> {
if (attributes.unixPath().deleteRecursively()) {
- deletedPaths.add(attributes.path());
+ if (numDeleted[0]++ <= limit) deletedPaths.add(attributes.path());
}
});
} finally {
- if (deletedPaths.size() > 20) {
- context.log(logger, "Deleted " + deletedPaths.size() + " paths under " + basePath);
+ if (numDeleted[0] > limit) {
+ context.log(logger, "Deleted " + numDeleted[0] + " paths under " + basePath);
} else if (deletedPaths.size() > 0) {
List<Path> paths = deletedPaths.stream()
.map(basePath::relativize)