Comment 12 for bug 118625

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote : Re: codebrowse sometimes hangs

Sadly, I don't have time this month (at least) to work on this. In the extremely unlikely event that someone else finds the time, here are some rambles:

My main hypothesis is that the problem is still around generating the revision graph cache. In particular, it's possible to end up with many threads trying to generate the revision graph cache for the same branch, which is an obvious waste and can push us in the direction of death spirals of doom. So:

1) Try to confirm this by looking at the logs (there should be enough information to tell at any given time how many threads are building revision graph caches for which branches)

2) Arrange things so that if a thread needs the revision cache for a particular branch and there is already another thread producing the cache for that branch, the first-mentioned thread just waits for the other one rather than redoing it's work. This probably isn't super hard, but will involve some not-fun thread programming I expect.

3) Change the cache-building code to update an out of date cache rather than build it from scratch. I think John Arbash Meinel has some code that does this, or at least would be a start.