-
Notifications
You must be signed in to change notification settings - Fork 778
It takes a long time to open the history page of a folder if the history is very long #4023
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Firstly, there is no history cache for directories (#1704 - not easy to do) which means that when retrieving history for a directory, The problem is that the webapp retrieves the history as a whole:
This means that the complete history of given directory is gathered first into the
causing significant heap usage as noted in #3541. To address this, the method needs to be replaced by some sort of history reader or a stream or iterator that would keep the state in the session however would allow to return data ( |
The UX aspect also needs to be taken into account. With iterator, the number of history entries to be displayed will not be known before hand so there would have to be the double arrow link Anyhow, solely the iterator is not applicable to the paging as it should be able possible to move backwards. There needs to be some caching of history entries per session, likely limited to some amount to avoid the situation described in #3541. Currently the |
Is your feature request related to a problem? Please describe.
It takes a long time to open the history page of a folder if the history is very long.
Because OpenGrok incrementally updates the history cache based on the modification time of the file, and the modification of files in subfolders does not affect the timestamp of the top-level folder, so OpenGrok dynamically loads the history information of the folder through JGit. For a folder with 65K histories, OpenGrok-1.7.21 takes about 2 minutes to load all the history information.
Describe the solution you'd like
Since the history page is displayed in pagination, server-side pagination should greatly improve the page loading speed and user experience.
Describe alternatives you've considered
None
Additional context
None
The text was updated successfully, but these errors were encountered: