summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-04-24 11:34:29 +0200
committerValerij Fredriksen <valerijf@oath.com>2018-04-24 11:34:29 +0200
commitf80f7a09a7cf6c99d93d9c160e3c4bb065029e04 (patch)
treeaa4a1514fc3b74bdc24e967ef1d4bcf73afe317e
parent20ad31b311cc5b1dc18f1fa8d302f6d9d42edcc1 (diff)
Log diff size
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java
index 3cb7bc68059..66dbe5a7c05 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/task/util/file/Editor.java
@@ -30,6 +30,7 @@ public class Editor {
private final Consumer<List<String>> consumer;
private final String name;
private final LineEditor editor;
+ private int diffSize = 0;
/**
* Read the file which must be encoded in UTF-8, use the LineEditor to edit it,
@@ -102,7 +103,7 @@ public class Editor {
return false;
}
- String diffDescription = diffTooLarge(diff) ? ": Diff too large" : ":\n" + diff.toString();
+ String diffDescription = diffTooLarge() ? ": Diff too large (" + diffSize + ")" : ":\n" + diff.toString();
logConsumer.accept("Patching file " + name + diffDescription);
consumer.accept(newLines);
return true;
@@ -112,21 +113,25 @@ public class Editor {
return this.edit(line -> context.recordSystemModification(logger, line));
}
- private static void maybeAdd(StringBuilder diff, List<String> lines) {
+ private void maybeAdd(StringBuilder diff, List<String> lines) {
for (String line : lines) {
- if (!diffTooLarge(diff)) {
+ // 2 for '+' and '\n'
+ diffSize += 2 + line.length();
+ if (!diffTooLarge()) {
diff.append('+').append(line).append('\n');
}
}
}
- private static void maybeRemove(StringBuilder diff, String line) {
- if (!diffTooLarge(diff)) {
+ private void maybeRemove(StringBuilder diff, String line) {
+ // 2 for '-' and '\n'
+ diffSize += 2 + line.length();
+ if (!diffTooLarge()) {
diff.append('-').append(line).append('\n');
}
}
- private static boolean diffTooLarge(StringBuilder diff) {
- return diff.length() > MAX_LENGTH;
+ private boolean diffTooLarge() {
+ return diffSize > MAX_LENGTH;
}
}