diff options
author | 2015-03-20 16:11:28 +0000 | |
---|---|---|
committer | 2015-03-23 11:51:45 +0000 | |
commit | 16bff48865a70c7206ba17ee213debe87304f380 (patch) | |
tree | 059f25a55f6dcaddb89136a28262e453d0da6fda /src/main/java/com/google | |
parent | 2808731f621216e8caa4b350b34b500686e44c97 (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')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/actions/cache/CompactPersistentActionCache.java | 9 |
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(); } |