|
|
|
> McAfee Viruscan active, but not set to scan index file-types. Not sure if it's relevant, but we have a report from another user that McAfee's NetShield 4.5 claims to let one exclude folders from scanning, but doesn't actually do so. Upgrading to 7.0 apparently fixes this. With database indexing, it now takes 17 seconds.
Its an improvement, but still very long... I dont think we are using McAfee's NetShield 4.5.
Are we sure its nothing to do with the way indexing is done now (it now uses less files) Currently takes about 25 minutes.
We have about 17500 issues Issue cache size is 10000 Server is running on linux (so no virusscan issues) Need to work out why this is taking so long.... It's fairly likely that there isn't much optimisation left to be done. What do you find are the typical reasons for needing to reindex?
Incidentally, having just waited an hour for the Apache JIRA to reindex during an upgrade, I agree it's a real problem whatever the cause. Perhaps we need a way to make JIRA read-only, so that reindexes/upgrades can be done 'offline' and then made live in one quick operation.
I think there is plenty of optimisation to be had here.
a) its practically 100% IO-bound What you want to do is a) get Doug Lea's concurrency Library My suggestion: Issue Loading Worker Pool
(#) Really speaking, you can fold the 2 loaders into one worker pool and the two indexers into another. The primary thing is to give the database access and the lucene indexing their own thread pools so one task doesnt starve the other of threads. Given the io-bound nature of the reindexing, you can probably tune it up to a very high number of threads. -Nick Using the threadpool executor, its acutally even easier than my description above.
Roughly speaking it looks like this: PooledExecutor executor = new PooledExecutor(new LinkedQueue, 10); foreach issue: { executor.execute(new Runnable() { executor.execute(new Runnable() {
... load comments
... index comments
});
} Nick champ - can you send me any source code that you have regarding this? I'll see what I can do to integrate it.
Here is a rough cut. Not much testing done...
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.atlassian.com/software/jira/docs/latest/indexing.html
Does your Issue cache contain all Issues or is its maximum set to less than the total Issues?