/srv/irclogs.ubuntu.com/2010/04/28/#launchpad-dev.txt

mwhudsonthumper: want to review a testfix branch?00:24
thumpersure00:24
mwhudsonthumper: https://code.edge.launchpad.net/~mwhudson/launchpad/db-devel/+merge/2427000:27
thumpermwhudson: done00:46
mwhudsonthumper: thanks00:47
thumpermwhudson: I have my breadcrumbs working00:48
mwhudsonthumper: woo00:48
thumpermwhudson: and I'm going to refactor one of the existing tests00:48
mwhudsonthumper: i'm sure there's a joke to be made about a fairy tale in here somewhere...00:48
thumper:)00:48
mwhudsontime for lunch00:59
mwhudson... and breakfast, which somehow got lost today01:00
thumper:(01:12
thumpermy breadcrumbs works as long as you don't look for a person or product :)01:12
mwhudsonah poo, it seems like there's a database patch in db-devel before my no-hosted-area landing, so i'll have to wait for a db restore before i can qa it :(03:14
wgrantmwhudson: Why does that require a DB restore? Wouldn't that just need the patch to be applied when it next updates?03:15
mwhudsonoh, do we do that?03:15
* mwhudson hopes so03:15
wgrantIt would make a lot of sense.03:16
wgrantThe last DB reimport was on 9274->9275, which had no schema changes, so it probably isn't triggered by schema changes.03:19
thumpermwhudson: I was under the impression that we were at least going to try that03:23
thumpermwhudson: best to ask a losa though03:23
wgrantHave we lost lots of tests again, or has the test suite really dropped to around 3:15 on EC2?03:24
mwhudsonwgrant: it03:24
mwhudsonwgrant: it is a lot faster since stub removed the commits from the test factory03:25
wgrantI knew that made it faster... but I didn't think it would be nearly 25% faster.03:25
wgrantImpressive.03:25
thumper:(03:27
thumpermwhudson: my breadcrumb change has found problems in other people's breadcrumb tests03:28
thumpernow to find out if they are real or not03:28
thumperwgrant: yes, it is all those unneeded transaction.commits03:28
thumperwgrant: they slowed down test.tearDown a lot03:29
wgrantYeah, I guess they would.03:29
mwhudsonthumper: somehow i am not very surprised03:34
thumperdown to 1 failure and 4 errors03:34
thumper3 translations 2 bugs03:34
* thumper grrs03:34
thumperTranslationUnavailable: Translations for this release series are not available yet. is one error03:35
thumperNotFound: Object: <lp.translations.model.potemplate.POTemplateSubset object at 0xed26750>, name: u'template'03:35
thumperis the other two template errors03:35
* thumper digs03:35
thumperI'm now ignoring the traversed objects they pass in03:36
thumperand determining it from the url03:36
thumperso not entirely surprising03:36
thumpercan I land a deprecation error?03:37
thumperas in will it kill the test suite?03:37
wgrantIt will kill things if it shows up in script output. salgado supressed lots of those this morning for the 2.6 migration.03:38
wgrantBut if it lands somewhere that doesn't have its stderr checked, the test suite will be happy.03:38
wgrant(only the people will be unhappy)03:39
thumperI want people to be unhappy03:41
mwhudsonthumper: for the allow-import-password thing, what do you think of this text? http://people.canonical.com/~mwh/subversion-text.png03:44
mwhudsoni'm not very happy with it03:44
thumperYou can inclue a username and password as part of the url, but this will be03:46
thumperdisplayed on the branch page.03:46
thumperwhat about that?03:46
mwhudsonyeah, that seems better03:46
thumperOne of the breadcrumb bugs is just plain wrong test03:46
* thumper shakes his head03:48
* thumper is sad03:48
* thumper wants to delete the bugs breadcrumb privacy test03:48
mwhudsonhmm03:51
mwhudsonbzr+ssh://bazaar.launchpad.net/~launchpad-pqm/dulwich/devel/ has 129 inconsistent parents03:51
pooliespiv, I wish Launchpad gave out xbox-style achievements04:14
poolielike when you file 50 bugs and get someone else to fix them04:14
poolieor do 50 reviews04:15
thumperpoolie: and you want it submitted for facebook for you?04:15
pooliewbn04:16
pooliebut just showing them inline would be enough04:16
poolieyou could almost build it using apis and feeds04:16
pooliebut it might be a bit anonying04:16
thumper:(04:17
thumperI found a bug in the canonical_url of bug comment04:17
thumperI wish I could say skip and inform the bug team04:18
thumperpoolie: I was hoping to get this finished before our call but it doesn't look like it is going to happen04:18
thumperpoolie: want to do a call now?04:19
pooliesounds good04:19
mwhudsonspm: ping05:00
spmmwhudson: yo05:00
mwhudsonspm: is it possible for you to guess for me how long it will take r9306 of db-stable to get onto staging?05:02
spmmwhudson: no idea. < 48 hours, all going well :-)05:02
mwhudsonspm: staging is currently on r9302 but r9303 includes a database patch05:03
spmthen yeah, at least a full day.05:03
mwhudsonspm: i leave the launchpad team in 48 hours and no-hosted-area _really_ needs serious QA05:03
mwhudsonspm: is there anything we can do to speed it up? :/05:03
spmmwhudson: this week? not so far as I'm aware of. :-/05:04
mwhudsonoh well05:04
=== almaisan-away is now known as al-maisan
adeuringgood morning06:48
jtvnoodles775: good morning!  Delegating deletion of BuildFarmJobs is complicated a bit by the introduction of BuildFarmJobDerived.08:18
noodles775jtv: in what way?08:19
noodles775jtv: btw, let me know if a call is easier.08:20
jtvnoodles775: well I wouldn't even have noticed if it weren't for the fact that buildfarmjobbehavior.txt does builder.currentjob.destroySelf()08:20
jtvnoodles775: IRC is easier because chances are that at some point wgrant will notice and solve it all in one offhand remark.  :-)08:21
noodles775lol, yep.08:21
jtvWhat builder.currentjob.destroySelf() does in the current codebase is delete the BuildQueue entry (the currentjob); then Store.of(currentjob.specific_job).remove(currentjob.specific_job); and finally delete the Job.08:22
jtvI replaced the Store.of(...).remove(...) with a call to a BranchJob method that does Store.of(self).remove(self), and in this test, _that_ now fails with exactly the error I had in practice—i.e. self has no store.08:23
jtvDoes that mean I'm supposed to delegate to IBranchJobDerived instead of IBranchJob?08:23
noodles775jtv: I don't understand 'I replaced... with a call to a BranchJob method'? Can you point me to a branch or WIP MP?08:26
jtvYup, that does resolve the test failure.08:26
noodles775Great.08:27
jtvnoodles775: haven't done up the MP yet... I was just unaware of the BranchJobDerived change.08:27
wgrantSo you're going to have double delegation?08:27
jtvwgrant: no, I'm just moving the cleanup method from BranchJob to BranchJobDerived.08:27
noodles775But you shouldn't normally be delegating to IBranchJobDerived (I wouldn't think). That's a code thing (the pattern of which I'm using for the BuildFarmJob stuff).08:28
wgrantAh.08:28
noodles775Ah... that makes more sense.08:28
jtvnoodles775: do I need to make provisions for IBranchJob implementations that aren't BranchJobDerived?08:30
noodles775jtv: I didn't create the BranchJobDerived classes (I'm just using the pattern), but afaiui, you should inherit from BranchJobDerived if you want to automatically *delegate* IBranchJob (overriding anything as necessary).08:32
noodles775So I think your question implies that you're creating an implementation of IBranchJob that doesn't delegate?08:33
jtvnoodles775: any idea who did create the BranchJobDerived classes?08:33
jtvNo, I'm asking if there are any implementations of IBranchJob that don't delegate.08:33
noodles775jtv: I assume one of the code guys, but annotate should show you.08:34
jtvyes08:34
noodles775jtv: I'd assume that there aren't any though... why do you ask?08:35
* noodles775 has a quick look.08:35
jtvBecause I need to know whether there is any point in my design allowing for it.08:35
jtvOr whether there _would_ be, rather.08:35
noodles775jtv: so the only mention of IBranchJob I can see is your IBuildFarmBranchJob (implemented by TranslationTemplatesBuildJob).08:39
jtvnoodles775: ironically, "bzr annotate" shows just "michael" for the Derived changes...  I guess that's mwhudson then.  :)08:40
noodles775yep (well, for the BranchJobDerived changes) :)08:41
jtvDid I say BranchJobDerived?  I meant BuildFarmJobDerived.  Sigh.08:48
noodles775jtv: ok, that is the one that I created (using the same pattern as BranchJobDerived).08:49
jtvConfusion reigns.08:49
jtvThat's what I meant to ask, sorry.  But BranchJobDerived is so much easier and more familiar that it seems to have taken over my brain and fingers.  :)08:50
noodles775Aha. So is it working now that you've moved your method into BuildFarmJobDerived?08:51
jtvnoodles775: so, to fix all that up...  Would there be any point in the delegation of BuildFarmJob cleanup accommodating specific_jobs that were not BuildFarmJobDerived?08:51
jtvRight.08:51
noodles775jtv: Nope.08:52
jtvGreat.  Saves me some other potential complications as well.08:52
noodles775Excellent.08:53
bigjoolsmorning08:55
jtvnoodles775: something puzzling here... why did getByJob move from a utility class into IBuildFarmJobDerived?09:36
noodles775jtv: it was only used by classes inheriting from IBuildFarmJobDerived... from memory.09:38
jtvnoodles775: but doesn't that imply that you need an IBuildFarmJobDerived in order to find one?09:40
noodles775jtv: it's a class method.09:40
jtvnoodles775: not in IBuildFarmJobDerived it's not.09:41
jtvInterface-wise, it went from "class provides" to "implements."09:42
jtvWhich means that it's suddenly not accessible from the utility.09:42
noodles775jtv: Sorry, it is on the implementation (BuildFarmJobDerived)... I'd forgotten to indicate that on the iface.09:42
noodles775Just otp... back in a few mins.09:43
noodles775jtv: ok, back. So the mistake was that the IFace does not define it as a classmethod, or was there more?09:55
jtvnoodles775: frankly I don't even know whether an interface _can_ specify a class method in implementing classes... you may need a separate interface, and classProvides it instead of implements it, like it was before.09:56
noodles775jtv: sorry, I'm not seeing what the problem is? It is still provided by the class as it was before, it just moved from being on a separate interface (and using classProvides()). The branch that that change landed with still used getUtility(IBuildQueueSet).getByJob().10:06
* noodles775 tries that in a harness.10:07
jtvnoodles775: this isn't the IBuildQueueSet.getByJob though, I think.10:07
jtv(I must admit I get easily confused with this stuff)10:07
noodles775yeah, my brain is swimming atm.10:07
jtvI worked around it by invoking getByJob directly on the class, without going through the utility.10:08
jtvRight now I'm hitting a very different problem: when the changes from BuildQueue.destroySelf get flushed, BuildQueue still holds a fk to Job.10:09
jtvWhich is odd because the BuildQueue did delete itself first.10:09
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
noodles775jtv: looking at the diff where I updated getByJob, i didn't modify any call-sites, so it seems the class has always been used to access the method, rather than a utility?10:14
jtvnoodles775: maybe it's the conflation with BranchJob confusing things again...10:15
noodles775aha. Did you sort out your foreign key issue?10:15
jtvNot yet  :(10:15
wgrantHmm. db-devel loggerhead crashes when I try to log in.10:30
jtvnoodles775: it's as if Store.of(branchjob).remove(branchjob) is calling branchjob.destroySelf(), which in turn deletes the Job before its time.  :(10:30
noodles775jtv: can you create a WIP MP?10:31
jtvnoodles775: OK10:31
wgrantHmmm. I was going to add a print statement to debug this issue. But one is present in db-devel (lib/launchpad_loggerhead/app.py)! This does not bode well.10:33
jtvnoodles775: https://code.edge.launchpad.net/~jtv/launchpad/bug-569108/+merge/2429710:35
jtvnoodles775: note how I can't call BranchJob.destroySelf, because that tries to destroy self.job, which we can't destroy yet because BuildQueue still refers to it at that point.10:37
jtvbut wait... the order to delete the BuildQueue comes in even before that.10:38
noodles775jtv: just otp again, but will look straight afterwards.10:41
jtvthanks10:41
wgrantallenap: Hmm, so that's twice it's vanished?10:44
allenapwgrant: Yes. I'm a bit grumpy about that. There seems to be a lot of this about at the moment.10:46
wgrantallenap: Indeed :(10:46
wgrantlp:~wgrant/launchpad/fix-mailman-testrot also probably disappeared, although it's so long ago that I don't remember.10:47
thumperjtv: I'm being nice to translations10:50
jtvthumper: ?10:51
thumperjtv: your breadcrumb test sucks less than that others10:51
jtvthumper: strong praise10:51
jtvdo we have one?10:51
allenapwgrant: I'll submit that too, see if one of them sticks :)10:51
jtvor are you saying we don't?10:51
wgrantallenap: Thanks.10:52
thumperjtv: you do, and they are reasonably good10:53
thumperjtv: I've refactored the base breadcrumb test case10:53
* jtv tries to swap the subject back in10:54
jtvnoodles775: found it11:08
noodles775jtv: great... what was it?11:09
jtvnoodles775: this is why strong typing is sometimes a good idea, and naming things after their type is often a bad idea11:10
jtvbuildqueue wasn't a BuildQueue.11:11
noodles775Ah.11:11
* thumper mops brow11:12
thumperthat's all the breadcrumb tests fixed11:12
thumperin the vetinary sense11:12
jtvthumper: neutered..?11:13
thumperput down :)11:13
jtvthumper: hope your kids aren't there to hear that...11:13
=== al-maisa` is now known as almaisan-away
=== almaisan-away is now known as almaisan
=== almaisan is now known as al-maisan
thumper✁☹11:26
thumperI should have stopped by now :(11:26
* thumper is done now11:31
thumperbranch is in ec211:31
thumper1145 lines? no wonder if felt long11:33
thumperno wikkid hacking for me tonight11:33
thumperneed to sleep before the TL call11:33
wgrantjtv: I think you might be confused about the slave's buildid handling.12:15
wgrant'build ID' may be an overloaded term, but 'chroot checksum' is not among its meanings.12:16
jtvwgrant: but the one I'm pointing at is definitely the chroot checksum.12:17
jtvSo I'm saying it's _too_ overloaded in this case, probably by accident.12:18
wgrantjtv: The only thing I can see xmlrpc_build calling with the chrootsum as an argument is BuildManager.initiate.12:19
wgrantWhich takes a chroot checksum in the expected position.12:19
jtvwgrant: exactly12:19
jtv...and stores it in self._buildid12:19
jtv...after which it gets used all over the place, sometimes as an arbitrary id, sometimes in dealing with the chroot tarball.12:19
wgrantjtv: _buildid is set only in __init__(), not initiate()12:20
jtvwgrant: then I may be wrong about how it gets there, but look at the logs: the chroot hash is all over the place12:20
wgrantAnd xmlrpc_build calls __init__ like "self.slave.startBuild(self._builders[builder](self.slave, buildid))"12:21
wgrantjtv: Hm, they've always looked fine for me. I haven't used it in the new Era of Cookies, but it all used to look sane.12:21
jtvwgrant: where do the BuildManager classes get instantiated anyway?12:23
wgrantjtv: The expression that I quoted three lines ago.12:26
jtvwgrant: actually it's quite possible that I'm wrong about this...  but then that means we're seeing the cookie all over, which would probably be a bad thing12:26
wgrantjtv: You should expect to see the cookie in quite a few places.12:26
=== mrevell is now known as mrevell-lunch
=== matsubara-afk is now known as matsubara
deryckbigjools, ping13:22
=== mrevell-lunch is now known as mrevell
bigjoolsderyck: helleau13:23
=== salgado is now known as salgado-afk
=== al-maisan is now known as almaisan-away
=== salgado-afk is now known as salgado
deryckBjornT, ping.14:47
BjornThi deryck14:49
Ursinhadanilos, sure :)14:50
danilosUrsinha, here are the people who can probably help you more than I can :)14:58
bacreviewers meeting beginning15:00
=== deryck is now known as deryck[lunch]
=== almaisan-away is now known as al-maisan
=== bjf is now known as elBoto
=== elBoto is now known as bjf
=== salgado is now known as salgado-afk
=== salgado-afk is now known as salgado-lunch
=== salgado-lunch is now known as salgado
=== beuno is now known as beuno-lunch
=== deryck[lunch] is now known as deryck[afk]
=== salgado is now known as salgado-lunch
jelmerdanilo: I wasn't the one updating lp:~launchpad-pqm/bzr-git/devel, so I guess that must've been mwhudson17:24
jelmerdanilos: In that case, all that's left to do is update sourcedeps.conf17:25
danilosjelmer, right, it must simply be very approximate timing then :)17:25
danilosjelmer, cool, can you do that or should I take care of it?17:25
jelmerdanilos: If you can do it that'd be great, I've got enough pending branches as is.17:26
danilosjelmer, heh, who doesn't :) sure, I'll take care of it then17:26
jelmerdanilos: it should be a matter of updating utilities/sourcedeps.conf to point at the latest tip and firing that off to ec217:27
danilosjelmer, yeah17:27
=== EdwinGrubbs is now known as Edwin-lunch
=== beuno-lunch is now known as beuno
=== matsubara is now known as matsubara-lunch
mrevellNight18:12
=== al-maisan is now known as almaisan-away
=== salgado-lunch is now known as salgado
=== matsubara-lunch is now known as matsubara
=== Edwin-lunch is now known as EdwinGrubbs
jmlthumper: I thought you might like to look at http://www.wikimatrix.org/20:12
jmljames_w, I've got your wadllib patch down as something I'd like to look at20:24
jmljames_w, but realistically, that's unlikely to happen for another three weeks.20:24
* jml stops for the day20:25
=== bjf is now known as bjf[afk]
=== deryck[afk] is now known as deryck
=== salgado is now known as salgado-afk
wgrantIs PQM really open?22:40
mwhudsonwgrant: yes22:42
wgrantI've two branches that were rejected during last night's testfix... and one that disappeared in EC2 (\o/)22:43
thumperwgrant: I had one ec2 run disappear too23:00
thumperwgrant: although I caught it before it killed itself23:00
thumperwgrant: stuck in windmill tests23:00
thumperwgrant: pqm closes in approx 24 hours23:01
wgrantHm, I thought it was closing earlier.23:03
thumperwgrant: that is earlier23:04
thumperwgrant: normally it closes in approc 48 hours23:04
wgrantAh. oops.23:04
wgrantmwhudson: Hi.23:26
mwhudsonwgrant: hi23:26
wgrantmwhudson: So, I tried to get codebrowse running on db-devel last night... and it was crashing when I tried to authenticate. So I looked in launchpad_loggerhead and tried to add a debug print... but it was already there (app.py:113).23:27
wgrantThis has me suspicious that it's actually broken, and you were trying to debug it, and then it landed broken with the debug print.23:28
mwhudsonwgrant: ah yes23:28
mwhudsonwgrant: i think the problem is that testopenid.dev is a bit lame23:28
mwhudsonyou're right that the debug print shouldn't be there though23:29
mwhudsonwgrant: afaict testopenid doesn't support the sreg extensions codebrowse needs23:31
mwhudsonwgrant: so, uh, i hope it'll work on staging23:31
wgrantSounds easy enough to fix.23:31
* wgrant tries.23:31
wgrantBut yes, hopefully it will work on staging...23:31
mwhudsonwgrant: browsing private branches is totally broken on prod right now23:31
wgrantI wondered if that was related.23:32
mwhudson(i'm surprised that noone's tried to burn my house down)23:32
mwhudsonwgrant: it's not, it's a launchpad branch that removed an api launchpad-loggerhead used23:32
=== bjf[afk] is now known as bjf
wgrantAh.23:32
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/fix-mailman-testrot/+merge/23475 and https://code.edge.launchpad.net/~wgrant/launchpad/bug-565739-dont-retry-superseded-builds/+merge/23622 passed EC2 overnight (the latter took three tries to not disappear in EC2...), but were rejected in the testfix. allenap said he'd pqm-submit them, but it looks like he didn't get around to it. Can someone please deal with them, if they have a moment?23:34
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/delete-more-stuff/+merge/24280 also disappeared in EC2 overnight, so it would be nice if someone could try it again...23:35
mwhudsonwgrant: ok23:37
StevenKwgrant: I had the same problem yesterday with EC2 instances buggering off.23:41
mwhudsonwgrant: two pqm-submits done23:45
wgrantmwhudson: Thanks!23:46
wgrantStevenK: Yeah, it's been happening for a while :/23:46
mwhudsonwgrant: and the ec2 land is firing up23:46
StevenKwgrant: But now the branch has failures in windmill tests ... :-(23:46
wgrantmwhudson: Even better.23:47
wgrantmwhudson: Where are you escaping to, BTW?23:48
mwhudsonwgrant: can't say in public yet23:48
wgrantAh.23:48
mwhudsonwgrant: i'm sure you've been paying enough attention for you to know what that means though23:48
wgrantYou're not as leaky as you used to be, although I have some ideas :P23:50

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