On Thu, Dec 22, 2016 at 08:37:13AM -0800,
thomas...@enalean.com wrote:
> Hello,
>
> I currently hit a performance issue when a user add a new SSH key. It takes ~10mn to be processed and taken into account which is quite long for the end user. The platform running gitolite is quite large both in number of user and repos.
>
> If I believe the log, it seems we spent most of the times updating the configs:
> 2016-12-07.08:15:48 31684 system,/usr/share/gitolite3/triggers/post-compile/update-git-configs,POST_COMPILE
> 2016-12-07.08:23:05 31684 system,/usr/share/gitolite3/triggers/post-compile/update-gitweb-access-list,POST_COMPILE
As you can see, 'update-git-configs' is taking over 7 minutes,
which is the bulk of what is happening.
> This has left me with multiple questions:
> * Is my analysis of the gitolite logfile correct?
> * I'm not sure to fully understand why gitolite needs to rebuild all the config file when the only change in the admin repo is a new SSH key.
There is nothing "incremental" in gitolite. It does not look at
the diff of the repo and act only on the changed parts. Each
time you push the admin repo, it's a full compile.
> * Are there ways to improve that?
Apply the attached patch to your ~/.gitolite.rc file. They're
just two simple changes: comment out one line, and add 3 other
lines just before the "ENABLE" line, so even if automatically
applying it does not work, just do it manually. If your rc file
does not even have an ENABLE section, please mail me a copy and
I'll tell you what to do.
For a more permanent solution, I'd like to reproduce this on my
setup to play with. Can you send me a sufficiently anonymised
copy of your gitolite.conf (privately, if you prefer)?
thanks
sitaram