/srv/irclogs.ubuntu.com/2010/12/09/#launchpad-dev.txt

bacthumper, rockstar, stub, mwhudson, stevek: reviewers meeting00:02
mwhudsonsomething in the bugs page seems to make firefox go insane :(00:05
mwhudsonjs-wise00:05
=== Ursinha is now known as Ursinha-afk
lifelessjml: another recipe bug for you - https://bugs.launchpad.net/launchpad-code/+bug/68762301:00
_mup_Bug #687623: No ability to manually trigger a build 'like the daily build system' <Launchpad Bazaar Integration:New> <https://launchpad.net/bugs/687623>01:00
spmthumper: spiv: would appreciate your thoughts here: we have ~ 10 requests against BRANCH:%2Bbranch/tsumego20k/1.0 but https://code.launchpad.net/~branch says no code?01:08
spivspm: %2B is +, not ~01:09
spmAh01:09
spmwrong group. that's a start.01:09
spmhttps://code.launchpad.net/tsumego20k looks more like it01:10
spivBut there's no 1.0 series.01:11
spivThere's a 'stable' series (with a 1.0 release).01:11
spmhrm. and their branch is only 472K as well.01:12
spivSo, requests for that branch are presumably wrong, and ought to give "branch not found".01:12
spmlp:tsumego20k  as in01:12
spivthey probably mean /stable rather than /1.0?01:12
spmwell. it gets worse. that, and another branch are eating memory. just got a swap alert. I'm going to have to big stick shortly.01:13
spivOh and for added fun the stable branch appears to have a broken stacked-on target.01:13
spmwould that be causing the pain that codehost is experiencing?01:14
spivI wouldn't *think* so01:14
spmah. they have another: BRANCH:~goadict/tsumego20k/release-1.001:14
spivBut it could be... it's hard to be sure.01:15
spmmwhudson: so gist is we have one, maybe 2 or 3 branches that are spinning doing "something"; and eating memory and CPU01:16
spivI don't know of any open bugs that would cause this sort of spinning now that codehosting is running bzr 2.201:16
mwhudsonah ok01:16
spivEr, 2.2.201:16
mwhudsonspm: have you whacked them with that gdb thing?01:17
spmno, wasn't game to just yet.01:17
spmhaven't done any whacking - just watching/gathering.01:17
mwhudsonk01:17
spmhttps://pastebin.canonical.com/40699/01:17
spmhttps://pastebin.canonical.com/40700/ for a process listing01:18
spmthe db-devel ones, while alarming to have a few, don't seem to be problematic.01:19
spivHuh.01:19
spivSome say "+branch", some say "%2Bbranch".  I wonder why.01:20
spivProbably a red herring for this issue.01:20
spmthe cpu/load spike seems to be coming down tho. so I'm strongly tempted to just let things resolve on their own.01:20
spmwell... load. not cpu. that's still flat out.01:20
mwhudsonthat's a lot of processes01:23
mwhudsoni wonder which user 2978124 is01:23
mwhudsonprobably launchpad-pqm01:23
spmhow do we find out? select * from person?01:23
mwhudsony01:24
spmtoo obvious that. if even a sysadmin can guess correctly. /me files a big for greater obscurity.01:24
spmbug, too.01:24
spmlaunchpad-buildbot01:25
mwhudsonah ok, that makes some kind of sense too01:25
spmso something baout those branches tho is driving codehost to 100% cpu for ages, which is bad. :-(01:29
spmworth a pygdb on one?01:29
spmhaha. on codehost itself, and it's easier to copy the branch from my local pc up.01:30
mwhudsonhee hee01:32
mwhudsoni guess you could run bzr get /srv/.../00/0x/xx/xx if you coudl be bothered01:32
mwhudsonyeah, i reckon pygdb one01:32
mwhudsonthe user on the other end must be bored already by now01:32
spmor afk01:35
spmoh that's a bad sign... the backtrace.py is not showing a whole lotta activity...01:39
* spm lets it be for a bit longer01:39
mwhudson:/01:40
spmmwhudson: I gave up. it never progressed beyond 'Thread 1' as output. trying a gcore.02:06
mwhudsonspm: :(02:06
mwhudsonspm: maybe just attach with gdb and run 'bt'02:06
mwhudsonthe process will only be single threaded02:07
spmsure02:07
spivmwhudson: not necessarily (but probably)02:07
spmerr. pebkac? $ gdb 23558 ; (gdb) bt ==> No stack.02:08
spivmwhudson: the insert_stream verb in the server spawns a thread as that was easiest...02:08
spivspm: gdb -p 23558 ?02:08
spmbah02:08
spmthat's better. ta02:08
mwhudsonspiv: whee02:09
spmoh wow. it looks almost like recursion hell02:09
spmpls to save me from rtfm - the command to disable gdb paging?02:09
spmset pagination off02:10
mwhudsoni guess that might explain why pygdb didn't work so well02:10
mwhudsonthough it prints the stack as it goes02:11
spmholy crap. I'm copping 50k/s of gdb output. and it's not stopping.....02:11
spivspm: be careful what you wish for!02:11
spmreckon02:12
spmglad I don't have "infinite" buffers any more, or this'd suck02:12
mwhudsonwell this sounds like fin02:12
mwhudsonfun02:12
spmhttps://pastebin.canonical.com/40701/ for 3 pages of so far02:13
mwhudsonwhisky tango foxtrot!!02:14
spmhttps://pastebin.canonical.com/40702/ next 4 pages (i think...)02:15
spmi call busticated.02:15
spivHuh, this is an lp-serve process?02:15
spmcodehost?02:15
spmyes02:16
mwhudsonspiv: yes02:16
spivAh, I see, it veers off into Twisted via lp.codehosting.vfs.transport.SynchronousAdapter02:16
spivSo this is a bit disheartening :(02:17
spmspiv: so it's your fault?02:17
* spm establishes random pin-the-blame-game early02:17
spivspm: well, I thought bzr 2.2.2 fixed this bug. :/02:17
spm:-(02:18
spivOr rather, fixed one of the two issues that combined to cause it.02:18
mwhudsonoh, it's stringifying a traceback inside twisted's failure code02:18
spmah luverly, so we've maybe just discovered #3?02:18
spivIt appears to be a error-handler-falls-over-and-recurses-into-the-error-handler death sprial.02:18
spivmwhudson: right02:18
spmspiv: so stabby time, or more info would be useful?02:18
* spiv digs up the issue he thought he fixed.02:19
spivspm: hmm.  The traceback is probably enough.  Can you give me a minute to ponder?02:19
spmsure. it's not wonderful, but getting this fixed is worth the pain02:19
mwhudsonspm: can you paste some more traceback actually?02:20
spmeasily02:20
spmwell.. easily but boringly. just sayin'02:20
mwhudsonjust a couple more pages02:20
spivArgh, this really looks like the bug I fixed!02:21
mwhudsoni'm not sure if it's infinite recursion or just stupidly deep recursion02:21
spivrepr of NotBranchError02:21
spmhttps://pastebin.canonical.com/40703/02:21
spmmwhudson: I don't believe there's a difference outside academia there :-)02:22
* spiv hmms02:22
spivOh, *blah*02:23
* spiv thinks out loud02:23
spivNotBranchError guards against open_repository failing with unexpected exceptions02:23
spmyou think "*blah*"?? really!?!?!02:23
mwhudsonspiv: let me guess, it's partly twisted's fault?02:23
spivmwhudson: (yes)02:23
spivBut open_repository is calling off into the lp VFS stuff02:23
spivWhich calls into Twisted stuff02:23
mwhudsonanything traceback that has __getstate__ in it instantly makes me want to cry02:24
mwhudsonand punch glyph in the face in about 200102:24
* spm hands mwhudson a tissue box, and starts playing a small violin02:24
spivWhich thanks to the crumminess of Twisted's Failure class stringifies errors and tracebacks02:24
spivWhich happens inside the lp codehosting VFS stuff, so my NotBranchError guard doesn't matter: Twisted tries to stringify a NotBranchError (whose bzrdir fails badly on open_repository)02:25
spivSo off we go into the recursion.02:26
lifeless=== Top 10 Time Out Counts by Page ID ===02:26
lifeless    Hard / Soft  Page ID02:26
lifeless     146 / 5425  Archive:+index02:26
lifeless      62 /  400  Distribution:+bugs02:26
lifeless      61 /  233  BugTask:+index02:26
lifeless      59 /    2  Person:EntryResource:retractTeamMembership02:26
lifeless      38 /  419  Distribution:+bugtarget-portlet-bugfilters-stats02:26
lifeless      20 /   28  DistroArchSeries:+index02:26
lifeless      11 /   16  DistroSeries:+queue02:26
lifeless      11 /    2  Cve:+index02:26
lifeless      10 /   95  ProjectGroupSet:CollectionResource:#project_groups02:26
lifeless       9 /    6  ProjectGroup:+milestones02:26
spivRoughly: repr(NotBranchError) -> open_repository -> codehosting VFS -> Twisted gunk -> repr(NotBranchError)02:26
wgrantThe fix for the top one should be on qastaging in a few minutes, hopefully.02:26
spivmwhudson: does that sound plausible?02:27
mwhudsonspiv: yes02:27
spivmwhudson: ok, now what can we do about it? :(02:27
mwhudsonspiv: make Failure throw away the traceback entirely?02:27
spivmwhudson: I *think* perhaps this isn't something bzrlib can sensibly fix.02:27
mwhudsonperhaps with a monkey patch?02:28
mwhudsonspiv: how can we reproduce this locally?02:28
spivmwhudson: IIRC the condition is something like a lookup on +branch/something/something causes a strange VFS error02:28
mwhudsonspiv: i don't quite understand why NotBranchError is getting raised in the smart server02:29
mwhudsonoh no, maybe that makes sense02:29
wgrantmwhudson: Stacking, maybe?02:29
spivBecause the codehosting VFS is returning that from a transport operation, or something odd like that?02:29
spivthumper may remember the details02:29
mwhudsonwgrant: stacking is mostly a client side thing though02:29
spivI'll see if I can dig out the relevant conversation from my logs02:29
mwhudsonspiv: is NotBranchError raised by BzrDir.open or something maybe?02:30
spivIt's definitely an issue relating to how the server-side vfs translates stuff, maybe in weird cases like a dev focus stacked on itself, or something.02:30
spivIIRC it's at the point of trying to open the bzrdir that in LP would have the auto-stacking config02:31
spivIIRC +branch might be involved?  Or something?02:31
spivmwhudson: yeah, probably02:31
mwhudson+branch shouldn't be involved unless someone has been editing .bzr/branch/branch.conf by hand02:31
spmi'm about to break for lunch - need anything more before i run?02:32
lifelessnoone would be silly enough to do that :O02:32
spivspm: I think it's probably ok to kill before you run, if you want02:32
spmspiv: okidoki02:33
mwhudsonspm: yeah, as spiv says02:33
spivmwhudson: see logs for this channel for Oct 1102:33
spivmwhudson: I think that's when I chatted with thumper about this initially02:33
spivjust reviewing now02:33
spmugh. looks like the owner is kicking the branch/whatever operation(s) off again02:34
* spm has applied the sledgehammer :-(02:35
* mwhudson pokes around with sftp02:38
spivmwhudson: so in thumper's situation (which involved a patch he may have abandoned, so there may some red herrings here)02:38
mwhudsoni can't see anything unusual :(02:40
mwhudsonhttps://code.launchpad.net/~goadict/tsumego20k/trunk02:40
spivmwhudson: he encountered this problem on an open_branch HPSS call to ~user/proj (trying 'bzr revno ~user/proj/no-such-branch', I think)02:40
mwhudsonisn't a real branch02:40
mwhudsonhang on, let me check what it _is_02:40
mwhudsonspiv: hm02:41
spivmwhudson: default_stack_on = /~goadict/tsumego20k/trunk02:41
mwhudsonthere's a bzrdir there, but no branch02:41
mwhudsonspiv: yeah, which is what one would expect02:41
spivmwhudson: in sftp://bazaar.launchpad.net/~goadict/tsumego20k/.bzr/control.conf02:41
mwhudsonspiv: right02:41
spivThat is a branch AFAICT over SFTP?02:42
spivand not a stacked branch.02:42
mwhudsonspiv: parse error02:42
spivmwhudson: lftp bazaar.launchpad.net:~goadict/tsumego20k/trunk/.bzr> cat branch/format02:43
spivBazaar Branch Format 7 (needs bzr 1.6)02:43
spivWhy do you say that ~goadict/tsumego20k/trunk isn't a real branch?02:43
mwhudsonspiv: by mistake, sorry02:43
spivAh.02:43
mwhudsonspiv: https://code.launchpad.net/~goadict/tsumego20k/stable02:44
mwhudsonspiv: ^ that one is just a bzrdir02:44
mwhudsonlftp mwhudson@bazaar.launchpad.net:/~goadict/tsumego20k/stable/.bzr> ls02:44
mwhudson-rw-r--r--    1 1001     1001          141 Dec 09 02:21 README02:44
mwhudson-rw-r--r--    1 1001     1001           35 Dec 09 02:21 branch-format02:44
mwhudsondrwxr-xr-x    2 1001     1001         4096 Dec 09 02:21 branch-lock02:44
mwhudsonthe gdb trace is talking about ~goadict/tsumego20k/release-1.0/.bzr/repository though02:45
mwhudsonso maybe this stable branch is a red herring02:45
spivI don't think it is.02:46
spivMy recollection is that accessing non-existent paths triggered this codehosting vfs issue.02:47
spivBut maybe I'm wrong :/02:48
mwhudsonyeah, maybe that's it02:48
mwhudsonit's striking that all the problem processes are accessing paths that shouldn't work at all, like02:48
mwhudsonBRANCH:%2Bbranch/tsumego20k/1.002:48
mwhudsoncodehost02:48
mwhudsonthe thing is of course that maybe the user is getting confused and flailing around creating and deleting things in the webapp02:49
spivmwhudson: also, the gdb trace includes stuff like:02:49
spiv<Deferred at 0xa99a878  current result: <twisted.python.failure.Failure <class 'bzrlib.errors.NoSuchFile'>>>02:49
mwhudsonspiv: that's not so surprising really02:49
mwhudsonthe synchronous launchpad transport wraps the asynchronous one02:50
spivmwhudson: argh, the data is changing from under us :)02:52
spivmwhudson: now ~goadict/tsumego20k/stable has a repo02:52
spivA bit odd:  _cache={'//~goadict/tsumego20k/release-1.0': ('BRANCH_TRANSPORT', {'writable': True, 'trailing_path': '.bzr/repository/format', 'id': 410572}, <float at remote 0x34d4cd0>)}02:56
mwhudsonwriteable=True suggests that branch existed in the db at the time02:59
mwhudsonwow, i was a bit confused there -- was looking at launchpad.net not launchpad.dev :)03:07
mwhudsonof course launchpad.dev is impossible to use03:08
mwhudsonbecause of 1 miiiiiiiiiiiiiillion js files03:09
wgrantdevmode off03:09
wgrantproblem solved.03:09
mwhudsonGET /+icing/rev10399/yui/datatype/lang/datatype-date-format_it-IT.js03:09
mwhudsonGET /+icing/rev10399/yui/datatype/lang/datatype-date-format_it.js03:09
wgrantYes.03:09
mwhudsonCOME ON!03:09
wgrantAnd half of them OOPS.03:09
wgrantSo /var/tmp/lperr fills up.03:09
mwhudsonmostly 404ing03:09
mwhudsonwhere is devmode set?  configs/development/launchpad.conf?03:10
wgrantThat.03:10
mwhudson$ du -sh /var/tmp/lperr/2010-12-09/03:11
mwhudson4.6M/var/tmp/lperr/2010-12-09/03:11
wgrantYeah.03:11
mwhudsonspiv: well i don't know what's going on :/03:15
spivmwhudson: hmm03:17
mwhudsonspiv: i guess it might be interesting to see the bottom 100 lines or so of the traceback03:19
spivmwhudson: yeah03:19
spivmwhudson: also translateVirtualPath maybe should have a catch-all errback03:20
mwhudsonspiv: sounds plausible, without looking at the code or thinking terribly hard03:21
spivmwhudson: to avoid unexpected errors leaking out and confusing callers that expect only transport-related errors.03:21
spivI don't see any obvious routes for those to happen03:21
spivAnd I've just spent the last 30 min or so looking for one :)03:21
spmbleh, they're still trying to get the code, or update or whatever. have sent the team members emails asking them to stop.03:23
mwhudsonspm: it would be good to know exactly what they're trying to do03:25
spmmwhudson: spiv: would a copy of the raw branch(s) off crowberry be of any use to you guys in debugging? seeing as they're able to kill it time and again.03:25
spmmwhudson: sure - do we have a formal bug yet? I'll send that to them and ask them to pls update with as much info as possible.03:25
mwhudsonspm: dunno, not sure03:25
spivspm: more use to mwhudson probably03:25
mwhudsonspm: how big are they?03:25
spivMy local lp dev environment isn't quite functional03:25
mwhudsonspm: i haven't filed a bug03:26
spmspiv: you're one up on me. don't have one at all. :-)03:26
spmmwhudson: I was going to file "Weird shit happening with codehost" but felt it was lacking03:26
spivspm: "Error handling infinite recursion death spiral of doom" maybe?03:26
spivThe "of doom" is a sure way to add some drama to a lacklustre title ;)03:27
spmI like my subject better, nothing personal03:27
spiv"Weird shit of doom happening with codehost" then :P03:27
spmbut yours is more technically accurate. I'll go with that03:27
spmhahaha03:27
spiv(A slow, painful doom...)03:28
mwhudsonweird-shit-of-doom sounds like a good bug tag03:28
spm+103:28
spmmwhudson: the only one that works is tiny. http://bazaar.launchpad.net/~goadict/tsumego20k/trunk/files03:29
spivspm: for added laughs the user has been actively changing stuff while we've been looking03:29
spivReplacing an empty bzrdir with one with a repo etc.03:30
spmwell. trying to. I keep killing their processes off as it hurts03:30
spmshame. codehost has dropped to #2 spot in firefox quick find for "filebug"03:34
wgrantDoes Soyuz win?03:34
spmha. no. most of my bugs are generically filed against launchpad these days. never quite sure where they go.03:35
lifelessfrom mid jan 'launchpad'03:35
lifelessone bug tracker. \o/03:35
wgrantWe'll see how that goes.03:36
spivwgrant: more successfully than lifeless' holiday, I hope... ;)03:37
wgrantIndeed.03:37
spivlifeless: I'd suggest you visit some remote island with minimal internet access03:37
spmspiv 1, lifeless 003:38
spivlifeless: but you already moved to NZ ;)03:38
spmspiv 3, lifeless 003:38
* lifeless is on wow atm03:38
spivlifeless: that's more like it :)03:38
lifelessso, I claim success.03:38
spmspiv 3, lifeless -103:38
lifelessoi!03:38
spivSome people are so judgemental!03:39
spmspm 1, spiv 0, lifeless -103:39
lifelesss/ w+!/sysadmins!/03:39
lifelesswow03:39
lifelessfound the stone core03:39
spmsomeone has to be. it's a burden that we take upon ourselves to spare the lesser folks aka developers03:39
lifelessfirst quest in there...03:39
lifeless115K xp03:40
spmhttps://bugs.edge.launchpad.net/launchpad-code/+bug/68765303:43
_mup_Bug #687653: codehost error handling infinite recursion death spiral of doom <canonical-losa-lp> <Launchpad Bazaar Integration:New> <https://launchpad.net/bugs/687653>03:43
=== Ursinha-afk is now known as Ursinha
wgrantlifeless: https://qastaging.launchpad.net/~yavdr/+archive/stable-vdr/+packages is promising. 4s.04:18
wgrantAh, 2s with hot cache.04:19
wgrantNot too bad.04:19
wgrantOOPS-1804QS1204:20
lifelesswgrant:05:17
lifelessSQL time: 16441 ms05:17
lifelessNon-sql time: 4324 ms05:17
lifelessTotal time: 20765 ms05:17
lifelessStatement Count: 5005:17
lifelesswgrant: also there are two repeats of a 1000ms query05:18
wgrantHmm.05:20
wgrantA COUNT()?05:20
lifeless2203410171017SQL-launchpad-main-slave(SELECT SourcePackagePublishingHistory.archive, SourcePackagePublishingHistory.component, SourcePackagePublishingHistory.datecreated, SourcePackagePublishingHistory.datemadepending, SourcePackagePublishingHistory.datepublished, SourcePackagePublishingHistory.dateremoved,05:20
lifeless...05:20
lifelessSourcePackagePublishingHistory.id, DistroArchSeries.architecturetag) EXCEPT (SELECT SourcePackagePublishingHistory.archive,05:20
wgrantOh, that one.05:20
LPCIBotProject db-devel build (206): FAILURE in 13 min: https://hudson.wedontsleep.org/job/db-devel/206/05:38
=== almaisan-away is now known as al-maisan
bigjoolsmorning all08:59
wgrantMorning bigjools.08:59
wgrantWe has a regression.09:00
wgrantWhich I already had a one-line branch to fix...09:00
wgrantWithout knowing about it.09:00
bigjoolswgrant: do tell09:00
wgrantbigjools: Bug #68766209:00
_mup_Bug #687662: Upload processor attempts to verify hashes against expired files <Soyuz:New> <https://launchpad.net/bugs/687662>09:00
bigjoolshow did that happen?09:01
wgrantHmm?09:01
bigjoolsoh, that change for getFile09:01
wgrantYeah.09:01
bigjoolsdo you think more pairs of eyes would have caught that?09:01
wgrantWho knows.09:02
bigjoolswgrant: what affect elsewhere will your fix cause?09:03
wgrantbigjools: It'll fix the +files/foo.orig.tar.gz 404. It could also impact other A.getFileByName callsites, but I doubt any rely on this behaviour, what with expired LFAs being useless and everything.09:04
bigjoolswgrant: right09:06
bigjoolswgrant: whack up an MP and let's get it landed09:06
wgrantbigjools: MP is already there.09:06
wgrantOh. Branch is not linked.09:06
bigjoolsyeah09:07
wgrantFix-ed.09:07
bigjoolswoo JS regression, the bug page says "remove assignee" when there isn't one09:07
bigjoolswgrant: you've got all pt_br09:07
wgrantbigjools: WFM09:08
bigjoolss/got/gone/09:08
bigjoolswgrant: the test should not be expanding the doctest, would you mind making a unit test?09:09
bigjoolstest_archive.py09:10
mrevellHello09:11
wgrantbigjools: k09:13
wgrantbigjools: Should I take out the whole doctest while I'm at it? It's short enough.09:17
bigjoolswgrant: be my guest09:17
bigjoolsthe test style in test_archive should be obvious09:18
wgrantYeah, I've already added a few to it.09:23
adeuringgood morning09:26
henningeHallo adeuring!09:28
adeuringmoin henninge09:28
henningeSo, I am trying to update sample data that is used in tests.09:32
wgrantUhoh.09:32
henningeI know, I should rewrite the test to not use sample data, but ...09:33
henninge... I want to finish this branch today. ;-)09:33
henningeAnyway, I ran the migration script locally that updates the data the way I need it.09:34
wgrantYou need to run it on launchpad_ftest_playground.09:34
henningeDid "make newsampledata" and updated current.sql and current-dev.sql.09:34
wgrantThen make newsampledata.09:34
henningeoh09:34
henningehm09:35
henningewhat do I get then?09:35
wgrantnewsampledata.sql and newsampledata-dev.sql, or something like that.09:36
wgrantThen you clobber current(-dev).sql with those.09:36
henningeInteresting. I just checked the (changed) current(-dev).sql that I have and what I did only changed current-dev.sql but not current.sql.09:52
wgrantRight, you ran it on launchpad_dev, not launchpad_ftest_playground.09:52
henningeI did not know that.09:52
wgrantYou may need to run with LPCONFIG=test-playground09:52
henningeHow do I ...09:52
henninge.. thanks ;)09:52
wgrantOh yeah, thanks for running those three branches last night.09:53
wgrantThey all passed and landed first time!09:53
wgrantThis hasn't happened in many months.09:53
henninge:-D09:55
henningeLooking good, let's see if my tests passes now ...09:59
henningeHooray! ;)10:10
wgrantExcellent.10:10
bigjoolswgrant: I had a thought10:22
bigjoolsyour change to getFileByName will revert us back to the old situation10:22
wgrantNot entirely.10:22
bigjoolswell pretty much, as soon as a file expires you can re-upload it10:22
wgrantRight. We cannot prevent that.10:22
wgrantBecause somebody put the hashes in the LFC.10:23
bigjoolswe need to10:23
bigjoolswhich was stupid10:23
wgrantYes.10:23
wgrantIt will stop the primary archive case.10:23
wgrantAnd that is the one we really care about.10:23
bigjoolswe care about people screwing up the PPA publisher too10:23
wgrantThey can't do that.10:23
wgrantSince the files will have expired, the old source can't be copied any morew.10:23
bigjoolsI'll have to think about it10:25
bigjoolsmy manflu is blocking rational thought10:25
wgrantMy fix makes us a quite a bit better than we were before. And it's as good as we can get without changing the data model.10:26
wgrantI really wish people would think about what they're doing before they start irrevocably deleting data.10:26
bigjoolshahaha10:27
bigjoolsLP has a great history of not deleting anything10:28
wgrantYes.10:28
bigjoolsThe librarian has a girth that rivals Ron Jeremy10:28
wgrantSure, and we need to delete things from it.10:29
wgrantBut there are better ways.10:29
wgrantLike not deleting the hashes.10:29
* bigjools is filing a bug about that right now10:29
* wgrant makes a note to check it in a decade.10:29
bigjoolshttps://bugs.edge.launchpad.net/launchpad-foundations/+bug/68775210:30
_mup_Bug #687752: It's impossible to check a librarian file's hash once it's expired <Launchpad Foundations:New> <https://launchpad.net/bugs/687752>10:30
* bigjools notices that gary_poster is not a Foundations bug contact :)10:30
wgrantDoes he read the ML, perhaps?10:31
wgrantOh I hate doctests.10:38
lifelesswgrant: so your fix looks good?10:58
bigjoolswgrant: I guessed it wouldn't be long before the "no ui" whingers started on the ppa stats bug10:58
wgrantlifeless: For which?10:59
lifelessArchive:+index10:59
wgrantlifeless: It seems to behave OK on qastaging now.10:59
lifelesscool11:00
wgrantNot great.11:00
bigjoolslifeless: you do a really bad impression of someone who's on holiday :)11:00
wgrantBut I will look at that more when I don't have to pester too many people.11:00
lifelessbigjools: I spent all day playing WoW :)11:00
bigjoolsyes I know someone else who took holiday to do that :)11:00
lifelessbigjools: the reason I take big blocks of holiday is it takes me ages to spin down and forget about work.11:00
lifelessbigjools: 2 weeks in is about where I actually start to feel like I'm on leave11:00
bigjoolsmaybe disconnecting from IRC would help? :)11:00
lifelessbigjools: I have many non work interests I wish to be on IRC for11:01
* wgrant searches for the banhammer.11:01
wgrantbigjools: New tests are up, this time without conflicts.11:09
bigjoolsbonus11:09
jmllifeless: last time I went on leave, I also stayed on IRC but deliberately left many work-related channels.11:14
jmllifeless: I found that helped11:14
* jml isn't really here11:15
henningeDoes anybody have an idea what this is about?11:45
henningehttp://paste.ubuntu.com/541413/11:45
maxbtraceback header with no traceback? thats a bit odd11:48
wgrantmaxb: Is there a librarian running?11:50
wgrantEr, henninge ^^11:50
henningewgrant: oh, you mean an old process?11:51
henningeyes :(11:51
wgrantHmm.11:51
* henninge slaps head11:51
wgrantLooks like the new librarian fixture needs work.11:51
henningeyes, possibly. But I just remembered that I had this issue before after forcibly terminating a test run.11:52
henningebut I agree that something like this should be detected11:53
henningeTests are running happily now :)11:54
deryckMorning, all.12:08
=== Ursinha is now known as Ursinha-brb
gary_posterbigjools: I get those emails somehow or other14:15
bigjoolsgary_poster: maybe you're subscribed to lp bug14:16
bigjoolss14:16
gary_postermaybe so14:16
=== matsubara is now known as matsubara-lunch
benjimthaddon: I'm working on the script to run the LP tests in the new tarmac-based world and would like to write up how to set up the environment it needs; do you know of any server setup documentation for the current buildbot machines?15:31
mthaddonbenji: otp15:31
benjimthaddon: thanks, no rush15:31
=== matsubara-lunch is now known as matsubara
EdwinGrubbsallenap: hi15:47
allenapEdwinGrubbs: Hi there.15:56
allenapEdwinGrubbs: I wrote down a kind of rationale for BugSubscriptionInfo: http://pastebin.ubuntu.com/541503/15:57
* EdwinGrubbs looks15:57
EdwinGrubbsallenap: by "snapshot value factory", do you mean that getDirectSubscriptions() might return an existing value?15:59
EdwinGrubbsallenap: what do you think the difference is between this solution and pre_iter_hook? Are you planning on adding more stuff to the BugSubscriptionInfo, which I just don't get to see yet?16:00
allenapEdwinGrubbs: BugSubscriptionInfo is designed to work with a bug snapshot, so that (Zope) subscribers can find out deltas in subscriptions without having to issue many queries.16:02
EdwinGrubbsallenap: do you think that there would be a case in the future that you would need to batch the results of getDirectSubscriptions?16:03
allenapEdwinGrubbs: Some big queries are being hit 7 or more times in a single page request, when they only need to be executed twice.16:03
allenapEdwinGrubbs: I doubt we'll ever have that many subscribers.16:03
allenapdirect subscribers.16:03
allenapEdwinGrubbs: What would the pre_iter_hook do in this case?16:05
=== beuno is now known as beuno-lunch
EdwinGrubbsallenap: oops, I meant that pre_iter_hook would eliminate the need for BugSubscriberSet, not BugSubscriptionInfo. pre_iter_hook would take the place of the self.subscribers call made before returning BugScriptionSet.sorted.16:08
=== salgado is now known as salgado-lunch
EdwinGrubbsbtw, those are two sentences, although it looks like the period is just separating a class and an attribute.16:10
allenapEdwinGrubbs: Okay :) Sorry for being slow, my other half is badgering me for things at the same time.16:14
EdwinGrubbsno problem16:15
allenapEdwinGrubbs: A pre-iter hook when fetching the subscriptions would work, so it would mean 2 queries when fetching subscriptions. Might not be a bad thing though, because the person/subscriber is almost always referenced.16:21
allenapEdwinGrubbs: That would make the implementation of BugSubscriptionSet and StructuralSubscriptionSet a bit simpler, but only by the same amount that BugSubscriptionInfo gets more complex.16:22
allenapEdwinGrubbs: I don't think it removes the usefulness of BugSubscriberSet, because that's useful for its sorted property.16:23
EdwinGrubbsallenap: sorry, the standup got delayed to just now.16:32
allenapNo worries :)16:33
EdwinGrubbsallenap: the potential benefit of pre_iter_hook that may not apply here is that it only runs the main query and the pre_iter_hook query when it is iterated over. The BugSubscriptionSet runs the first query immediately to turn it into a frozenset, and then it runs the second query if the BugSubscriptionSet.sorted is used.16:35
EdwinGrubbsallenap: I'm wondering what the benefit is to putting the results in a set and then putting them into a sorted list. Do you use the set directly someplace else?16:36
allenapEdwinGrubbs: It's necessary to identify different subsets of subscribers. There's the obvious ones like direct and duplicate subscribers, but then there are duplicate-only subscribers (which I've added in a later branch), also notified subscribers, indirect subscribers. Many of these are remixes of the simpler subscription/subscriber sets.16:39
allenapEdwinGrubbs: I could do these as UNION/EXCEPT queries, but the complexity shoots up.16:40
allenapThe reason it shoots up is because there are BugSubscription records which are not compatible with StructuralSubscription records, and because some of the queries involve joining through bugtask to target (i.e. product or productseries or ...).16:42
EdwinGrubbsallenap: ok, I don't think I have any more questions about the sets. It just was bothering me to have an unusual implementation solve such a similar problem.16:51
EdwinGrubbsallenap: I have a branch in pqm that effectively implements the same thing as load_people(). I'll not that in the mp with a few other small items. Thanks for explaining everything to me.16:52
EdwinGrubbss/not/note/16:53
allenapEdwinGrubbs: Cool. I agree it's weird. I've tried something like this refactor before and a lot of subtle issues seem to crop up, so I started from the premise of having a sets-based API so that I could understand myself what was going on as I went along.16:54
gary_posterjml, ping16:56
jmlgary_poster: hi16:57
gary_posterhey.  Could matsubara and I pick your brain on mumble for a few minutes about some subunit/ec2 remote.py details?16:58
gary_postersorry, jml ^^^16:58
jmlgary_poster: sure. gimme a few seconds first.16:59
gary_posterof course, thanks16:59
benjimthaddon: when you get a minute; I have the script ready that will be the driver for the tests in the new tarmac-based SMM world; I think you're the one I should talk to about getting it installed17:05
mthaddonbenji: I'm past EOD I'm afraid - can you add the details to the RT?17:06
=== al-maisan is now known as almaisan-away
benjimthaddon: gladly; I haven't done anything with RTs yet, how do I do that?  (is there something I should read on the RT system?)17:07
=== salgado-lunch is now known as salgado
mthaddonbenji: I've added you as a cc to the ticket, and have sent you a reply - you should be able to just reply to the email17:10
benjimthaddon: great, thanks17:10
=== deryck is now known as deryck[lunch]
* jml gone17:17
=== beuno-lunch is now known as beuno
=== benji is now known as benji-lunch
=== deryck[lunch] is now known as deryck
lifelessgary_poster: jml has run, can I help ?19:03
=== benji-lunch is now known as benji
gary_posterlifeless, he was able to get in touch with us before he ran.  thank you very much!19:27
lifelessok, cool19:31
lifelessif you're doing subunit stuff, it would be cool to wire up SubunitStream ( the table ) to the API for uploads.19:32
lifelessI'd just love ec2test to add a stream to the branch it tests.19:33
=== Ursinha is now known as Ursinha-brb
=== EdwinGrubbs is now known as Edwin-afk2
LPCIBotYippie, build fixed!20:16
LPCIBotProject db-devel build (207): FIXED in 3 hr 35 min: https://hudson.wedontsleep.org/job/db-devel/207/20:16
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
james_wderyck, hi, I'm interested in what you say about not liking testing pages. You say that you have talked about this previously. Was that on a public mailing list?20:41
deryckjames_w, yes, several threads (2-3 maybe?) on launchpad-dev.  about ui, ajax, and testing all this.20:41
james_wderyck, ah, specifically where js gets involved?20:42
deryckjames_w, mostly about that, yes.  though I do have some criticisms of our page tests in an old proposal thread of mine20:42
deryckbut that's probably less about testing web pages and more about bad tests generally20:43
deryck:-)20:43
james_wdown with bad tests!20:43
james_wderyck, have you had a look at soupmatchers that is now available in the LP testing infrastructure thanks to rockstar?20:43
deryckjames_w, I haven't yet, no.  though rockstar did rave to me about it.20:44
james_wderyck, cool. I'd be interested in what you make of it if you find time to have a play with it20:44
deryckjames_w, ok, cool.  I will definitely look at it and let you know20:45
james_wit's static html only, but I think it could be a lot better than the current approach of extracting text from elements and printing it etc.20:45
LPCIBotProject devel build (285): FAILURE in 3 hr 12 min: https://hudson.wedontsleep.org/job/devel/285/21:43
LPCIBot* Launchpad Patch Queue Manager: [r=jml][ui=none][no-qa] Update testtools to r151.21:43
LPCIBot* Launchpad Patch Queue Manager: [r=adeuring][ui=none][no-qa] Use the stdlib multiprocess module to21:43
LPCIBotrun WADL generation in parallel subprocesses.21:43
LPCIBot* Launchpad Patch Queue Manager: [r=adeuring][ui=none][bug=638924] Fixed timeout on ubuntu milestone21:43
LPCIBot+index page.21:43
LPCIBot* Launchpad Patch Queue Manager: [r=gmb][ui=none][bug=677511] Fix "invited members" link created by21:43
LPCIBotjavascript.21:43
LPCIBot* Launchpad Patch Queue Manager: [r=allenap][ui=none][bug=193870] The bug subscriptions portlet for21:43
LPCIBotStructuralSubscriptionTargets has been updated to improve readability.21:43
=== Ursinha-brb is now known as Ursinha

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!