mwhudsonwhat: http://paste.ubuntu.com/701996/00:00
mwhudsonhaha uh, why have i had an ec2 t1.micro running since march?00:02
StevenKAren't they effectively free now?00:02
mwhudsononly for new signups i think?00:10
mwhudsonanyway it hasn't been costing me very much or i'd have noticed within a month i guess :-)00:11
mwhudsonsigh, 4 attempts to get ec2 test running :/00:37
mwhudson(merge failure, odd ssh failure, local net glitch)00:37
StevenK_wgrant: Didn't we remove polls?01:50
wgrantStevenK_: Yes, but they were revived.01:51
lifelesswe tried01:51
wgrantBecause Ubuntu use them.01:51
StevenK_Really? They haven't been used for the last few elections01:51
nigelbwgrant: Ubuntu uses them for what?01:51
lifelessStevenK_: ubuntu womens01:51
=== StevenK_ is now known as StevenK
nigelbMost elections are condorcet01:52
nigelbUbuntu Women also used that, not LP polls01:52
StevenKSo perhaps we should ask Ubuntu again?01:58
* StevenK 01:58
* StevenK searches for a single word that means 'person or team'01:58
wgrantOr Person.01:59
mwhudsonso, feature flags01:59
StevenKwgrant: IE, I want a class name for the refactored code.01:59
mwhudsonerr hm02:01
mwhudsonwhy does LaunchpadTestRequest set .features to NullFeatureController?02:01
mwhudsoni guess LaunchpadTestRequest is used in some tests that don't have a db connection, perhaps02:04
lifelessStevenK: Atom02:08
wgrantlifeless: Any idea what's going on with the lazr.restful OOPS fix?02:14
wgrantlifeless: The one you mailed IIRC benji about a week or so ago.02:20
wgrantThe __traceback___ one.02:20
lifelessI thought he fixed it already02:20
lifelesshe acked it and made a branch immediately02:20
wgrantBut it apparently never landed.02:21
* wgrant hunts.02:21
stubwallyworld_: I don't think you want the trigger to initialize transitively_private in the BEFORE trigger, as it will be overwritten in the AFTER trigger anyway. Just 'ALTER TABLE Branch ALTER COLUMN transitively_private SET DEFAULT TRUE;' should be fine?03:50
wallyworld_stub: sounds better. for some reason i thought we frowned upon default values for non null columns though?03:51
wallyworld_and i think the default needs to be false03:51
wgrantFalse is bad.03:52
stubWe frown on adding a new column with a DEFAULT, as that causes all rows in the table to be rewritten with the new DEFAULT.03:52
stubAdding a DEFAULT to an existing column is fine03:52
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 255 - 0:[#######=]:256
wallyworld_stub: ok03:52
wallyworld_stub: if the trigger fails, will the row be rolled back?03:52
stubwallyworld_: I chose DEFAULT TRUE because if the trigger is broken (it isn't), we default to private. Either TRUE or FALSE should be fine as the DEFAULT>03:53
stubwallyworld_: Yes, if the trigger fails the whole transaction will be rolled back.03:53
wallyworld_stub: wgrant: the reason for me asking for default = false is that i need to check the short circuit rules in the trigger03:53
wallyworld_if transitively_private is true, then it may not bother doing anything03:54
stubshort circuit checks private, not transitively_private03:54
stubBut double checking is good :-)03:54
stubTests are better...03:55
wallyworld_yes, agreed. i will write one now that we are taking this approach03:55
stubHmm... the MP has gone03:55
stublifeless did not realize the field is already maintained with the AFTER trigger03:56
wallyworld_stub: i renamed the branch03:56
wallyworld_in anticipation of landing it in two parts03:56
stubYou can rename branches?03:56
wallyworld_i'll rename it back03:56
wallyworld_yes, apparently :-)03:56
stubI managed to misspell logintoken as lockfile in my branch name the other day...03:57
wallyworld_stub: renamed back now03:57
wallyworld_go to the branch details link03:57
wallyworld_and you can rename03:58
StevenKCan haz review? https://code.launchpad.net/~stevenk/launchpad/refactor-team-rename/+merge/7803704:37
StevenKObviously, the answer to that question is "no".04:56
wgrantYou've moved it into the model, apparently.04:57
wgrantWhich is probably where it should be.04:57
wgrantPerson and Team don't need a model mixin, because they're both the same class.04:58
StevenKSo make it a method in IPerson itself?04:58
StevenKreason = self.context.can_be_renamed() or so?04:58
wgrantQuick possibly. checkRename or something like that.04:59
* StevenK refactors the refactor05:00
wgrantStevenK: Also, can you put the "has" in the template?05:00
wgrantRemoves the has_ppa check under has_mailing_list.05:00
StevenKBut I can't ...05:00
wgrantWhy not?05:01
StevenKBecause it changes the prose for the both check05:01
wgrantThis %s has %s and may not be renamed.05:01
StevenK"has a PPA ... and has a mailing list" versus "has a PPA and a mailing list"05:02
wgrant%s is "an active PPA with packages published", "a mailing list", or "an active PPA with packages published and a mailing list"05:02
wgrantAlso, possibly s/user/person/05:02
StevenKAlso fixed05:02
lifelessis there a reviewer in the house ?05:11
wgrantlifeless: Why BSON? :(05:21
wgrantThese are going to be even less readable than SSO OOPSes.05:22
lifelesswgrant: decoders exist; handles binary crud (which we get like it or not)05:24
wgrantAnd makes it just about impossible to view OOPSes unless oops-tools is agreeable and fast.05:24
wgrantneither of which is true.05:24
lifelessthis is a component in fixing that05:25
wgrantAnd until then our error analysis capabilities are crippled.05:25
lifelesshow so ?05:25
wgrantIt becomes extremely difficult to respond in realtime to complaints involving OOPSes.05:25
lifelessdetails dude05:26
lifelessgive me the details05:26
wgrantI don't speak BSON.05:26
wgranttext editors don't like BSON.05:26
wgrantoops-tools is slow to render, and even slower to pick up OOPSes, and often doesn't ever see them at all.05:26
lifelessimport bson; bson.loads(open('foo', 'rb'))05:26
wgrantMmm, perhaps.05:26
lifelessslow to render is as yet undiagnosed. Slow to pick up is what I'm on an arc to fix.05:27
lifelessnot seeing them is fixed as soon as that chroot comes around.05:27
* StevenK gets spammed by wgrant05:28
wgrantStevenK: Oh?05:28
wgrantlifeless: Also, what about eg. dev/DF OOPSes?05:28
StevenKDamn it, come on MPJ!05:28
lifelesswgrant: DF - install oops-tools.05:28
lifelesswgrant: dev - oops-tools is about to be opened05:28
lifelesswgrant: tests can use the programmatic interface05:29
wgrantSo everyone has to run their own Django app to see oopses?05:29
lifelesswgrant: or you can set the serializer to rfc822 - I kept compat for a reason.05:29
wgrantWe need a sensible dev story for this before it becomes the default.05:29
lifelessno, we need to get this shit sorted05:29
lifelessthat django app is easier to install than LP05:30
wgrantYes, but sorting shit so it breaks other shit is not ideal.05:30
lifeless2 branches + buildout and a postgresql cluster05:30
lifelesswgrant: its not breaking other stuff05:30
StevenKIt's another barrier to contribution05:30
StevenKWhich is already too high05:30
StevenKSo, fail05:30
wgrantIt's breaking the ability to debug a local Launchpad instance.05:30
wgrantAnd to see test failures.05:30
lifelessno, its not - to either.05:31
lifelessthe test suite attachOopses uses rfc822 serializer - it receives the oops dicts.05:31
lifelessoopses written by subprocesses will change format, yes. But they are *already* a PITA to get at - and trivially decoded using... bson05:32
wgrantIt is trivial.05:32
lifelessStevenK: its a barrier to -some- forms of contribution, but I look at a local oops about once a month, if that.05:32
StevenKI tend to look at OOPS on carob using cat, now I won't be able to. :-(05:33
lifelessStevenK: pages will still show backtraces to local devs, the console backtrace will still be plain text05:33
wgrantBut analysis of dev and prod OOPSes at the moment is now often done by means of cat, grep and cut05:33
StevenKI hate our oops-tools app05:33
lifelessso fix it05:33
StevenKSure, in the oddles of free time I have?05:33
wgrantRight, we should fix it.05:33
wgrantBut *before* we break everything that isn't it.05:33
wgrantI don't see why BSON has to happen at the same time as hashes.05:33
lifelesswe are -stalled- on multiple important improvements to our data gathering - to whit, extra info on appserver resource usage, clearer metadata, evolving the damn thing.05:33
wgrantIt seems unrelated.05:33
lifelessthey are separate fields in the repository object, and we can configure them however we want.05:34
lifelesse.g. dev mode can use rfc822 if you don't mind extra data being dropped.05:34
StevenKwgrant: Can you have another look at my MP?05:35
wgrantStevenK: Was just doing so.05:35
wgrantlifeless: What is the benefit in moving to BSON at the same time?05:35
lifelessagain, claiming this is breaking things is very exaggerated. Yes, the shell pipelines you used won't work. Are they intractably different with a new serializer? No.05:35
StevenK+71 -44 makes me a little sad. I prefer removing more code than I add.05:35
lifelesswgrant: A) I haven't moved anything to bson, B) see above.05:36
wgrant87+ Defaults to using serializer_bson.05:37
StevenKHm, this might be able to be refactored further.05:37
lifelessbut our packages are version locked, except perhaps txlongpoll which I haven't looked into, so when bumping the version, if we want rfc822 explicitly we can do that. Its not coupled to *this* merge proposal.05:38
lifeless(Separately, yes, I plan to use bson when I update the dep in LP, I'm being pedandtic because of the hyperbole you're tossing at this)05:38
lifelesswgrant: so, what are you asking be written before we change to bson ?05:42
wgrantWell, ideally we would have OOPS analysis tools that didn't involve obscene shell pipelines.05:42
wgrantBut that seems to not be practical.05:43
lifelesswgrant: (Note that 'do not break anything' is incompatible and I reject that out of hand) So it 'provide a full text index' - we have plenty of ability to search with os.walkdirs + bson in an adhoc manner, IF/when oops-tools fails to meet our needs.05:43
lifelesswgrant: I would *love* to run up solr etc and JFDI05:43
lifelesswgrant: but thats a long pipeline, and I'm tired of getting significantly better data from oopses being blocked - when the change needed to do it differently is not all /that/ big05:44
lifelessagain though, policy vs requirements - this branch lets us choose05:46
StevenKBlah, too hard to refactor further. Mainly because browser/person.py is *obscene*05:46
lifelesswgrant: your smoketest branch - +105:47
wgrantlifeless: Thanks, I'll propose it properly in a sec.05:48
StevenKwgrant: Can haz a vote?05:49
wgrantlifeless: A couple of questions, but yours is approved.05:49
lifelesswgrant: oops-pruner05:51
lifelesswgrant: thanks05:51
wgrantlifeless: But they're normally on disk as 1234.ABC123405:51
wgrantNot OOPS-*05:51
StevenKwgrant: I've just pushed a change to make {Person,Team}EditView.setUpWidgets() identical, but it's very hard to refactor further.05:52
wgrantStevenK: REFACTOR FURTHER05:52
wgrantAlways refactor further.05:52
lifelesswgrant: yes, but the *id* is normally OOPS-blah. And using the id directly is simpler than using the id minus OOPS-05:52
lifelesswgrant: also, the name on disk at the moment is all to do with sorting05:53
wgrantGo ahead, then.05:53
StevenKwgrant: I tried. TeamEditView can't use BasePersonEditView as a parent due to circular import hell.05:54
wgrantbrowser.person import browser.team?05:54
StevenKwgrant: http://pastebin.ubuntu.com/702084/05:55
wgrantStevenK: WTF, why does browser.person import from browser.team?05:57
wgrantMove Team*Menu into browser.team05:58
StevenKclassImplements(TeamIndexView, ITeamIndexMenu)05:58
StevenKclassImplements(TeamEditView, ITeamEditMenu)05:58
StevenKBut yes, that's a little screwed.05:59
lifelessjamesh: hi06:26
rvbawgrant: Hi William, thanks for QA'ing my +initseries branch ;).07:07
=== almaisan-away is now known as al-maisan
wgrantIt turned out to not be so important, but it was easy enough :)07:08
jameshlifeless: hi07:09
rvbaAlways nice to start my day with a qa-ok message from the other side of the planet ;)07:09
lifelessjamesh: ola~07:10
lifelessjamesh: so, two things; oops-datedir-repo can write bson reports now (and trunk oops-tools can read them)07:10
lifelessjamesh: this makes extension and handling a -lot- easier, I think you'll agree ;)07:11
lifelessjamesh: secondly, I was wondering if you'd tried integrating stuff again? [I'd love to have an answer for getting oopses into the oops-tools django app itself, for instance]07:12
jameshlifeless: I haven't done much since we last talked.  My test u1 branch does log reports with unmodified Django (by subclassing Django's WSGI handler)07:13
lifelessperhaps that subclass should be in oops-* somewhere? I don't know enough django to know if that makes sense07:14
lifelessjamesh: also, thats awesome - we're in business ;)07:15
lifelesswgrant: as promised (and as penalty you get the review :P) https://code.launchpad.net/~lifeless/python-oops/hostname/+merge/7805307:15
jameshlifeless: http://paste.ubuntu.com/702108/ <- Using this instead of the standard WSGIHandler should be enough.07:17
jameshactually, that plus oops_on_status=['500']07:18
wgrantlifeless: Approved.07:18
jameshfor the oops-wsgi middleware07:18
wgrantWith missing apostrophe.07:18
lifelesswgrant: and aggregate->aggregation07:18
lifelesswgrant: do you mean 'machines''s' ?07:19
lifelesswgrant: on thursday, can I pick your brain on wabbit ?07:21
wgrantlifeless: Of course.07:22
lifelessjamesh: is there a preferred way to receive rabbit events in django ?07:22
jameshlifeless: I don't think so.  We've been handling them in a Twisted reactor running as a separate thread07:25
lifelessjamesh: how have you been handing off back to django code? or are you calling it from deferToThread sort of things?07:26
jameshlifeless: I haven't poked too deeply in this area, but I think we're usually pushing out messages from Django views rather than receiving them07:27
jameshDjango is not that well suited to long-poll style request handling, which is the main type of request I'd expect to want to receive messages07:28
lifelessjamesh: I want to add oopses to the django db as they happen07:29
lifelessjamesh: and write them to disk likewise07:29
wgrantI smell a daemon...07:30
wgrantDoing that from the WSGI app seems, er, aaaaaaa07:30
lifelesswgrant: we have one07:30
lifelesswgrant: doing that from outside the django transaction is also aaaaaa07:31
StevenKOMG, there's so much Team stuff in browser/person.py :-(07:31
jameshlifeless: okay.  So I probably wouldn't try to squeeze that into a Django web app.  You could certainly use the Django ORM from a separate daemon that receives the messages.07:31
wgrantThat would seem like the least insane way to go about things.07:31
wgrantUnless we're using SQLite, running it in a separate process should really be less than a problem.07:32
StevenKwgrant: I've moved the classes that caused the circular import, shall I explode the size of this branch and move everything that they depend on too?07:32
jameshwgrant: why would sqlite be a problem?07:32
wgrantjamesh: SQLite doesn't do multiple writers, does it?07:32
jameshwgrant: pretty sure it does.07:33
lifelessit does07:33
jameshI'm sure it is possible to configure the locking out of it, but I'm pretty sure it is in by default07:33
lifelessbut you need latest shiny07:33
lifelessand its still got a large lock even tuned optimally07:33
lifelesswe can do a separate daemon, though I have an aesthetic dislike - I'd rather have an API on the one app and not poke into its backend07:34
jameshI don't think you're in any worse situation by having two processes accessing the database than a single process accessing the database from multiple threads with multiple connection objects07:34
lifelessOTOH I don't want to make this a pile of yak shaving07:34
lifelessjamesh: we're using pgsql anyhow07:34
lifeless27M oops reports would give even sqlite a bit of a hernia07:35
lifelesswithout -very- careful tuning07:35
jameshlifeless: well, you can use your Django ORM classes outside of a web app.07:35
jameshI'm not suggesting that you duplicate all the application logic07:35
* StevenK prods wgrant.07:35
lifelessjamesh: sure, I know :)07:35
lifelessjamesh: like I said, its an aesthetic. We'd avoid a lot of issues in LP if we did that there, for instance.07:36
wgrantStevenK: Sorry, missed that. Could you possibly move it in a prereq?07:36
* lifeless shrugs, we can start with a daemon and db access and switch to daemon + web api later07:36
StevenKwgrant: BLEH07:37
jameshyou'll just have to make sure your separate daemon process sets $DJANGO_SETTINGS_MODULE to something sensible before importing django07:38
StevenKwgrant: This pipe is already 1885 lines and I'm not finished yet.07:54
StevenKwgrant: Right, every {I,}Team class moved is 2006 lines.07:56
=== mrevell_ is now known as mrevell
StevenKNow to fix __all__ and imports07:56
StevenKAnd configure.zcml07:56
nigelbStevenK: Nice cleaning :)07:58
StevenKOH GOD, IT BURNS07:59
StevenKPersonNavigation needs TeamMembershipSelfRenewalView, PersonView needs TeamJoinMixin and TeamOverviewMenu.08:01
StevenKcircular imports a-go-go08:01
StevenKwgrant: ^08:01
StevenKOh damn, and the Mixin is a parent class.08:04
StevenK /wrists08:04
wgrantBut why would PersonView need TeamJoinMixin?08:04
wgrantOh no.08:05
wgrantI think PersonView might be used for teams as well.08:05
bigjoolsStevenK: surely your wrists are used to the strain08:05
StevenKwgrant: Looks like it.08:05
wgrantAh, TeamIndexView08:06
wgrantHopefully you can export TeamIndexView to browser.team, and take TeamJoinMixin over there.08:06
StevenKI've already moved it.08:06
StevenKI moved every {I,}Team class.08:06
StevenKNow I'm trying to make pyflakes happy08:07
wgrantChange TeamIndexView to inherit TeamJoinMixin, instead of PersonView inheriting it.08:07
wgrantHopefully only the team views need it.08:07
bigjoolsStevenK: I mean from playing WoW of course... :)08:09
StevenKbigjools: I quit WoW 3 months ago.08:10
bigjoolsStevenK: good grief, are you feeling ok?08:10
StevenKAnd that is why I didn't tell many people.08:12
bigjoolsonline games are like a drug addiction - I've gone cold turkey twice now08:13
jameshlifeless: fwiw, the Django bug report about fixing the WSGIHandler to not need that fix is no longer in the "design decision needed" black hole08:15
lifelessjamesh: did it win or lose ?08:15
jameshlifeless: https://code.djangoproject.com/ticket/16674 <- they moved it to accepted, and wanted more verification that the change wouldn't cause problems.08:16
StevenKwgrant: pyflakes clean, 2287 lines08:29
wgrantStevenK: But does it run? :)08:34
StevenKNo, not yet.08:34
StevenKFighting with ZCML08:35
StevenKwgrant: I have a small subset of tests passing, 2477 lines.08:44
StevenKLet me toss me it at ec2 to find the rest.08:45
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: gmb | Critical bugs: 255 - 0:[#######=]:256
=== al-maisan is now known as almaisan-away
pooliestub, hi?11:11
pooliestub, can you suggest what to do on bug 866160?11:11
pooliesorry bug 86610011:11
_mup_Bug #866100: bug search with affects_me=on times out <affectsmetoo> <bugs> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/866100 >11:11
stubpoolie: Need the OOPS to sync11:13
pooliehm and now it's not timing out11:14
pooliehow uncooperative11:14
nigelbpoolie: I think it times out on first try11:14
nigelb(and then caches)11:14
pooliethat's likely11:14
pooliewell, the oops will sync later11:14
nigelbIt timed out once for me, refreshed later.11:14
nigelbI'm looking forward to 2 days of lp hacking \o/ Holidays!11:16
* gmb -> lunch11:19
pooliestub, i put an example failing query there, in case that helps11:20
pooliegood night now11:20
nigelbg'nite poolie11:20
stubpoolie: We don't know if that is the slow query. All we know is that it is the query being run when the timeout was hit.11:22
pooliethat is true, but that's similar to the query that was sometimes very slow when run on qas and by losas on prod11:23
poolieanyhow no rush11:23
stubIf it is, things to try are to move the BugTask.id IN () subquery using BugAffectsPerson into a normal join, or to enforce it is actually run as a subquery rather than the planner turning it into a normal join by using a WITH clause.11:24
stubI can reproduce with a simpler query on production.11:25
stubI don't think either of those options I mentioned will help greatly here11:26
stubWe are ordering results using a field on Bug, but all the selection is going on in bugtask.11:31
stubNot sure what we can do here. We can optimize for the case where we know we will not match many BugTask rows, but if we wanted to do 'All bugs targetted to Launchpad, order by date_last_updated' it would likely fail.11:34
=== almaisan-away is now known as al-maisan
bachi gmb, can i get a review when you have time?  i apologize it is way over our agreed size limit12:29
gmbbac: Sure. I should be able to take a look at it within the next hour or so.12:29
bacthanks gmb12:29
deryckabentley, hey, hey.  Sorry the vet visit toook *much* longer than I expected.14:19
abentleyderyck: that's okay.14:19
abentleyderyck: lemme grab my coffee, and we can chat.14:19
deryckabentley, let me just get settled in and we can chat briefly for a standup.14:19
deryckabentley, yeah, give me 10 minutes.14:20
* beuno hands gmb bug #86752914:21
_mup_Bug #867529: Dynamic loading comments load on top of page content <Launchpad itself:New> < https://launchpad.net/bugs/867529 >14:21
deryckabentley, heading into mumble now.14:29
gmbbeuno: Thanks14:30
=== fjlacoste is now known as flacoste
rvbagmb: Would you have time to mentor a review of mine?14:32
gmbrvba: I've got a large review to do for bac first, so you might be better served finding another reviewer to mentor you on this one.14:33
rvbagmb: Okay ;)14:34
=== al-maisan is now known as almaisan-away
sinzuigmb, do you have time to review https://code.launchpad.net/~sinzui/launchpad/dsp-historic-attributes/+merge/7810614:59
gmbsinzui: I'm currently reviewing a large branch for bac, but I'll try to get to it this afternoon if I have time.14:59
* bac hangs head15:01
sinzuioh. damn. I should of claimed that this morning because I read half of it15:05
sinzuijcsackett, do you have time to mumble?15:06
deryckskaet, ping16:11
skaetderyck, pong16:11
gmbsinzui: I'm afraid I won't be able to get to your branch today as I have to get a few other things done before my rapidly-approaching EoD. I believe StevenK is next on the list of reviewers.16:11
=== gmb changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 255 - 0:[#######=]:256
deryckskaet, I'm trying to QA bug 834082.  Can you try poking the issue you reported at our qastaging server and see if it's fixed for you?16:12
_mup_Bug #834082: Cannot target a bug to a series from an existing series task <critical-analysis> <qa-needstesting> <regression> <Launchpad itself:Fix Committed by deryck> <Ubuntu:New> < https://launchpad.net/bugs/834082 >16:12
gmbbac: r=me (with comments). Excellent work, thank you.16:12
bacthanks gmb16:12
* bac didn't do most of it, of course16:12
skaetderyck, will try.16:13
deryckskaet, thanks!  Here's a starting point, if you're not familiar with qastaging:  https://bugs.qastaging.launchpad.net/ubuntu/oneiric/+bugs16:13
deryckskaet, qastaging can timeout so it's worth a reload or two if you hit a timeout.16:14
=== beuno is now known as beuno-lunch
* skaet gets the timeouts....16:18
deryckskaet, do you even get to a bug page?16:19
skaetderyck,  get the bugs in oneiric page from the link you gave just fine.   However not being able to get to 83408216:19
deryckah, that sucks.16:19
deryckskaet, will another bug work?16:21
skaetderyck,  can you give me a link to that bug page directly?   May be faster than searching.16:22
deryckskaet, https://bugs.qastaging.launchpad.net/launchpad/+bug/83408216:23
_mup_Bug #834082: Cannot target a bug to a series from an existing series task <critical-analysis> <qa-needstesting> <regression> <Launchpad itself:Fix Committed by deryck> <Ubuntu:New> < https://launchpad.net/bugs/834082 >16:23
skaetderyck, that got it.    will poke around.16:26
deryckskaet, thanks!16:26
jcsackettsinzui: available to talk for a few?17:02
=== beuno-lunch is now known as beuno
gmb e17:25
* gmb chuckles at rockstar's response to https://bugs.launchpad.net/launchpad/+bug/867661.17:26
_mup_Bug #867661: Useless Comments on Bug Reports <Launchpad itself:Opinion> < https://launchpad.net/bugs/867661 >17:26
rockstargmb, he left it open.17:26
gmbrockstar: Oh, indeed. In fact, I was half tempted to reply in the same vein until I saw you'd beat me to the punch :)17:27
sinzuijcsackett, https://bugs.launchpad.net/launchpad/+bug/86771817:32
_mup_Bug #867718: DSP picker entries are redundant <target-picker> <ui> <Launchpad itself:Triaged by sinzui> < https://launchpad.net/bugs/867718 >17:32
deryckskaet, any luck checking that out?17:33
sinzui I see txlongpoll is taking 8% of my CPU all the time. That does not bode well. Nothing should preform worse than xorg17:38
skaetderyck, got pulled into release issues while still trying,  will take a pass at it later this afternoon.17:47
deryckskaet, ok, no problem.  Thanks!17:48
=== Beret is now known as Dean
abentleygary_poster: bzrlib.branch.Branch* is never security-proxied, but LoomBranch* is security-proxied.  I think they should be the same, but I've had trouble figuring out why bzrlib.branch.Branch isn't security-proxied.19:42
gary_posterabentley, mwhudson put in some code for that in lib/lp_sitecustomize.  I suspect that's what you are looking for.  Look for dont_wrap_class_and_subclasses in that module, and its uses.19:44
abentleygary_poster: thanks.19:44
mwhudsonoh yes, that fun19:50
mwhudsonoh dear, my ec2 failure mail is so large emacs crashes opening it19:57
abentleygary_poster, mwhudson: my fix: http://pastebin.ubuntu.com/702418/20:05
gary_posterabentley, interesting.  Comments make it good AFAI am concerned.20:06
mwhudsonabentley: i wonder if moving the code that sets up BZR_PLUGIN_PATH to lp_sitecustomize might be better in some ways?20:06
* gary_poster defers to mwhudson :-)20:06
mwhudsonthen there are a few random imports of lp.codehosting that can just go away20:06
mwhudsongary_poster: i haven't thought about it very hard!20:06
abentleymwhudson: I think I was on crack to make an import have side effects like enabling plugins.20:07
mwhudsonabentley: i think this crack predates you on the lp team doesn't it?  but yes20:08
mwhudsonthere is a slight argument that say, the appservers, should not import lp.codehosting at all and so won't have plugins enabled20:09
mwhudsonbut if that's the way we want to go, they should be separate code bases (hi rob!)20:09
abentleymwhudson: No, it was basically the first thing I did on the team.20:11
mwhudsonah ok20:11
abentleymwhudson: as long as the appservers are the private xmlrpc servers, they need to support loom branches.20:12
mwhudsonerr how so?>20:13
abentleymwhudson: Oh, I guess they operate at a lower level, providing transports, so they don't actually need to know about branch formats.20:14
mwhudsonyeah, just paths on disk20:14
mwhudsonso my ec2 test run appears to have failed, basically because the db started erroring all the time about half way through20:15
mwhudsonah, it's hard_timeout checking20:17
* jelmer waves to abentley, mwhudson20:27
* abentley waves at jelmer20:27
* mwhudson waves back20:27
mwhudsonoh god everything is broken20:27
mwhudson# XXX Julian 2009-05-13, bug=37617120:41
mwhudson# Temporarily disabled because of intermittent failures.20:41
mwhudson2.5 years of temporary20:41
jelmermwhudson: 2.5 years is nothing compared to what the early Launchpad and Ubuntu specs planned to do in a single cycle20:42
mwhudsonhaha true20:42
mwhudsonlaunchpad.canonical.com from about 2006 should be put online as a kind of massive example of how not to do project management20:43
mwhudsonor at least, it's css20:48
jelmerheh, indeed20:49
lifelessmwhudson: yeah there is a little bootstrap issue with hard timeouts21:26
lifelessmwhudson: will be if/when we make soft ones flagged too21:27
lifelessmwhudson: mmm, perhaps not. Anyhow, hard for sure21:27
mwhudsonlifeless: yeah, the permit_timeout_from_features flag is now on the request too in my branch21:27
mwhudsonlifeless: it's not reliably reset between tests in devel currently, so if it gets set (say by a test publication) and a test runs that sets up a feature controller before it gets reset... hilarity ensues21:28
lifelessmwhudson: win21:29
mwhudson(and one of the parts of my branch that i'm not 100% sure about is that a lot more tests set up a feature controller now)21:29
lifelessso you asked yesterday about null feature controller and ltr21:29
lifelessIIRC LTR is used in layers that don't have all the bits assembled, was the reason.21:30
mwhudsonyeah, that makes some kind of sense21:32
mwhudsonbut i bet those tests don't actually access the feature controller21:32
mwhudson(bit fragile of course)21:32
lifelessyou'll find out, or go mad trying.21:32
lifelessI'm betting on mad.21:32
mwhudsoni'm hoping ec2 test will find out :-)21:33
* mwhudson might actually claim for his ec2 expenses this month...21:33
lifelessif its more than the cost of doing expense claims ? :)21:34
lifelessflacoste: http://h30565.www3.hp.com/t5/Feature-Articles/Innovate-or-Suffer-Slow-Brain-Asphyxiation/ba-p/499 is good reading23:37
mwhudsonhaha, if you wiggle things around so that feature flags are active most of the time, a few sql effort tests fail23:55

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