| Johannes Carlsson thanks for reporting the issue. In a nutshell, the changes with 0.4.1 were composed of:
- Fetch of individual refs instead of refs/changes/*
- Use of the Checks API to filter out the changes that do not need validation
With the combination of 1. and 2. the branch reindexing time would be a lot faster in 0.4.1 compared to 0.3.3. However, in your case, you do not have 2. because you are not using the Checks plugin. Also, by looking at your Gerrit httpd_log, it looks like the repository doesn't have a lot of refs and thus you do not see a benefit but, instead, a performance regression. When the repository has lots of refs (hundreds of thousands), fetching refs/changes/* (what the v0.3.3 was doing) may take tens of minutes and, in extreme cases, also up to 1h. That is why I changed the approach and did the fetch of the individual refs, which is slower in your case. Let me see if I can "convince" Jenkins that the subsequent "fetch" isn't needed and thus cut the tail of git-upload-pack after the query changes API. |