I'd think that re indexing would be memory dependent as well - I don't know what the java default heaps are but increasing them and limiting the lucene flush threshold seems like the correct course of action...
--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Do you have a different value of index.batchThreads or index.threads defined your review_site/etc/gerrit.config ?Specially index.threads would default to 1 if not specified. In some cases the application might override the value you are passing within the command line with the settings defined in your review_site. At an earlier deployment for Gerrit 2.9 we tuned the number of threads to process the reindexing, and we got a significant gain but we were using physical machine with 24 CPUs and 128 GB RAM.
Reindexing (both offline and online) is not always using CPU optimally. It utilizes multiple threads but only onethread per project. If you have a lot of projects of similar size (size = number of changes) then it it likely to utilizeall the threads you specify.However, if you have one huge project and a couple of small ones then it will start reindexing with multiple threadsbut as soon as smaller projects are done it will continue with only one thread on that huge project.This is something we definitely have to improve.
On Tuesday, December 15, 2015 at 9:31:07 AM UTC, zivkov wrote:Reindexing (both offline and online) is not always using CPU optimally. It utilizes multiple threads but only onethread per project. If you have a lot of projects of similar size (size = number of changes) then it it likely to utilizeall the threads you specify.However, if you have one huge project and a couple of small ones then it will start reindexing with multiple threadsbut as soon as smaller projects are done it will continue with only one thread on that huge project.This is something we definitely have to improve.
Sorting the project list by decreasing order of change count
would also help maximize the available threads for longer.
We
have quite a few (over a thousand) projects running the gamut
from almost no changes to many thousands each. It looks like
some of the largest are starting to get processed late in the
sequence right now and so they end up running on a few
(eventually only one) threads well after the others are complete.
If the largest were started at the beginning, the time other
threads spent underutilized could be minimized at least.
--