aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/actions
diff options
context:
space:
mode:
authorGravatar Janak Ramakrishnan <janakr@google.com>2015-03-20 16:11:28 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-03-23 11:51:45 +0000
commit16bff48865a70c7206ba17ee213debe87304f380 (patch)
tree059f25a55f6dcaddb89136a28262e453d0da6fda /src/main/java/com/google/devtools/build/lib/actions
parent2808731f621216e8caa4b350b34b500686e44c97 (diff)
Don't print out action cache if it has more than 1000 entries. This prevents IDE OOMing when a large action cache is in scope during debugging.
-- MOS_MIGRATED_REVID=89127817
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions')
-rw-r--r--src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java b/src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java
index a4406d7e43..3e608cf2da 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java
@@ -281,7 +281,10 @@ public class CompactPersistentActionCache implements ActionCache {
@Override
public synchronized String toString() {
StringBuilder builder = new StringBuilder();
- builder.append("Action cache (" + map.size() + " records):\n");
+ // map.size() - 1 to avoid counting the validation key.
+ builder.append("Action cache (" + (map.size() - 1) + " records):\n");
+ int size = map.size() > 1000 ? 10 : map.size();
+ int ct = 0;
for (Map.Entry<Integer, byte[]> entry: map.entrySet()) {
if (entry.getKey() == VALIDATION_KEY) { continue; }
String content;
@@ -292,6 +295,10 @@ public class CompactPersistentActionCache implements ActionCache {
}
builder.append("-> ").append(indexer.getStringForIndex(entry.getKey())).append("\n")
.append(content).append(" packed_len = ").append(entry.getValue().length).append("\n");
+ if (++ct > size) {
+ builder.append("...");
+ break;
+ }
}
return builder.toString();
}