From 0af73afd9b92ed8e0332594ce69966945e756d2d Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Tue, 29 Oct 2013 21:05:47 +0400 Subject: [PATCH] [log] log the error only once per request --- .../com/intellij/vcs/log/data/VcsLogDataHolder.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java index 050a51d7b072..6a1dd0ddb50e 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/data/VcsLogDataHolder.java @@ -704,6 +704,7 @@ public class VcsLogDataHolder implements Disposable { @NotNull public Collection getTopCommitDetails() { final Collection topCommits = getTopCommits(); + final AtomicBoolean errorDetailsAttached = new AtomicBoolean(); return ContainerUtil.mapNotNull(topCommits, new Function() { @Nullable @Override @@ -715,9 +716,14 @@ public class VcsLogDataHolder implements Disposable { } // shouldn't happen - LOG.error("No details were stored for commit " + hash, - new Attachment("details_cache.txt", myTopCommitsDetailsCache.toString()), - new Attachment("top_commits.txt", topCommits.toString())); + String errorMessage = "No details were stored for commit " + hash; + // log the error only once for the getTopCommitDetails request + if (!errorDetailsAttached.get()) { + errorDetailsAttached.set(true); + LOG.error(errorMessage, + new Attachment("details_cache.txt", myTopCommitsDetailsCache.toString()), + new Attachment("top_commits.txt", topCommits.toString())); + } return null; } });