Do not cache RevCommit in keys of VisibilityCache If we cache the RevCommit we could hold onto millions of RevCommit, RevTree and RevCommit[] instances, bloating the server process heap. Change-Id: I48a3aa758ad0b09eb1158c54f95ea7a6a53a97b5
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java index 22969d1..c19da4a 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
@@ -51,7 +51,7 @@ private Key(Object user, String repositoryName, ObjectId objectId) { this.user = checkNotNull(user, "user"); this.repositoryName = checkNotNull(repositoryName, "repositoryName"); - this.objectId = checkNotNull(objectId, "objectId"); + this.objectId = checkNotNull(objectId, "objectId").copy(); } @Override