wgrantmbarnett: Which was the old version of libc-bin?00:00
wgrantThat's the only vaguely interesting one, and it looks boring :(00:00
wgrantlifeless: That's what I would have done.00:01
wgrantmbarnett: Hmmm, that's a bit more interesting.00:01
mbarnettless rubylicious00:01
wgrantYet still very boring.00:02
wgrantmbarnett: Do you know how to apply pygdb to codebrowse?00:03
mbarnetti do not00:04
wgrantmwhudson: Could you assist with interrogating codebrowse2?00:04
wgrantmbarnett: We tried to do it yesterday, but the process accidentally got killed.00:05
mbarnettloggerhead history doesn't seem to have naything interesting00:05
mwhudsonwgrant: yeah, but let me grab some lunch so i can concentrate a bit00:07
mbarnettunfortunately, we are about to go losaless.00:07
wgrantmbarnett: No spm? :(00:07
mbarnettspm: is pretending that flying half way around the world is tiring.00:07
mbarnettwell, i do actually need to go assault my face with some dinner.  Do you want me to leave codebrowse 2 in its degenerate state and try and hop back later?   Or shall i restart it to avoid the potential (at least a bit) of another outage?00:15
wgrantPersonally I'd leave it.00:16
wgrantThey seem to die in tandem now.00:16
wgrantlifeless: Your closing-bugs-from-changelogs.txt failure is really confusing.00:20
wgrantAh, I see now.00:22
lifelesswgrant: yes, thus asking for help00:23
wgrantlifeless: I have a quick fix, but I am looking at ways to actually fix the test properly.00:24
wgrantMeh, quick fix it is.00:25
wgrantlifeless: http://pastebin.ubuntu.com/573729/00:26
wgrantlifeless: It looks for a packageupload with a changesfile in the upload_distroseries.00:26
wgrantSo if we set the upload_distroseries to something else, the test can continue to illegally create multiple packageuploads.00:26
lifelessI'll just wrap this arc and then apply and test00:26
* wgrant foods.00:29
maxbwgrant: Thanks, I believe I have successfully comprehended the user's corrupted merge directive email now00:40
wgrantmaxb: I can give you more traceback or the email text if you need them.00:57
maxbThe user pasted the email text in the question, and on close inspection it is indeed malformed, so it's ok00:59
wgrantGreat, thanks for dealing with that.01:00
maxbIts an interesting feature, which I keep thinking I might use01:00
maxbApart from gpg-signing mails without involving thunderbird is something I've not figured out yet01:01
wgrantHas anybody had an ec2 run Windmill-fail this week?01:01
wgrantmaxb: Doesn't bzr do that for you?01:01
StevenKmaxb: gpg | mail -s ... ?01:03
=== MTecknology is now known as billmeye
=== billmeye is now known as MTecknolgoy
=== MTecknolgoy is now known as MTecknology
StevenKwgrant: My evil plan to fix my branch from yesterday using + didn't work. :-(01:11
wgrantStevenK: :(01:13
wgrantMy evil plan to disable WindmillLayer is getting stronger.01:13
StevenKwgrant: So I suspect the only option is to stop using structured and escape the arguments before interpolating01:15
wgrantStevenK: Or interpolate the recipe manually, before you go into structured.01:17
StevenKNot a bad idea, just struggling how to implement that.01:18
StevenKAnd trying not to context switch01:19
StevenKSwitching between branches of devel and db-devel really sucks01:19
maxboh, I meant gpg-signing in a way integrated with bzr send, that doesn't involve saving the merge directive off to a file, manually signing, and sending01:28
lifelessmaxb: ask in #bzr, or read the docs ;)01:30
maxbI read the source, and ended up trying to hack a plugin :-)01:32
lifelessmaxb: -why-?!01:32
lifelesswgrant: was there a sqlite change perhaps?01:38
wgrantlifeless: That was my guess.01:38
wgrantBut it doesn't look like it.01:38
wgrantBut the list I obtained may well not be exhaustive.01:38
maxbWhy? Well, I have to confess, because it felt like something that ought to be possible :-)01:42
lifelessmaxb: I mean, it is possible for most mailers I know of, withiut plugins01:42
lifelessmaxb: what mailer do you use?01:43
LPCIBotProject db-devel build #403: STILL FAILING in 5 hr 35 min: https://hudson.wedontsleep.org/job/db-devel/403/01:57
lifelessdo we still use personlocation for anything?02:00
lifelesssinzui: ^02:00
wgrantNFI where those queries come from, either.02:00
lifeless  File "/home/robertc/launchpad/lp-branches/working/lib/lp/registry/model/person.py", line 708, in time_zone02:01
lifeless    if self.location is None:02:01
lifeless  File "/home/robertc/launchpad/lp-branches/working/lib/lp/services/propertycache.py", line 116, in __get__02:01
lifeless    value = self.populate(instance)02:01
lifelesstime localisation02:01
wgrantOh, that's on PersonLocation? :/02:02
wgrantI always assumed that was just the lat/lon.02:02
lifelessapparently not02:02
lifelessguess how many queries all_distro_archive_ids creates02:03
wgrantThat could be a bug.02:03
wgrantFour? Five?02:03
wgrantprimary, partner, debug.. maybe only three.02:03
lifelessactually two02:03
lifelessfrom this call to getCurrentSourceReleases02:04
lifelesstime ot land tihs and get the branch changing that landed02:04
wgrantHas anybody looked at the Windmill SNAFU in depth?02:08
wgrantI am wondering if the xvfb-run issue is in fact a symptom of the killing, not the hang.02:09
lifelessxvfb-run issue?02:09
wgrantlifeless: See the end of https://lpbuildbot.canonical.com/builders/lucid_lp/builds/669/steps/shell_6/logs/stdio02:10
wgrantWe get an X error.02:10
wgrantI've been presuming that was seen at the start of the hang.02:11
wgrantBut maybe it's because of the mass murder after the hang is detected.02:11
lifelessI don't see an X error02:13
wgrantThere is the occasional thread leak on ec2.02:15
lifelessyes, I think the X process went before the tes02:15
wgrantAnd locally it just completely fails.02:15
thumperStevenK: mumble?02:24
StevenKthumper: I was about to have some lunch, but sure.02:25
thumperStevenK: it'll be quickish02:25
lifelesswgrant: thanks, thats off to ec2 now02:32
wgrantlifeless: Great.02:32
lifelesswho is meant to be OCR today02:34
lifelesswgrant: I can haz review please02:35
wgrantOh, so I am.02:36
=== wgrant changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: wgrant | https://code.launchpad.net/launchpad-project/+activereviews
wgrantlifeless: Ah, I see you are realising the precaching resultset this time :P02:37
lifelesson the rusty scale, that interface is problematic02:38
thumperhttps://code.launchpad.net/~thumper/launchpad/fix-mantis-warnings-bug-218384/+merge/51679 anyone?02:51
wgranthttps://code.launchpad.net/~wgrant/launchpad/squash-cw-protocolerrors/+merge/51680, also anyone?02:51
wgrantthumper: Looking.02:51
thumperwgrant: thansk02:52
thumperwgrant: I'll look at yours02:52
thumperwgrant: do we need the transaction.commit(), or is a store flush enough?02:56
wgrantthumper: checkwatches checks that no transaction is active.02:56
wgrantSo it has to be a commit.02:56
lifeless0 tests run in 4:11:34.318468, 0 failures, 0 errors02:57
lifelesswgrant: has your fix landed yet ?02:57
wgrantlifeless: merge devel.02:57
thumperwgrant: shouldn't the ec2 image start with devel?02:58
thumperwgrant: or is it client side?02:58
wgrantthumper: Yes, but ec2test-remote.py is copied from the local branch.02:58
thumperwgrant: ok02:58
lifelesswgrant: I had a windmill fail in ec202:59
wgrantlifeless: Could you mentor https://code.launchpad.net/~thumper/launchpad/fix-mantis-warnings-bug-218384/+merge/51679?02:59
wgrantlifeless: When?02:59
wgrantForward pls.03:00
wgrantI want all the data I can get.03:00
huwshimiHow do I actually get a lazr-js branched landed to trunk (after the mp step)?03:00
lifeless    print test_tales("branch/fmt:bzr-link", branch=branch)03:01
lifelessDifferences (ndiff with -expected +actual):03:01
lifeless    - <a href=".../~eric/fooix/bar" class="sprite branch">lp://dev/fooix</a>03:01
lifeless    ?            ^03:01
lifeless    + <a href="http://code.launchpad.dev/~eric/fooix/bar" class="sprite branch">lp://dev/~eric/fooix/bar</a>03:01
lifeless    ?          +++++++++++ +++++++++ ^^^                                                 ++++++     ++++03:01
wgrantlifeless: Dev focus setting fail?03:03
* thumper agrees with wgrant03:05
thumperhuwshimi: commit to trunk03:05
thumperhuwshimi: I don't think it is PQM controleld03:05
huwshimithumper: Thanks.03:06
wgrantthumper: Thanks.03:08
lifelessthumper: could you eyeball bug 702524?03:14
_mup_Bug #702524: Merged branches keep 'Development' status when their merge proposal is marked as 'Merged' <Launchpad itself:Confirmed> < https://launchpad.net/bugs/702524 >03:14
thumperlifeless: yep03:14
thumperlifeless: although I think I know the answer03:14
lifelessthumper: can you mentor wgrants review of https://code.launchpad.net/~lifeless/launchpad/bug-724033/+merge/51676 ?03:14
StevenKwgrant: Can haz review? https://code.launchpad.net/~stevenk/launchpad/db-recipe-description-really-this-time/+merge/51682 ?03:15
wgrantlifeless: Can you mentor my review of StevenK's?03:16
StevenKwgrant: :-(03:16
StevenKwgrant: I know where you live ...03:16
lifelesswgrant: yes03:18
lifelessjust chewing through 3 hours mail ;)03:18
StevenKwgrant: What was your plan with adding recipe first?03:19
thumperlifeless: yes, I'll look at wgrant's review03:20
wgrantStevenK: You could put a %%s in the template, format the other args into it using structured(), then format the escaped recipe in using %.03:21
wgrant*or* you could fix structuredstring to work nicely with other structuredstrings.03:21
wgrantDoes anybody have a valid objection to disabling WindmillLayer until someone works out what is wrong?03:23
* StevenK tries to remember how to do type checking in Python03:24
wgrantI have never managed to get it to run reliably on any local machine, it is entirely broken on Natty, it leaks threads sometimes in random tests, and sometimes hangs entirely.03:24
wgrantStevenK: isinstance?03:25
lifelesswgrant: Revision 12469 can not be deployed: needstesting03:28
lifelesslooks like its half-qaed - were you looking at that ?03:29
wgrantlifeless: One was a test change.03:29
wgrantThe other needs a LOSA or somebody to decide that we don't care.03:29
james_wis there a library of matchers for use with storm anywhere?03:30
lifelessthere are some in the lp tree03:31
lifelesslike StormRecorder + HasQueryCount03:31
wgrantlifeless: Do you have any hints for debugging thread garbage?03:31
james_wI'm more interesting in query/result set stuff currently03:31
james_w(includes unit testing of lplib-using code)03:32
lifelessI trhink the storm folk have started using matchers03:32
lifelessso storm specific stuff perhaps land there?03:32
james_wnothing jumps out from the filenames03:37
thumperstupid dist utils03:39
* thumper stabs it in the face03:41
lifelessoh well, hopefully it won't break the build03:46
wgrantlifeless: Hm?03:46
lifelesswgrant: I lp-landed rather than ec2 landed03:47
thumperlifeless: do you know anything about setup.py, tests and the additional_tests method?03:47
lifelessthumper: a -little-03:47
lifelessthumper: lazr-js ?03:47
thumpertrying to run: ./setup.py test03:47
thumpershould that cause the additional_tests method to be checked?03:47
thumperbecause it isn't03:48
thumperI have a pdb break point in there03:48
thumperand it isn't breaking03:48
thumperI'm trying to get it to run the actual tests03:48
lifelessso additional_tests is for non unittest tests03:49
lifelesswhat non unittest tests do you have?03:49
thumperit is to load doctests03:49
lifelessah, what it means is 'tests that loadTestsFromName does not find'03:49
lifelessso, I personally /hate/ setup.py's test support03:50
thumperI'm starting to too03:50
lifelessI would always just use a test_suite method03:50
StevenKlifeless: O hai. Can haz review of wgrant's review of my MP?03:51
lifelessI did?03:52
StevenKlifeless: I can't see your scribble on https://code.launchpad.net/~stevenk/launchpad/db-recipe-description-really-this-time/+merge/51682 ?03:52
lifelessmust have glitched03:53
StevenKlifeless: Thanks, tossing it at ec203:53
wgrantlifeless: Do you know how to get details on threads that are leaked by tests?03:54
lifelesswgrant: yes03:54
wgrantI've stuck a pdb in there, but I can't get much useful from the Thread.03:54
lifelessso depending on how it was constructed03:56
lifelesssubclasses have a replaced run() (IIRC), typical uses supplies a callable to the thread which its run() will call03:56
StevenKwgrant: Can you see any clues on http://pastebin.ubuntu.com/573778/ ?04:00
lifelesswgrant: you can also attach gdb04:00
lifelesswgrant: and get pretty good info from thread apply all pybt04:00
wgrantlifeless: Thanks.04:00
lifelessI thought we'd changed thread leaks to be non fail though04:02
wgrantThey are a non-fail.04:04
wgrantBut Windmill sometimes leaks them, and Windmill sometimes fails.04:04
wgrantI am hoping that this is not a coincidence.04:04
lifelesswtf- librarian.txt fail in my /branches optimisation branch04:09
wgrantlifeless: I saw one of those a week ago.04:10
wgrantWhat is the error?04:10
wgrantA 200 UploadFailed?04:10
lifelesspasses locally04:11
wgrantAnd on ec2 >9/10.04:11
StevenKwgrant: Can haz clue?04:16
wgrantStevenK: recipe_build_details is probably raising an AttributeError or similar.04:16
StevenKHrm. A better traceback would be awesome.04:17
StevenKTypeError: not all arguments converted during string formatting04:18
StevenKAh ha, I get it.04:19
lifeless\o/ another one bites the dust04:19
lifelesswgrant: so, bug 688130 - what needed losa answering?04:22
_mup_Bug #688130: Statistics clean-ups and extra tests <lp-translations> <qa-needstesting> <upstream-translations-sharing> <Launchpad itself:Fix Committed by adeuring> < https://launchpad.net/bugs/688130 >04:22
wgrantlifeless: It needs the rosetta pofilestats script to be run.04:22
lifelessI think my branch:+index patch is reasonably successful :)04:27
lifelesshttps://code.qastaging.launchpad.net/~software-store-developers/software-center/trunk/+index rendered first hit on qastaging. Which is awesome, if I do say so myself.04:28
LPCIBotProject devel build #488: STILL FAILING in 5 hr 29 min: https://hudson.wedontsleep.org/job/devel/488/04:30
huwshimithumper: Actually it appears that we do use PQM for lazr-js04:32
StevenKJenkins, you make me sad.04:33
StevenKcheckwatches.txt passed, but a Windmill test failed? Baaaaah04:33
huwshimithumper: Does that mean landing with lp-land or something?04:34
=== MTecknology is now known as pfSensory
wgranthuwshimi: pqm-submit04:36
huwshimiwgrant: Thanks04:36
=== pfSensory is now known as MTecknology
wgrantbzr pqm-submit -m "[r=foo] bar" --public-location=bzr+ssh://bazaar.launchpad.net/~path/to/branch --submit-branch=bzr+ssh://bazaar.launchpad.net/~path/to/trunk04:37
StevenKNo fair actually landing with '[r=foo] bar'04:39
huwshimiwgrant: Thanks, I was just trying to figure all that out :)04:39
huwshimiStevenK: Oh, cmon04:40
wgrantlifeless: bug-724033 seems to have an empty commit message.04:42
StevenKwgrant: Sucess!04:48
wgrantStevenK: Exccellent.04:49
lifelesswgrant: see https://pqm.launchpad.net/04:49
wgrantlifeless: Ah, great.04:50
jtvStevenK, wgrant: DistroSeries.parent_series seems to have shifted in meaning a bit… should we keep the old "previous series in same distro" meaning or get rid of it?04:52
wgrantjtv: It hasn't shifted.04:52
wgrantAny derivation stuff that is using it now is not altering its meaning; it's just using it until we introduce something to replace it.04:53
jtvDo we expect the replacement to work in the same way?04:53
StevenKAwwwww. The user on prod with deleted recipes doesn't exist on qastaging04:54
wgrantThat is not known.04:54
jtvwgrant: okay, do we expect to have DistroSeriesDifferences between e.g. maverick and natty?04:55
wgrantjtv: I don't believe so.04:56
wgrantNot in the initial implementation, at least.04:56
StevenKThat isn't the point04:56
StevenKPublishing details04:58
StevenK    * Built by deleted recipe for Jelmer Vernooij.04:58
* wgrant is QAing the greatest OOPS fix of all time.05:00
StevenKwgrant: Oh, the checkwatches stuff?05:01
wgrantStevenK: No, the loggerhead thing.05:02
wgrantUnfortunately it is slightly non-trivial, because both qastaging and staging are borked.05:02
StevenKSigh. Can't hear myself think.05:11
StevenKSome ungrateful person with a leaf blower is outside. Doesn't he know that the BoM forecast high winds for tonight, so it's POINTLESS05:13
wgrantHmm, this is slightly upsetting.05:14
jtvwgrant: I fervently hope that remark is not connected to SteveK's.05:15
wgrantNo, codebrowse.05:15
jtvAh well, talk of upsetting.05:15
jtvOn the bright side, "parallel a-f" has landed on qastaging.05:16
wgrantAnd mawson.05:16
wgrantAnd it works.05:16
jtvYou tested it?05:17
jtvGreat!  Thanks.  I'll mark it qa-ok then.05:17
wgrantI already did.05:17
wgrantDidn't I?05:17
jtvOh, looks like you did.  :)  Pages don't refresh very well here.05:17
StevenKGAH! He's back!05:21
StevenKI have somewhere that guy can store the leaf blower when he is finished using it ...05:22
wgrantCodebrowse, you suck.05:29
wgrantlifeless: So, you know how that loggerhead fix was meant to stop loggerhead from OOPSing when haproxy checked it?05:33
jtvStevenK: do SPRs ever get deleted?  I'm asking because SPPH.supersededby isn't indexed.05:35
jtvStevenK: do SPRs ever get deleted?  I'm asking because SPPH.supersededby isn't indexed.05:39
wgrantjtv: Not at the moment.05:41
wgrantNo IS for a week and a half makes me very sad.06:10
lifelesswgrant: yes?06:14
wgrantlifeless: Well, my testing showed that it in fact introduced a new OOPS. It does, but in a much rarer case than the one it fixes.06:15
wgrantBug #72698506:15
_mup_Bug #726985: codebrowse OOPSes with GeneratorExit when connection closed early <Launchpad itself:Triaged> < https://launchpad.net/bugs/726985 >06:15
wgrantI think we should still deploy.06:15
wgrantAlso, feel like waking elmo?06:15
lifelesswgrant: is that if you abort from a client ?06:15
wgrantguava has had a heart attack again.06:15
lifelessis s gsa around ?06:15
wgrantI pinged pjdc/bradm a few minutes back.06:15
wgrantNo response.06:15
lifelessgive them 1006:16
lifelessthen dig up the number and call06:16
lifelessI'm mid-dinner, sorry06:16
wgrantlifeless: I believe the client has to be in the DC, bypassing haproxy.06:16
wgrantelmo: tiaz might already be.06:18
wgrant(see #is)06:18
jtvStevenK: do you have a clear idea of what DSDJ will look like, database-wise?06:39
StevenKjtv: One row06:43
jtvStevenK: one row per object?  Ground-breaking.06:44
jtvMaybe I'm just not aware of the actual design questions you're facing.  :)06:44
StevenKjtv: A DSD already has an interface and a schema ...06:44
StevenKOh, the job itself. Er. Not sure. :-)06:45
jtvYes, the part I'm quite interested in right now is whether, for the initial population of DSD, I can create DSDJ rows directly in SQL.06:45
jtvAs tends to happen, a join structure has formed itself in my mind's eye quite early on and it takes ages to figure out any reasons why it might be wrong.  :)/06:46
jtvI was also wondering about supersededby…  When is a SPPH "superseded" exactly?06:46
jtvI imagine I can ignore ones that have that column set, but might that also be a sufficient condition?06:47
jtvIn other words, if I selected from SPPH on sourcepackagename and distroseries where superseded is null, would that give me (more or less) just the SPPHs I wanted or would there be a lot of dead wood in there?06:49
wgrantSelecting on supersededby is not going to give you anything useful.06:49
jtvConversely, will I be able to ignore ones where supersededby is not null?06:50
wgrantYou should filter on status, if anything.06:50
jtv(And also, why is supersededby not indexed?  Do SPRs never get deleted?)06:50
wgrantSPRs do not get deleted at the moment.06:50
wgrantWhat are you trying to do, exactly?06:51
wgrantAnd why?06:51
jtvTrying to figure out how to get the "latest" SPPH for a given source package.06:51
lifelessjtv: due to the bug about not having a sourcepackage object in the db06:51
wgrantSource package, source package name, or distribution source package?06:51
lifelessjtv: this is actually hugely expensive06:51
lifelessgetCurrentSourceReleases does it06:52
jtvwgrant: source package06:52
wgrantjtv: Are you sure?06:52
jtvlifeless: ah, thanks06:52
lifelessit gets what most people will think of as a source package :)06:52
lifelesswhich is not a SourcePackage or  DistroSeriesSourcePackage06:52
wgrantIf you have a SourcePackage, you should be able to call .currentrelease.06:52
jtvwgrant: I was until you asked that.  :)  A given sourcepackagename for a given distroseries…  I *think* that's what I want!06:52
wgrantRight, that's an actual SourcePackage.06:53
lifelessexcept its versioness06:53
lifelesswhich is mondo confusing modelling06:53
jtvlifeless: I imagine what most people think of as a source package is what we call a distributionsourcepackage… I've never heard of DistroSeriesSourcePackage.06:53
wgrantMost people would think of an SPR as a source package.06:54
lifelessjtv: no, most people think of source packages as 'source package release'06:54
lifelessjtv: there is a 'most recent source package release'06:54
lifelessI'd like to really overhaul the soyuz model06:55
lifelessbut not while we're in the hole06:55
wgrantlifeless: How?06:55
jtvSo should I be looking for the most recent SPR instead of the most recent SPPH when looking for distroseries differences?06:55
jtvlifeless: for someone who's postponing stuff until we're not in the hole, you sound suspiciously eager to get back into it.  :)06:56
jtvMore power to you, but… sounds like a tall order.06:56
wgrantSELECT id FROM spph WHERE spph.distroseries = yourfavouritedistroseries AND spph.pocket = 0 AND status IN (1, 2) ORDER BY datecreated DESC LIMIT 106:56
wgrantOh, and spph.archive = yourfavouritearchive06:56
lifelesswgrant: I don't have a specific schema handy.06:57
jtvwgrant: would the pocket and archive matter?06:57
StevenKWhat are your vague thoughts, then?06:57
lifelesswgrant: I would start by gathering all the actual use cases the distro *want* - partly what we do today, partly their wishlist.06:57
lifelessand design to directly match that as a fast schema, with efficient solutions across the board.06:58
lifelessand finally look at how to migrate.06:58
lifelessStevenK: I can list some problems06:58
wgrantjtv: The archive is essential. The pocket is less essential, but you probably still want to restrict it.06:59
lifelessStevenK: we infer data on every operation;  we have 1:M relationships that our business rules want to be 1:1;  our schema supports invalid states06:59
wgrantjtv: Since we don't know what it means to have a DSD to a non-Release pocket.07:00
jtvwgrant: oh do I get all the PPAs if I don't restrict on archive?  Also, another thing that I think matters is the package.  :)07:00
wgrantjtv: Um, yeah, package would be nice too.07:00
jtvSo that's a join through SPR I guess.07:01
lifelessStevenK: our schema should naturally constraint the states to be valid; data learnt should not be reinvestigated on every operation07:01
lifelessStevenK: we should be able to do things like '100 most recent daily builds' in 3-4ms.07:01
lifelessStevenK: without 'denormalisation'07:02
jtvwgrant: if I neglected to restrict by archive, would that mean that I would get all the PPAs as well?07:02
wgrantjtv: And copy archives and partner.07:02
lifelessStevenK: basically the schema wasn't built to support fast queries, it was built as an object model for the archive/build space: which as a way to design a database leads invariably to performance and maintenance problems.07:02
lifelessjtv: and other distributions in future ;)07:03
wgrantlifeless: No, because we constrain by distroseries already.07:03
jtvlifeless: wouldn't the distroseries restriction take care of unwanted distros?07:03
lifelessyes, mea culpa07:04
lifelessas long as we don't try to share distroseries across distributions ;P07:04
jtvThat'd certainly simplify the work I'm doing now.07:04
lifelessjtv: unless you also make productseries sharable across related project, -no-.07:05
* jtv is not currently well enough to grok that sentence07:06
wgrantAha. All four hangs today have been the same branch, but some were partly drowned in other requests.07:07
lifelessjtv: I'm saying we don't want the 'projectseries' and 'distroseries' concepts to drift further from each other.07:07
wgrantTwo different branches were involved yesterday.07:07
wgrantBut it was the same branch at the same time on each instance.07:07
wgrantThe requests were 15s apart, though.07:10
wgrantAnd they do not match up in all cases.07:11
jtvoh, lifeless, a quick note: the check for read-only mode goes through the FS.  Might it make sense to log that in the external-action timeline?07:11
jtvI have this vague worry that we don't know how much it's costing us.07:12
lifelessso, two things07:12
lifelessa) if its checked outside the request context, we can't put it in the action timeline07:12
lifelessbut b) if its checkout outside the request context, it may not cost anything (e.g. if the main thread does it)07:13
lifelessand c) we should do that in a thread and maintain it as global state anyhow07:13
jtvChecks outside the request context are likely to be few (per request).  I'm more worried about calls inside requests—and therefore frequency more than latency.07:13
jtvHere, have some cheese, ja?07:14
lifelessjtv: anyhow, at the moment, its local FS, if its being checked per request it will be hot and approximately free.07:14
jtvlifeless: I also know that the +translate page used to check it oh, at least dozens of times.07:15
jtvmeep indeed.  I fixed that, and then you did your timelines, and now I think it'd be nice to stop ourselves from making the same mistake again.  :)07:16
lifelesswgrant has made some excellent progress towards us being able to fix the plumbing too07:17
wgrant... have I?07:18
lifelesswgrant: checkwatches07:18
lifelesswgrant: was the major source of omgwtfness07:18
wgrantAh, right.07:18
wgrantJust pqm-submitted the next branch of that.07:18
jtvDear infrastructure.  A connection _can_ have a useful lifetime beyond 5 minutes, even if it does go quiet sometimes.07:18
lifelesswoo 711064 passed ec207:19
jtvlifeless: meep indeed.  I fixed that, and then you did your timelines, and now I think it'd be nice to stop ourselves from making the same mistake again.  :)07:19
lifelessI think I have just 2 outstanding branches now07:19
lifelessjtv: got that :)07:19
lifeless20:16 < jtv> meep indeed.  I fixed that, and then you did your timelines, and now I think it'd be nice to stop ourselves from making the same mistake again.  :)07:19
jtvJust making sure :)07:19
lifeless20:17 < lifeless> wgrant has made some excellent progress towards us being able to fix the plumbing too07:19
wgrantlifeless: What sort of increase are we looking for there?07:19
lifeless20:17 -!- jtv [~jtv@] has quit [Read error: Connection reset by peer]07:19
lifelesswgrant: there are 12 queries averaging 1 second each; I've dropped the count to 2/3rds - they were doing a pair for a language, then one for the alt language.07:20
jtvlifeless: anyway, I'm not sure we ever consciously made a decision of the sort of timescale a switch to read-only mode should operate at: instantaneous, when-the-GIL-is-passed, per-request…07:20
lifelesswgrant: so 8 vs 12, so 4 seconds perhaps ?07:20
stubjtv: Sounds like you are back in TH. TOT doesn't want to hold an SSL connection open for more than a few minutes for me, even if it is busy.07:21
lifelessjtv: end of request is implied by our contract07:21
jtvstub: I am, though it's a non-governmental ISP07:21
=== almaisan-away is now known as al-maisan
jtvlifeless: makes sense… so then we should keep RO-mode in the request.  We've had a small number of oopses from the switchover happening in mid-request—though maybe that was just an inappropriate check.07:22
lifelessjtv: I'd be happy to have it in a background thread that polls every (say) 1000ms; and new requests read the current state from a global07:23
stubIIRC, RO mode shouldn't kick in until the next request - there is a thread local that is checked at the start and end of the request.07:24
lifelessjtv: that would - prepare for us signalling via e.g. rabbit instantly, or using a single centralised ini file. Would eliminate per-requeset overhead.07:24
lifelessnearly no increase in OOPS with memcache turned off for a day on bugtask+index07:25
lifelessin fact, a *decrease*07:26
lifeless132 /  272  BugTask:+index07:26
lifeless187 /  476  BugTask:+index07:26
wgrantHow expensive were the sets?07:26
lifelessI saw individual misses at 24ms07:27
wgrantI'm more interested in the sets.07:27
lifelessgo look in the 27th oops report07:27
lifelessI don't remember the figures offhand07:27
jtvwgrant: when I look for distroseries differences, I guess the archive restriction should be that the purpose be "primary."  Debug archives don't sound like things that should be shared with derived distros… is that correct?07:32
wgrantjtv: Debug archives only have binaries, anyway.07:33
wgrantSo yes, primary archive only.07:33
wgrantIf you go near partner, I will delete you.07:33
jtvJust such a shame to have to join through Archive just to get the purpose.07:33
jtvwgrant: don't worry, I don't believe in partner swapping.07:33
wgrantjtv: You could just distribution.main_archive07:33
jtvOr as I like to say: "you should have kept the receipt then"07:33
wgrantMay be cheaper than joining.07:33
lifelesswgrant: can a distribution have a currentseries of None ?07:33
jtvwgrant: ahhh thanks, that's going to be cheaper yes.07:33
wgrantlifeless: Yes :D07:34
lifelesswgrant: ><07:34
lifelesswgrant: I'm looking at the bugtask-target-link-titles_txt failure I forwarded you07:34
wgrantlifeless: If there is no current series, there is no current version.07:35
jtvwgrant: Distribution.main_archive happens to be defined as a query on Archive, you unhelpful twit07:35
LPCIBotProject db-devel build #404: STILL FAILING in 5 hr 35 min: https://hudson.wedontsleep.org/job/db-devel/404/07:35
wgrantjtv: It is, yes.07:35
wgrantjtv: May still be faster.07:35
lifelesswgrant: obvious change made then07:36
wgrantlifeless: The only case where there isn't a currentseries is when there are no series at all.07:36
jtvwgrant: could be—more of a "join or fetch separately" tradeoff07:37
lifeless        return hash(self.distroseries.id) ^ hash(self.sourcepackagename.id)07:38
lifeless    AttributeError: 'NoneType' object has no attribute 'id'07:38
jtvAigh!  SourcePackage.currentrelease is not cached, and SourcePackage.format evaluates it twice.07:38
wgrantlifeless: WTF?07:39
wgrantjtv: What is SourcePackage.format?07:39
jtv"it's in the model class"07:39
wgrantI didn't know that existed.07:39
lifelesswgrant: dict.get(SourcePackage(packagename, None))07:39
wgrantjtv: Why are you using that?07:40
jtvwgrant: I'm not, just noticed it by accident07:40
lifelesswgrant: SourcePackage hashes them together, and hte None comes from the same currentseries07:40
wgrantlifeless: :(07:40
=== al-maisan is now known as almaisan-away
wgrantjtv: SourcePackageRelease.format was introduced a long long time ago and never used.07:40
lifeless    - evolution (Published Distro): 2.007:41
lifeless    ?                               ^^^07:41
lifeless    + evolution (Published Distro): No releases07:41
lifeless    ?                               ^^^^^^^^^^^07:41
lifelesspresumably, again, because the current series *isn't actually published in*07:41
jtvwgrant: I suppose I should be relieved.  :)07:41
=== almaisan-away is now known as al-maisan
wgrantjtv: No, you should delete it :P07:42
jtvwgrant: with all sorts of sadistic pleasure07:42
lifelessyay dead waiting on librarian ><07:46
lifeless  File "/home/robertc/launchpad/lp-branches/working/lib/canonical/librarian/client.py", line 188, in addFile07:47
lifeless    response = self.state.f.readline().strip()07:47
lifeless  File "/usr/lib/python2.6/socket.py", line 397, in readline07:47
lifeless    data = recv(1)07:47
lifelesswgrant: of course, our friend Archive:+packages is back07:56
lifelessok this is annoying me08:02
wgrantlifeless: What is?08:02
lifelessrepeated librarian hang in addFile08:02
wgrantWhat does your librarian say?08:02
spivwgrant: "sssh!"08:02
lifelessif we get a deploy done tomorrow morning08:20
lifelesswe can lower the timeout again08:20
lifelessI think08:20
lifelesscve:+index you suck08:22
lifeless100 lookups for distribution08:22
lifeless'FROM Distribution08:22
lifelessWHERE id IN ($INT)08:22
lifelesshow to bypass storms cache layer in one easy hit08:23
lifelesswgrant: bug 72702308:25
_mup_Bug #727023: Cve:+index timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727023 >08:25
lifelesswgrant: data for you on librarian shutdown issues08:27
lifeless2011-03-01 13:59:53+0530 [-] Failed to unlink PID file08:27
lifeless        Traceback (most recent call last):08:27
lifeless        Failure: exceptions.OSError: [Errno 2] No such file or directory: '/tmp/tmplhlibr/librarian.pid'08:27
lifeless2011-03-01 13:59:53+0530 [-] Server Shut Down.08:27
lifelesswgrant: it shutdown ok, but its a little concerning08:27
wgrantNever seen it hang before :/08:28
rvbHi everyone, first day on the job for me today! I hope you lp guys remember the "guy from the future" from Dallas ;-).08:37
rvblifeless: Hi08:37
rvbwgrant: Hi08:37
wgrantWelcome rvb!08:37
rvbwgrant: thx, I'm quite happy to be here and ready for action! I'm waiting for bigjools to come online but I still wanted to say hello.08:38
lifelessrvb: hi, welcome08:38
wgrantJulian should be around in 20 minutes or so.08:39
rvblifeless: thx08:39
StevenKrvb: Welcome!08:39
rvbStevenK: Hi08:39
lifelesswgrant: can you eyeball lib/lp/bugs/browser/tests/bugtask-target-link-titles.txt and tell me why the evo publication in 'Published Distro' is not in the currentseries ?08:39
wgrantlifeless: Is "because someone thought it was a good idea in 2005, and it was so" a valid answer?08:40
lifelesswgrant: I think its oversight because getCurrentSourceReleases was bong08:40
lifelesswgrant: The answer I need is 'change X to make it be in the current series.08:40
lifelesswgrant: which may simply be 'do X to *set* a current series'.08:40
wgrantlifeless: Have you tried overriding the series that getPubSource uses?08:41
lifelessdidn't know you could08:41
wgrantIt wouldn't be very useful if you couldn't.08:41
wgrant... so I guess that's a reasonable assumption.08:42
lifelesswgrant: I make no assumptions about usability and soyuz guts.08:42
adeuringgood morning08:47
wgrantMorning adeuring.08:47
adeuringhi wgrant!08:47
wgrantadeuring: Bug 688130 needs QA, and I'm not really clear on how to do it.08:48
_mup_Bug #688130: Statistics clean-ups and extra tests <lp-translations> <qa-needstesting> <upstream-translations-sharing> <Launchpad itself:Fix Committed by adeuring> < https://launchpad.net/bugs/688130 >08:48
adeuringwgrant: I'll look at it08:48
lifelesswgrant: this is a disaster08:58
wgrantlifeless: What is?08:58
wgrantlifeless: That test?08:58
lifelesswgrant: tip of lp:~lifeless/launchpad/bug-279513 if you're feeling interested09:02
lifelessit has a currentseries version of 1.0, not published09:02
lifelessoh... frell09:05
lifelessthe current series changes when they make a new series midflight09:05
lifelessso it invalidates out the current series09:07
wgrantHah, handy.09:07
rvbbigjools: Hi09:11
bigjoolsrvb: Morning!09:11
lifelesswgrant: whats the official way to freeze a distro series ?09:13
lifelesswgrant: just assign the status ?09:13
wgrantlifeless: Yes.09:14
* bigjools brb09:15
=== gmb` is now known as gmb
bigjoolsrvb: how are you doing?09:19
rvbbigjools: all right!09:20
rvbbigjools: ready for action!09:20
bigjoolsrvb: I tried to send you a private message, did you get it?09:20
rvbbigjools: no09:20
rvbbigjools: all right, I got it now09:21
StevenKgmb: O hai! Are you up for a review?09:33
gmbStevenK: Not just yet. If it's in the queue I'll take a look in the next 45 minutes or so.09:33
StevenKgmb: At some point today is perfectly fine.09:37
LPCIBotProject devel build #489: STILL FAILING in 5 hr 25 min: https://hudson.wedontsleep.org/job/devel/489/09:56
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: wgrant, gmb | https://code.launchpad.net/launchpad-project/+activereviews
=== wgrant changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: gmb | https://code.launchpad.net/launchpad-project/+activereviews
wgrantgmb: Hi.10:40
gmbwgrant: (Mor|Eve)ning10:41
wgrantgmb: Could you please review https://code.launchpad.net/~wgrant/launchpad/pygments-1.4/+merge/51725?10:41
wgrantFixes the codebrowse hangs that have plagued us since the weekend.10:41
gmbOoh, complex.10:43
gmbwgrant: Done.10:43
wgrantgmb: Thanks.10:44
wgrantVery complex, yes.10:44
bigjoolswgrant: I love the way the decprecation warnings were overridden10:46
wgrantbigjools: That's the way to do it.10:47
wgrantadeuring: Any progress on that QA? I hope to be able to request a deploy in the morning to unbreak codebrowse.10:48
wgrantAnd I really don't know how to do it myself :/10:48
adeuringwgrant: sorry, got distracted, but I'm looking now,. I still  need  some time to figure out how to test the branch properly10:49
wgrantadeuring: Thanks.10:49
bigjoolswgrant: I meant that it's ignoring a valid problem10:51
wgrantbigjools: Oh, right.10:55
=== al-maisan is now known as almaisan-away
=== henninge_ is now known as henninge
StevenKgmb: Thank you for the review11:04
=== jtv1 is now known as jtv
=== Ursinha-afk is now known as Ursinha
Ursinhamorning launchpadders11:43
wgrantRolling back thumper's branch.11:46
=== almaisan-away is now known as al-maisan
bigjoolsmorning Ursinha11:50
=== jtv is now known as jtv-eat
wallyworld_WTF? ec2 land -> 0 tests run in 4:13:40.345985, 0 failures, 0 errors yet log shows no test failures.12:01
wgrantwallyworld_: You've not merged devel lately?12:01
wgrantI fixed that yesterday morning.12:01
wallyworld_wgrant: i did merge a few hours ago12:02
wgrantwallyworld_: Into the branch that you ran ec2 from?12:02
wgrantThat's the one that matters, not the one that ran it *on*.12:02
wgrantAh, crap, this testfix means my codebrowse branch is going to fail while I'm asleep.12:03
wgrantI might just lp-land it, then.12:03
wallyworld_wgrant: i'm confused. yes i did merge devel into the branch i submited to ec2 land, but ec2 land just take one's branch and merges into the latest trunk anyway, no?12:03
wgrantwallyworld_: Sort of.12:03
wgrantwallyworld_: The bug was in a file that is copied from the local branch.12:04
jmlwallyworld_: may I see the log?12:04
jmlwallyworld_: actually, nm.12:04
wallyworld_ah, didn't realise that was the case12:04
wallyworld_so the last 2 lines of the log should say "All tests passed" but instead say Tests failed (exit code 1)12:05
wallyworld_make: *** [check] Error 112:05
wgrantCan you forward it to me or jml?12:05
wallyworld_i guess ill try merging devel again now and resubmit12:05
wgrantThere's probably a failure in there somewhere.12:05
wgrantdevel is broken at the moment.12:05
wgrantFix in PQM.12:05
wallyworld_wgrant: ok. i'm fairly sure there's no failure but i can forward to log12:06
wgrantwallyworld_: There is an error.12:10
wgrantSearch for 'error:' in the output.12:10
wgrantI would paste you details, but unity has decided to curse me.12:10
wallyworld_wgrant: !@^!^!@%^#! i'll take a look. i would have sworn on my mother's grave i had a proper look12:11
wallyworld_wgrant: shit. thanks. i stupidly searched for "eror:" thanks for looking12:12
* wallyworld_ hands head in shame12:12
wallyworld_i can't type12:13
wgrantAt least you aren't Unity.12:13
=== matsubara-afk is now known as matsubara
wgrantCan someone watch buildbot tonight and make sure it stays happy?12:17
* deryck finds it sad wgrant has to ask someone to watch buildbot12:20
wgrantderyck: I often get up and find that it has been broken for 6 hours.12:20
wgrant(often because of Windmill *cough*)12:20
wgrantDo you have any ideas on that?12:21
wgrantit leaks a thread or two in most runs, and occasionally fails. Although I got ten runs of just WindmillLayer through ec2 without a failure :(12:21
deryckwgrant, yes.  Two things... I *think* this is always related to not using timeouts in asserts.  And doing a layer in a for loop will cause a hang and we could attach a debug then.12:22
deryckwgrant, I hope to look at it soon, but gladly welcome anyone else checking into it.12:22
wgrantderyck: I was hoping to be able to reproduce it in a minimal ec2 run, since I have never been able to run it reliably locally.12:23
deryckby for loop, I mean -- for i in `seq 5`; do test --layer=CodeWindmillLayer; kind of thing.12:23
deryckwgrant, you can't run windmill locally at all?12:23
wgrantderyck: Almost every test fails.12:23
deryckcan you increase the timeout constants and get it passing?12:23
wgrantThey also hang occasionally on open()12:23
wgrantI need to investigate.12:24
wgrantBut production keeps exploding.12:24
deryckwgrant, right.  not saying you used look into it.  Just meant that anyone really should look into this.  But I will as soon as I can.12:25
wgrantWell, nobody looks into test failures :)12:25
wgrantOr production issues.12:25
wgrantI am hoping it is as trivial as the librarian one.12:26
deryckthis is true.12:26
wgrantBut somehow I doubt it :(12:26
derycksad but true12:26
lifelessnight all12:26
wgrantNight lifeless.12:26
wgrantNight all.12:59
LPCIBotProject db-devel build #405: STILL FAILING in 5 hr 31 min: https://hudson.wedontsleep.org/job/db-devel/405/13:06
=== al-maisan is now known as almaisan-away
sinzuiallenap: how goes you merge person job branch. Do you want me to land it it?14:37
allenapsinzui: I am trying to land it, but it refuses to go. Database permission errors in ec2 that I cannot replicate locally.14:39
allenapsinzui: I am looking at it now in fact.14:39
sinzuiokay. I too spent a couple hours with that yesterday14:40
sinzuiallenap: someone will need to add featureflagchangelog. I added that table in db-devel, and that was the one I forgot to give update permission on for merge14:42
allenapsinzui: Okay, I'll add it now.14:43
sinzuiI do not think you can. It does not exist in devel14:43
sinzuiallenap: or are you planing to land in db-devel instead14:44
allenapsinzui: I'll land in devel if I can, but if it rejects me I'll go to db-devel.14:44
sinzuioh duh, security.cfg changed, you do want to land in db-devel14:44
=== almaisan-away is now known as al-maisan
allenapsinzui: The problem I have had is that I grant only UPDATE on several tables to a new user, person-merge-job. Now this seems to work locally, but in ec2 it fails because an UPDATE with a WHERE clause needs SELECT granted too.14:48
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
sinzuilosa ping14:57
viciousprimatesinzui: heya, got dropped by my irc proxy.  i was lead to believe you have an issue worth discussing.15:02
sinzuiThe criminalisation of owning Chihuahuas?15:03
=== Ursinha is now known as Ursinha-lunch
benjiIndeed, Chihuahuas can not be "owned" they must run free through the streets like rabbid overgown rats.15:05
sinzuiviciousprimate: what would you like to discuss?15:10
=== matsubara is now known as matsubara-lunch
viciousprimatesinzui: oops, i didn't realize i didn't re-register as myself (lost my irc proxy this morning), one sec.15:11
=== viciousprimate is now known as mbarnett
sinzuiooh. just like Scooby Doo when Velma pulls of the villan's mask.15:12
mbarnettsinzui: sorry, i was trying to respond to a losa ping there, just failing with my technology this morning.15:12
mbarnetti would have gotten away with it, if it wasn't for those vicious primate.15:12
sinzuimbarnett: I am testing the the feature flag change log https://staging.launchpad.net/+feature-rules can you change the priority on a few of the items for me to review. maybe change all the 1s to 2s15:13
sinzuimbarnett: you will need to enter a comment too15:13
mbarnettso, for instance, change the 1 to 2 in "memcachepageid:BugTask:+index1" and "visible_render_timeteam:launchpad1on" ? 15:16
mbarnettkk, i'll change and log.15:17
mbarnettsinzui: done15:19
sinzuimbarnett: This looks okay to me https://staging.launchpad.net/+feature-changelog15:20
sinzuithanks mbarnett15:20
sinzuijcsackett_: ping15:20
jcsackett_hi sinzui.15:21
=== jcsackett_ is now known as jcsackett
=== leonardr changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: gmb, leonardr | https://code.launchpad.net/launchpad-project/+activereviews
leonardrgmb, care to review https://code.launchpad.net/~leonardr/launchpad/bug-271010/+merge/51760?15:22
LPCIBotProject devel build #490: STILL FAILING in 5 hr 26 min: https://hudson.wedontsleep.org/job/devel/490/15:22
sinzuijcsackett: 1. I realised that giving the flag-expired-memberships a grace period would not work. The message contains a link to a url you cannot access, and it says your membership will expire 2 hours ago.15:23
jcsackettsinzui: that does sound like a problem.15:23
sinzuijcsackett: since the user has gotten 6 other emails about this, I updated the docstring to explain such cases will be silently dropped15:23
jcsackettsinzui: that sounds completely reasonable. if the user has already been warned, there's really no need to email them again in this edge-case.15:24
gmbleonardr: Sure15:24
sinzuijcsackett: 2 I am looking at bug 106338. It might interest you if you think you can get to it in a few days.15:24
_mup_Bug #106338: Editing a bug targeted to a release crashes if you directly edit the untargeted task  <api> <lp-bugs> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/106338 >15:24
jcsackettsinzui: oh goody, conjoined bugs.15:25
jcsacketti think i can get to that tomorrow or the day after, depending on how current message work goes.15:25
jcsackettsinzui: happy to take a look then, if that's a reasonable time table.15:25
sinzuijcsackett: okay. I will set it aside. I just looked at the oopses and see that the issue has changed, but I think it still fixable in 400 lines15:26
jcsackettsinzui: cool. preimp talk about it tomorrow during our usual 1-1?15:27
leonardrdanilo, gmb, i will take https://code.launchpad.net/~danilo/launchpad/bug-720826-emails/+merge/5174715:29
gmbleonardr: I'm already looking at that15:29
gmbForgot to claim it.15:29
leonardroh, nm15:29
* leonardr assigns it back15:30
gmbleonardr: Wow, it OOPSed when I tried to claim it right after you had.  That seems a little over the top. I'll file a bug.15:31
danilosgmb, leonardr: yay, fights over my branches again, I love that :)15:32
danilosit gets claimed back and forth, even oops fly around15:32
bigjoolssinzui: question for you15:41
bigjoolshttps://launchpad.dev/ubuntutest versus https://launchpad.dev/gentoo - the latter does not have the "Add series" link and I can't work out why15:41
* sinzui looks15:42
bigjoolsthe whole <div> has tal:condition=context/series15:43
bigjoolswhich is repeated for the <ul>, heh15:43
bigjoolsso it seems like the addseries link should never be there unless you have existing series15:43
sinzuibigjools: IDerivativeDistribution will show it if you are a driver. IDistribution does not.15:44
sinzuioh, I think you are correct.15:44
bigjoolshowever, ubuntutest does not have any series15:44
bigjoolsbut it shows the link :)15:44
sinzuibigjools: I think this is vestigial from when we registered usless distros then realised we had to cripple the ui rather than fix the schema15:45
bigjoolsyeah I was guessing it was shitty sample data15:45
bigjoolsI need to fix this for derived distros15:45
sinzuiDistros do not automatically get series when created I think15:45
sinzuibigjools: I think you need to rename the current IDerivativeDistribution to IRemixDistribution. baltix will not be built by soyuz or get translations15:46
bigjoolsyeah, we'll have to look at that15:48
sinzuibigjools: The template is just stupid https://launchpad.dev/gentoo/+series will let you add one15:49
bigjoolssinzui: indeed15:49
=== m4n1sh is now known as manish
=== manish is now known as manish__
=== manish__ is now known as manish_
danilosleonardr, gmb: hi, one small branch up for review: https://code.launchpad.net/~danilo/launchpad/devel-bug-720826-clear-level-on-delete/+merge/51768 (diff will show up in a bit)16:13
leonardri'll take it16:13
danilosleonardr, thanks16:14
stubI've been getting PQM failures on a particular branch: http://paste.ubuntu.com/573990/16:17
stubAnyone seen similar?16:17
bigjoolsnever seen that16:18
bigjoolssinzui: is it my imagination or is there no link presented for /distros/+add anywhere?16:19
leonardrdanilos, r=me16:27
danilosleonardr, thanks16:28
stubbigjools: Just me attempting to land on the wrong branch + logs of noise warnings16:39
bigjoolsstub: pebkac is also my middle name16:39
danilosleonardr, btw, I don't know of any better way to indicate a base-level default myself; let me check the interface16:40
danilosleonardr, the interface and model actually use a different value, the model one is correct (not that I'd know how to extract it nicely from the model or the interface)16:41
leonardrdanilos, you mean they use different constants?16:42
danilosleonardr, yeah, I'll fix that bit16:42
danilosand I see I can get the default with IBugSubscriptionFilter.getDescriptionFor('bug_notification_level').default16:44
danilosleonardr, do you think I should use that in the code? (I'd leave the test as-is)16:44
leonardryeah, use that in the code16:44
danilosleonardr, cool, thanks16:44
=== al-maisan is now known as almaisan-away
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: leonardr | https://code.launchpad.net/launchpad-project/+activereviews
=== matsubara-lunch is now known as matsubara
=== beuno is now known as beuno-lunch
danilosgmb, thanks for the review17:16
bigjoolssinzui: so the +addseries was appearing when there was an experimental series that's not actually showing in that portlet17:41
sinzuibigjools: yes, that is what +series showed. Sorry for not stating that17:50
bigjoolssinzui: no problem - I intend to try and make it all work much nicer17:50
sinzuibigjools: experimental, obsolete are not manages by the core developers, so we hide them17:50
bigjoolsthis stuff needs to be easy to use for non-admins when we do the derived distros17:51
=== beuno-lunch is now known as beuno
sinzuiSubclasses enums are not equal to the superclass enum18:11
leonardrgmb, are you still reviewing my branch or should i try to get someone else to do it?18:12
LPCIBotProject db-devel build #406: STILL FAILING in 5 hr 30 min: https://hudson.wedontsleep.org/job/db-devel/406/18:37
lifelessbbiab - allergy vaccination time, and the city is still a mess from the quake, so may be longer than desirable :(18:48
sinzuican someone who cares about storm and enum give me an opinion about bug 727331. I think I want to implement enum equality rather than create a vocab factory18:49
_mup_Bug #727331: Subclassed DBEnum item is not equal to the super class item <infrastruture> <storm> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727331 >18:49
* sinzui looks for another bug18:53
=== jam1 is now known as jam
jamlifeless: I poked at https://bugs.launchpad.net/launchpad/+bug/72714818:56
_mup_Bug #727148: Bzr timeouts on SSH connections <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727148 >18:56
gmbleonardr: Ark, sorry, I thought I'd voted on it.18:56
jamAnd I can confirm routing failure from people.canonical.com18:56
jambut success from home18:56
gmbLet me just take another look.18:56
jamwhich hints that it is a datacenter firewall/routing issue18:57
gmbleonardr: Done. Apologies; I'd obviously looked and gone "yeah, that's fine" but the brain->LP interface was down.18:57
leonardrdid something happen to lib/canonical/widgets recently? it seems to be gone from my copy of devel, but there's still code that tries to import it19:00
leonardrthat importing code looks bad to me. has no anyone else noticed this?19:05
leonardrlooks like the widgets were moved to lp.apps.widgets.itemswidgets and the shipit code wasn't changed19:05
leonardrweird... anyway19:07
james_wleonardr, run update-sourcecode I believe19:09
=== almaisan-away is now known as al-maisan
=== Ursinha-afk is now known as Ursinha
=== al-maisan is now known as almaisan-away
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
* thumper is here, coffee in hand20:18
sinzuileonardr: I moved many of the widgets to lp.app. Other parts of the tree got widgets too. wgrant destroyed the dir after stabbing shipit is a spoon until it yielded.20:30
=== Ursinha is now known as Ursinha-afk
leonardrsinzui: thanks, i've figured it out. i didn't know shipit was in sourcecode20:31
sinzuileonardr: it is symlinked. it is not obvious and you may not know it until ec2 sends you hate mail.20:32
LPCIBotYippie, build fixed!20:49
LPCIBotProject devel build #491: FIXED in 5 hr 26 min: https://hudson.wedontsleep.org/job/devel/491/20:49
thumperwgrant: ping20:54
maxbWould someone be able to send me OOPS-1886CMP2 including the full traceback and the text of the triggering email? (re https://answers.launchpad.net/launchpad/+question/147254)20:59
maxbCMP oopses are apparently stuck locally on crowberry and not being propagated centrally unless something was fixed since yesterday21:00
sinzuithumper: may I have your opion of bug 727331.21:03
_mup_Bug #727331: Subclassed DBEnum item is not equal to the super class item <infrastruture> <storm> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727331 >21:03
* thumper looks21:03
wallyworldthumper: leonardr: standup?21:04
thumpersinzui: hmm... this was an interesting design decision21:04
thumpersinzui: if you are around, we could talk after my standup21:05
thumperwallyworld: yeah21:05
sinzuithumper: wont fix is an legitimate reply. I could make a vocab factory and test in 50 lines, I just do not want to21:05
lifelessjam: thanks21:23
* lifeless is back21:23
thumpersinzui: can you mumble?21:24
wgrantthumper: Hi.21:31
thumperwgrant: hi21:31
thumperwgrant: sorry about my branch yesterday, I was sure I did ec2 land21:32
thumperbug my bash history tells me different21:32
wgrantI noticed it landed very quickly, but decided not to query you.21:32
* sinzui starts mumble21:32
wgrantbuildbot has failed.21:33
maxbwgrant: Hi, would you be able (now or later) be able to dig out OOPS-1886CMP2 for me, including traceback & email this time? (Same issue as yesterday)21:34
wgrantmaxb: Looking.21:35
wgrantmaxb: I've requested a log sync.21:37
lifelessI may have  broken that api21:40
lifelessForbiddenAttribute: ('branchID', <lp.code.model.seriessourcepackagebranch.SeriesSourcePackageBranch object at 0x2b58d42a97d0>)21:41
wgrantAnd we were doing so well for the last couple of weeks.21:41
wgrantNow we have the chain of pain and suffering again :(21:41
lifelessits the result of not deploying daily21:42
lifelesswe can still deploy some stuff21:42
wgrantWe need a qa-reallydontcare21:44
wgrantFor things that are hard to test, largely inconsequential, and remain un-QA'd through two European days.21:44
wgrantthumper: I think we may have to untestable your Blueprint thing.21:45
wgrantOr convince a friendly GSA to setup Blueprint mail.21:45
thumperwgrant: yeah21:45
lifelesswgrant: qa-untestable it21:45
lifelesswgrant: untestable covers a multitude of cases21:46
wgrantlifeless: The worst 12469 can do is break pofilestats, and it was already broken until last week.21:46
wgrantSo yeah, doing so.21:46
=== matsubara is now known as matsubara-afk
=== salgado is now known as salgado-afk
wgrantmaxb: BzrCheckError: Internal check failed: Cannot add revision(s) to repository: missing referenced chk root keys: [StaticTuple('sha1:bc9ad731c2af5f4d5b71cbad086b2a0758b8936a',)]21:52
wgrantStill want more details?21:52
wgrantlifeless: Do you have a fix in progress for your breakage?21:53
lifelesswgrant: was just about to start the branch21:53
lifelesswgrant: if you want to do it that would be awesome21:53
wgrantlifeless: 'fraid I have enough other time-critical stuff to do.21:54
lifelesswgrant: its just add the ID (and check for others i may have used that are neither covered by tests nor in the existing interfaces)21:54
lifelesswgrant: I'm happy to do it21:54
wgrantlifeless: Sadly you are going to miss the next buildbot run by a few minutes.21:54
wgrantWe might want to hold that or something.21:54
lifelesswgrant: I'm assessing https://bugs.launchpad.net/launchpad/+bug/724033 first - checking I haven't broken bugs too21:54
_mup_Bug #724033: BugTask:+index timeouts - distributions and milestones being late evaluation loaded - repeatedly - on bug 230350 <qa-needstesting> <timeout> <Launchpad itself:Fix Committed by lifeless> < https://launchpad.net/bugs/724033 >21:54
wgrantOK, I am disabling Windmill until someone (maybe me) sorts it out.21:56
wgrantUnless someone complains quickly.21:56
lifelessSQL time: 5017 ms21:58
lifelessNon-sql time: 10126 ms21:58
_mup_Bug #230350: Missing Debian Maintainer field <Ubuntu:Invalid> <afflib (Ubuntu):Fix Released by saivann> <alac-decoder (Ubuntu):Fix Released by warp10> <axiom (Ubuntu):Invalid> <beneath-a-steel-sky (Ubuntu):Fix Released> <bibletime-i18n (Ubuntu):Fix Released by txwikinger> <binkd (Ubuntu):Fix Released> <bzr-builddeb (Ubuntu):Won't Fix> <capisuite (Ubuntu):Invalid> <chinput (Ubuntu):Fix Released by warp10> <chmsee (Ubuntu):Fix Released> <ciso (U21:59
wgrantlifeless: Hey, you are making progress on single-threaded appservers.21:59
wgrantThere is hope.21:59
lifelessthis is on qastaging21:59
lifelessso I think this particular case is genuine21:59
lifelessthings like query 4 make me wonder about pathological stuff21:59
lifeless(4 by time)22:00
lifelessholy cow22:01
lifelessquery 20 in the timeline22:02
lifelesswe have -lots- of tasks on this bug22:02
wgrantOhh, one of these, right.22:03
lifelessafter query 36 we waste .7 of a second doing  ???22:03
wgrantThere are only a few.22:03
lifelessbug one down to 352 queries22:05
wgrantI don't believe you.22:05
lifelesshit it on qa staging22:05
wgrantNo memcache, I guess.22:05
wgrantThat's cheating.22:06
lifelessmore than that22:06
lifelessbug 72403322:06
_mup_Bug #724033: BugTask:+index timeouts - distributions and milestones being late evaluation loaded - repeatedly - on bug 230350 <qa-needstesting> <timeout> <Launchpad itself:Fix Committed by lifeless> < https://launchpad.net/bugs/724033 >22:06
wgrantHuh, confirmed.22:06
lifelessI wouldn't be so mean as to get your hopes up needlessly22:08
wgrantbuildbot does, so why not you too?22:08
lifelessbecause I am a real machine22:08
wallyworldthumper: if you have time to look, here's the WrongStoreError i've been getting https://pastebin.canonical.com/44117/22:09
lifelesswgrant: whats wrong with 21838422:11
wgrantBug #21838422:13
_mup_Bug #218384: OOPS processing Mantis bugwatches <bad-commit-12487> <bugwatch> <lp-bugs> <oops> <qa-bad> <story-reliable-bug-syncing> <Launchpad itself:Fix Committed by thumper> < https://launchpad.net/bugs/218384 >22:13
wgrantlifeless: It exploded the test suite.22:13
wgrantSee what I mean?22:14
lifelessthumper: did you ec2 land it, or direct?22:14
lifelesswgrant: you're rolling it back ?22:14
wgrantlifeless: I rolled it back last night.22:14
lifelessok, cool22:14
wgrantThe rollback is through buildbot.22:14
=== Ursinha-afk is now known as Ursinha
wgrantlifeless: Still 77 Person and 48 VPC queries :(22:16
wgrant37 TP, 21 Milestone.22:16
lifelesswgrant: yes, step at a time.22:19
wgrantStevenK: Around?22:23
wgrantI wonder if we can set up Jenkins to run WindmillLayer in a separate job.22:24
wgrantSo it doesn't bitrot too much and we are still pushed towards fixing.22:24
lifelesswgrant: we can22:25
lifelesswgrant: you'll need an entry point to run it is all22:25
jcsackettah, mumble, how i love your crashing...22:31
lifelessok, sigh22:39
lifelessthat branches collection is barely tested :(22:40
lifelessone liner to fix.22:42
wgrantlifeless: No other fallout?22:43
lifelessit gets to the last clause of the eager load method22:43
lifelesswgrant: check 12505 in lp:~lifeless/launchpad/bug-72295622:44
lifelesswgrant: are we in testfix?22:44
wgrantlifeless: No.22:44
maxbwgrant: thanks for the oops digging. This is sounding like it could be bug 718723, though if so I'm confused why it didn't bite me when I tried it22:44
_mup_Bug #718723: fetch from merge directive to stacked branch unable to fill in chk pages <Bazaar:Confirmed> < https://launchpad.net/bugs/718723 >22:44
wgrantlifeless: Aha.22:45
lifelesswgrant: this is a storm class, the branchID Int column was already defined - I didn't add it in my original patch.22:45
lifelesswgrant: and I didn't think to check that it was on the interface, given it already existed.22:45
lifelessits in PQM now.22:46
wgrantI am giving Windmill one last chance to hang on my laptop before I kill it.22:46
lifelesswe are in testfix22:46
wgrantThen we should have a reliable test suite again.22:47
wgrantlifeless: Oh, I thought a new build had started.22:47
wgrantlifeless: No [rollback=]?22:49
wgrantOK, we'll just have to work it out manually.22:50
lifelessmbarnett: is spm around today?22:51
mbarnettlifeless: yup,22:51
mbarnettlifeless: or i should say, that is the plan.22:51
lifelesswgrant: shall we get 12486 deployed before mbarnett vanishes?22:52
mbarnettneed a nodowntime fired off?22:52
lifelessmbarnett: I'm thinking so22:52
wgrantI was considering that.22:52
lifelesswgrant: you're still fighting fires?22:53
wgrantlifeless: Clubbing Windmill to death.22:53
lifelesswgrant: I'll prep it22:53
lifelessUrsinha: unless you want to, for more practice? Its a rather bigger one this time22:53
wgrantOur biggest in a while :(22:53
wgrantEven the next one is not going to be exactly small.22:54
lifelessmbarnett: when do you turn into a puff of smoke ?22:55
mbarnettlifeless: in a little under an hour most likely.22:55
lifelessmbarnett: ok, I'll have this prepped in 15 - need to shove some food in my gob first22:56
* mbarnett understands the need for feasting. 22:56
lifelessUrsinha: I'm prepping it23:00
lifelessmbarnett: its up23:05
lifeless26 bugs23:06
mbarnettlifeless: it shall be done.23:06
lifeless2 and a half days23:06
wallyworldlifeless: the linked_bugs property on BranchMergeProposalView doesn't filter out private bug. do you agree this is incorrect and i should  use check_permission() to stop private bugs being exposed?23:15
lifelessyes and no23:16
lifelessbetter to load them correctly in the first place23:17
lifelessthat way the collection size will be correct, etc et23:17
wallyworldlifeless: the code to load them is in the model - the linked_bugs attribute on a branch, which is defined an an SQLRelatedJoin23:22
lifelessits a bug23:22
lifelesson several levels :)23:22
wallyworldso there's no concept there of what user it trying to do the accessing23:22
lifelessfix that23:22
lifelessgive me a sec to do gc on my branches23:23
lifelessI may have some half done thing in this area23:23
wallyworldlifeless: ok. i'm working on another issue and came across this. if i were to do a quick fix to the linked_bugs property on the view, that works fine for now and there's no issue with collection sizes etc23:24
wallyworldthat i can see23:24
lifelesswallyworld: uhm, I think thats stale23:25
lifelesscheck_permission will trigger late evaluation anyhow23:25
wallyworldlate evaluation of what? the object having its permission checked?23:26
lifelesswallyworld: ok, I've paged this in23:27
lifelessI got half way through refactoring23:27
lifelesssee Branch.getLinkedBugTasks23:27
lifelessmost of the templates now use linked_bugtasks rather than linked_bugs (because in LP we work with bugtasks not bugs)23:28
wallyworldok. but sometimes we want bugs23:28
lifelesswallyworld: no, we don't.23:28
lifelesswallyworld: we think we do, but its a mistake.23:28
wallyworldlike showing the linked bugs for merge proposals? so we want to show linked bug tasks instead?23:28
lifelesswe already show bug tasks.23:29
lifelesswallyworld: bugs have no importance or severity23:29
lifelesswallyworld: see DecoratedBug.bugtask *or* the implementation of Branch.getLinkedBugTasks23:29
lifelesswallyworld: either of those show the selection for the bugtask to show23:29
lifelesswallyworld: so, yes, the data model links to *bug*, but the UI then *picks a task* to show.23:30
wallyworldBranchMergeProposalView has both linked_bugs AND linked_bugstasks properties, so it seems some work is needed there23:30
lifelessI added linked_bugtasks to land my performance for BugTask:+index23:30
wallyworldah ok23:30
lifelessthere was some stuff still referenving linked_bugs on the BMP template so I left it in the short term.23:31
lifelesswallyworld: we were doing 1000 queries dealing with linked_bugs23:31
wallyworldso getLinkedBugTasks does the right thing with respect to permissions/private etc?23:31
lifelesswallyworld: due entirely to late evaluation23:31
maxbOh dear.... if I was to suggest that emailed in bundles to create merge proposals was completely broken, does that sound possible?23:31
lifelesswallyworld: yes, what it returns is usable, visible and [mostly] eager loaded already.23:31
lifelessmaxb: yes23:31
wallyworldif so i'll remove linked_bugs from bmp view23:31
wallyworldand write some tests - there were none at all for this23:32
lifelessthere are view tests23:32
lifelessbut yeah, none dealing with permissions23:32
lifelessthe *only* reason there are permission issues23:32
wallyworldnot that check that private linked bug[tasks] are not visible23:32
lifelessis because code wasn't using the bugs interface for getting bugs.23:32
wallyworldbecause it was navigating the object model starting at a branch23:33
lifelessbecause it used direct queries to grab bugs23:33
lifelessrather than getUtility(IBugTaskSet).search23:33
lifelesswhich is the -only- defined way to get bug tasks.23:34
lifelesseverything else either:23:34
lifelessa) layers23:34
lifelessb) is buggy23:34
wallyworldit wasn't using direct queries that i saw - it was calling branch.linked_bugs23:34
lifelesslinked_bugs = SQLRelatedJoin(..)23:34
wallyworldwhich may be using a direct query under the covers23:34
lifeless^ - thats a direct query23:34
wallyworldbut conceptually is an object model navigation thing23:34
lifelessbut its broken23:34
=== Ursinha is now known as Ursinha-afk
lifelesswe can't use object model navigation for most of our work23:35
wallyworldthe direct query is an implementation detail :-)23:35
lifelessnot IMO23:35
wallyworldagreed +10023:35
lifelessvisibility depends on the current interaction23:35
lifelesswe have some tensions23:35
lifelesswe have half a container23:35
wallyworldyes, and using object model navigation sucks for that, i agree.23:36
lifelesswe don't properly support (e.g. fast, efficient, clear) accessing current user from 'anywhere'23:36
=== Ursinha-afk is now known as Ursinha
wallyworldeverything should be service based imho23:36
lifelessnor do we pass current user around pervasively23:36
lifelessthe big thing I want is thinness23:36
lifelessI want us to drop about 50% of our classes23:36
lifeless60-70% of our interfaces23:36
wallyworldno argument from me for dropping code23:37
lifelessprobably a 2012 thing23:37
lifelesswe have many areas that are self-inflicted complexity.23:37
wallyworldso for now, i'll use your new getBugTasks stuff and refactor out the use of linked_bugs from bmp view23:37
lifeless(e.g. the conjoined master thing: I *still* haven't had an explanation of /why/ that exists)23:37
lifelesswallyworld: cool23:38
wallyworldthat will solve the immediate permisisons issue23:38
wallyworldand then i can use that as the basis for the current issue i am working on, wheich is that the branch index page blows up if there's a private bug linked to a mp23:38
lifelesswallyworld: cool. Thats the last use of DecoratedBug btw23:38
lifelessyou can delete it after you're done.23:39
wallyworldresulting from the previous stuff i did to show the mp and linked bugs for revisions23:39
wallyworldok will do23:39
wallyworldlifeless: thanks for the input23:39
lifelessmy pleasure23:40
=== StevenK changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | firefighting: - | On call reviewer: leonardr, StevenK | https://code.launchpad.net/launchpad-project/+activereviews
=== lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: leonardr, StevenK | https://code.launchpad.net/launchpad-project/+activereviews
wgrantStevenK: So, how much work is an extra Jenkins job with --layer=WindmillLayer?23:44
StevenKFor just devel or both {,db-}devel?23:47
wgrantJust db-devel.23:47
wgrantLittle point running it for both.23:48
wgrantAnd db-devel will catch everything.23:48
StevenKIt's pretty easy23:48
wgrantIt could even just run in the downtime when one of the other slaves is idle, if you don't have enough.23:48
StevenKI don't think that is required23:49
StevenKWow. checkwatches.txt didn't break23:49
wgrantI introduced some new checkwatches tests yesterday, which may have caused it to reorder.23:50
lifelesswallyworld: this is one of the sample pages that was dying23:50
wgrantStevenK: https://code.launchpad.net/~wgrant/launchpad/die-windmill-die/+merge/5183623:50
StevenKwgrant: Perhaps checkwatches.txt needs to die :-)23:50
wallyworldlifeless: yeah, i think from memory that one is listed in the bug report23:50
lifelesswallyworld: to give you an idea of data sizes with bug-branch links: 375 links23:50
lifelesswallyworld: which is also why I filed the bug about merge-proposal bug links - if that branch *ever* merges into another, the branch index will be showing 375 bugs against that revision.23:51
lifelesswallyworld: which is, frankly, insane.23:51
lifeless(a preexisting data model problem to your work: your using what we have in the model just made it much clearer)23:52
wallyworldlifeless: when i worked on the bug asking for this functionality, i never envisiaged a branch would have so many linked bugs23:52
wallyworldactually, a mp i mean23:52
lifelessright. But the mp 'related bugs' is defined as 'those of the source on in the linked bugs of the target'23:53
wallyworldbecause for each recent revision, we show the mp which resulted in that revision and the linked bugs are against the mp23:53
lifelesswallyworld: which is a definitional problem: really it should be 'the open bugs of the source from when the MP was started till it landed'23:53
lifelesswallyworld: a merge proposal represents a temporal range; but the bugs we show have no limits. There are other bugs about fallout from this23:54
wgrantStevenK: It probably needs to die, yes, but it's not breaking in buildbot so I care slightly less.23:54
wallyworldlifeless: the way we work in lp, the life of the source branch is closely tied to the life of the mp23:55
wallyworldso its a moot point for us23:55
wallyworldbut you are saying other projects work differently?23:55
lifelesswallyworld: *we* don't work that way.23:57
lifelesswallyworld: you may. I don't. Stub doesn't. Others don't.23:57
wallyworldah ok23:57
lifelesswallyworld: the lp project definitely doesn't: devel merges to stable multiple times a day.23:57
wgrantStevenK: So, I can has review?23:57
wallyworldi create a new feature branch for each new bug etc23:57
lifelesswallyworld: stable to db-devel. db-devel to db-stable.23:58
wallyworldyes, you are right23:58
wallyworldmy thinking was far too narrow23:58

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