-
Notifications
You must be signed in to change notification settings - Fork 786
Open
Labels
Description
When thinking about #3243, I came to realize that the web app suffers from similar problem: in general whenever a history is requested, the History
object representing the complete history of given file/directory is loaded into memory:
opengrok/opengrok-web/src/main/webapp/history.jsp
Lines 81 to 84 in 610d908
File file = cfg.getResourceFile(primePath); | |
History hist; | |
try { | |
hist = HistoryGuru.getInstance().getHistoryUI(file); |
What's more, it is actually stored in the request:
request.setAttribute("history.jsp-hist", hist); |
and used for paging.
Even for smaller repositories such as the OpenGrok Git repository this creates significant memory pressure. Here's a graph representing heap stats from a web app where I displayed history for couple of directories (including the top level directory) for indexed OpenGrok Git repository:
The Eden space grew by bunch of gigabytes !