[12:36] <cjwatson> Hm, the oops linked from https://bugs.launchpad.net/launchpad/+bug/1429358 isn't making sense to me; that stuff *is* preloaded.  I wonder if we're running up against the Storm cache size?
[12:36] <mup> Bug #1429358: Bugs with large numbers of linked branches time out <bug-branch-links> <oops> <timeout> <Launchpad itself:Triaged> <https://launchpad.net/bugs/1429358>
[12:57] <wgrant> cjwatson: That's not implausible. And even if we weren't we'd hit serious CPU time rendering all those branches.
[12:58] <wgrant> cjwatson: btw, that's possibly a dupe of bug #724025
[12:58] <mup> Bug #724025: BugTask:+index timeout due to high cpu time rendering many bug tasks in bug 230350 <qa-ok> <timeout> <Launchpad itself:Triaged> <https://launchpad.net/bugs/724025>
[12:58] <wgrant> May be worth closing 724025 in favour of it.
[12:59] <wgrant> cjwatson: I think all we can reasonably do it truncate the list of branches.
[13:00] <wgrant> It's not as if a page that listed 700 branches would be particularly usable anyway.
[13:09] <cjwatson> is it in fact that many?
[13:09] <cjwatson> launchpad_dogfood=# select count(*) from bugbranch where bug=230350;
[13:09] <cjwatson>  count
[13:09] <cjwatson> -------
[13:09] <cjwatson>     84
[13:09] <cjwatson> (1 row)
[13:10] <wgrant> Oh, now that's a bit odd...
[13:10] <wgrant> cjwatson: Can you test with a larger cache size on DF?
[13:11] <wgrant> Ah ahhahahahujfewuifweuohjiwfeuihjo
[13:11] <wgrant> cjwatson: It's the stacking security checker.
[13:12] <wgrant> With the pathological stacking behaviour of branch-distro.py, which creates a chain a dozen branches long for these.
[13:12] <wgrant> cjwatson: Feel like writing a recursive CTE?
[13:18] <cjwatson> Yeah, bumping the storm cache size to 100000 on DF doesn't appear to change the query count.
[13:19] <cjwatson> Possibly I should finish my ref scanner first :-)
[13:19] <wgrant> The tracebacks confirm my diagnosis:
[13:19] <wgrant>   File "/srv/launchpad.net/production/launchpad-rev-17374/lib/lp/code/model/branch.py", line 1408, in visibleByUser
[13:19] <wgrant>     user, checked_branches)
[13:19] <wgrant>   File "/srv/launchpad.net/production/launchpad-rev-17374/lib/lp/code/model/branch.py", line 1408, in visibleByUser
[13:19] <wgrant>     user, checked_branches)
[13:19] <cjwatson> I've been experimenting with a rhythm of misc maintenance in the morning, git development in the afternoon
[13:19] <wgrant>   File "/srv/launchpad.net/production/launchpad-rev-17374/lib/lp/code/model/branch.py", line 1408, in visibleByUser
[13:19] <wgrant>     user, checked_branches)
[13:19] <wgrant> etc
[13:20] <wgrant> Oh yeah, it's your afternoon. I should probably sleep.
[13:20] <cjwatson> But don't want to get distracted by inflating morning tasks
[13:20] <wgrant> Indeed.
[13:21] <cjwatson> See you at the meeting then.  I should be on time - we had to cancel our guest-for-dinner due to Kirsten being ill
[13:21] <wgrant> Ugh, that's unfortunate. See you then.
[13:23] <wgrant> cjwatson: btw, https://code.launchpad.net/~wgrant/launchpad/sca-api/+merge/252420 fixes one of the OLS issues, if you could look at that today.
[21:09] <blr> cjwatson: when running the tests, hosting_path appears to be an integer?
[21:10] <blr> feel like I'm missing something fundamental that may require more coffee.
[21:14] <cjwatson> blr: It's a stringified integer
[21:14] <cjwatson> We'll need something more sophisticated at some point, this was a "make it work" measure, we just stringify the id to get the hosting path
[21:14] <cjwatson>     def getInternalPath(self):
[21:14] <cjwatson>         """See `IGitRepository`."""
[21:14] <cjwatson>         # This may need to change later to improve support for sharding.
[21:14] <cjwatson>         return str(self.id)
[21:14] <cjwatson> (comment is an understatement)
[21:15] <cjwatson> wgrant: argh I missed your comment from earlier
[21:15]  * cjwatson looks
[21:15] <blr> cjwatson: I see, thanks
[21:36] <cjwatson> wgrant: r=me, just minor things that looked a bit odd
[21:47] <wgrant> cjwatson: Thanks.