/srv/irclogs.ubuntu.com/2011/05/31/#launchpad-dev.txt

wgrantabentley: https://code.launchpad.net/~abentley/launchpad/duplicate-msgid/+merge/62697 seems a bit heavy-handed.00:21
wgrantabentley: I can understand skipping duplicate messages to the same place... but not to all of Launchpad.00:22
wgrantabentley: (that includes mailing lists, so you can no longer send an email both to a bug and a mailing list)00:22
lifelesshuh00:23
lifelessthe preview diff is empty :(00:23
wgrantr1313900:23
lifelesshmm00:28
lifelessI agree00:28
lifelessduplicate message ids are normal across the system00:28
lifelessonly abnormal in one context - same list, or same bug etc00:29
wgrantExactly.00:29
wgrantShall I roll it back?00:29
lifelessits 7:30 pm for Aaron00:29
lifelessyes, I think it needs rollback00:29
lifelesswe can't deploy with it00:29
lifelessbut00:30
lifelesslets check just a little more00:30
wgrantSure.00:30
lifelessso the error encountered is a duplicate msgid on one bug00:31
lifelesswhen the notification for it is being raised00:31
wgrantWell, adding the duplicate message results in a DB exception.00:31
lifelessbug 59516600:31
_mup_Bug #595166: IntegrityError raised filing a bug using the email interface <easy> <email> <lp-bugs> <oops> <Launchpad itself:In Progress by abentley> < https://launchpad.net/bugs/595166 >00:32
wgrantThat's the one.00:32
lifelessits raised when *notifying* tha the second message was added00:32
wgrantOnly because that's when the flush occurs.00:32
wgrantOh.00:32
lifelessno, *really* when notifying00:33
wgrantThat's not the OOPS I"ve seen before.00:33
wgrantThe one I saw violated bugmessage__bug__message__key00:33
lifelessthats on a link to message00:33
lifelessnot to two messages with the same msgid00:33
wgrantHmm?00:34
lifelessOTOH so is the notification one00:34
wgrantTwo emails with same msgid and same content => one Message row00:34
lifelesssure00:34
lifelessthis check isn't complete though00:34
lifelesswhich is the other issue00:34
lifelessaieee00:38
lifelessother broken code00:38
lifelessfor email_addr in addresses:00:38
wgrantOh?00:38
lifelessdiscards all but the last handler found00:38
wgrantHeh00:38
lifelesssee the end of handle_one_mail00:38
lifelesslooks like using cc: can make our mail handling do some interesting and odd stuff00:39
lifelessanyhoo00:39
lifeless*blinkers*00:39
wgrantWhy would it be using To or Cc?00:39
wgrantIt should be using X-Launchpad-To00:40
lifelessshoo. Go read.00:40
wgrantWhich is the envelope sender.00:40
lifelessthou shalt be blind. And don't say I didn't warn thee.00:40
wgrantSo, yes, it uses X-Launchpad-To unless it's not present.00:40
wgrantNot that bad.00:40
lifelesswell00:41
lifelesswe've some funky in our mail pipeline and we haven't identified it00:41
wgrantWell, we fixed some of it two weeks ago.00:41
lifelessok please rollback00:54
lifelessI have written up a hopefully helpful explanation for abentley00:54
lifelessif you've other or better suggestions for how to tackle it, please say so00:55
wgrantlifeless: Done, thanks/00:59
lifelessthank you01:01
LPCIBotProject windmill-db-devel build #347: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/347/01:14
wgrantlifeless: The security hole is this: using a crafted or predicted msgid an attacker can cause Launchpad to generate a link to a mail that was sent to a private bug or mailing list when they have no such permission.01:50
wgrantlifeless: I thought so too.01:50
wgrantBut it's not the case.01:50
wgrantI investigated when I looked at trying to fix this bug a few weeks back.01:50
wgrantIt grabs all the Messages with the right Message-ID, and compares the content.01:51
wgrantYou can possibly obtain attachments if you know all the textual content, I guess.01:51
=== Ursinha-afk is now known as Ursinha
lifelesswgrant: fromMessage is fine01:52
lifelesswgrant: aarons patch wasn't01:52
wgrantlifeless: I don't see a new security bug. The returned message isn't used for anything. It just returns None to exit the handler, right?01:55
lifelesswgrant: if the patch were changed to call the handlers using the result of messageset.get(rfc822id), it would open a security hole.01:57
wgrantlifeless: Yes.01:57
lifeless(not to mention still crashing in the same way)01:57
lifelesswgrant: thats what I meant.01:57
lifelessthe usage of messageset.get(rfc822id) is not sufficient to determine 'same email' nor 'can see the email'01:58
wgrantAh, it helps if I read your entire reply.01:59
lifeless*snort*01:59
wgrantIt was long, and my initial skim revealed a statement that I knew to be false!02:00
lifelessfeel free to reply and editorialise02:00
LPCIBotProject windmill-devel build #155: STILL FAILING in 1 hr 10 min: https://lpci.wedontsleep.org/job/windmill-devel/155/02:24
pooliehi all02:28
lifelesshi poolie02:31
lifelesspoolie: random question for you02:31
lifelessif the lp bzr+ssh/sftp codehosting project were a separate tree, do you think your team would do anything interesting with it ?02:32
spivlifeless: hmm.  Occasionally users ask about how to run a bzr server with some access control and/or authentication that isn't easily satisfied by using authorized_keys directives and filesystem permissions02:37
spivlifeless: so I guess having a less intimidating tree to extract that from, or at least learn from, might be helpful to someone.02:38
pooliehi lifeless02:39
lifelessspiv: tim has extracted the code but adapted it to a uni hosting solution02:39
pooliewell02:39
lifelessso one of the candidate services - and I think a low hanging fruit - is one that still talks xmlrpc02:39
poolieyou know there was john's forking lp server project02:39
pooliethat would probably have needed to touch only that code02:39
poolieand landing it has been pretty hard02:39
pooliepartly just because of bugs that appeared under heavy load; and those would have needed to be solved anyhow02:40
lifelessright02:40
pooliebut, i think it would certainly have made it easier02:40
lifelessI was going to say02:40
pooliefor instance easier to run up an ec2 instance and hammer it02:40
lifelesspoolie: really?02:40
lifeless'ec2 demo'; wait; hammer it.02:40
pooliehm02:40
pooliei wonder if jam tried that02:41
poolieperhaps not actually any easier02:41
lifelessspivs comment is more interesting :)02:41
poolieanyhow i guess there are two questions here02:41
lifelessthe friction-to-change-in-lp aspect is well covered I think02:41
poolie:-P02:41
lifelessI'm curious about other interesting things02:41
pooliei don't think this would really directly satisfy those users02:42
lifelesslike - adopt it for bzr's on server (make some of the policies pluggable, for instance)02:42
poolieit might be a step towards having a common codebase02:42
lifeless*own*02:42
pooliehm, there is an _apparent_ contradiction here with wanting to make codebrowse more folded into launcphad02:43
lifelesshow so ?02:43
lifelessactually02:43
poolieat any rate there is a kind of precedent there for having one program that is used both by lp and externally02:43
lifelesscontractors here02:43
lifelessI will be back in a bit02:43
lifelessah no02:43
lifelessfalse alarum02:43
pooliea few dimensions:02:45
poolie- would this make it easier to make changes on codehosting in lp.net02:45
poolie- are we actually likely to want to make any changes to it02:45
poolie- would it make it easier to reuse externally02:45
lifelessso cool interesting things is actually what I wanted to ask about :)02:47
lifelessyou could say no to all your three things there and still do something cool or interesting with it02:47
lifelessI merely mean to encourage out-of-box stuff02:48
poolieit could well do02:48
pooliehm02:48
pooliecould well do02:51
pooliei may be inside the box but it seems like they would still be gated by needing to actually get run somewhere02:52
poolieeither deployed on lp or run by other people02:52
lifelesssure02:53
lifelessperhaps saying to to /all 3/ isn't plausible :)02:53
poolieat the moment i feel those 3 dimensions all get a weak yes at the moment02:54
pooliei'm trying to think of things that would make sense to do in there but not in standalone bzr serve02:54
poolieperhaps structured audit logs or notifications?02:54
lifelessit implements ssh02:58
lifelessso user management02:58
lifelessmultiplexing onto one account02:58
pooliemm02:59
poolieoh, easy deployment on windows?02:59
pooliefsvo easy :) assuming you have to install twisted and everything02:59
lifelessbrb02:59
poolieit would be an interesting case where you'd like to provide a fake/simple implementation of the other side of the services it uses03:00
pooliethe registry type things read by xmlrpc03:00
lifelessyes03:25
lifelesswow04:12
lifelessonly 2 failures04:12
wgrantlifeless: On?04:18
lifelessmailed you for your edification04:22
wgrantAh, that bug.04:23
lifelesshmm04:23
lifelessperson.join(team) and team.addMember are asymmetric04:23
lifelessI suspect this will cause issues04:23
lifelesshowever04:24
lifelessI shall close my eyes and go bravely forward.04:24
lifeless(specifically team.join doesn't honour admin or owner rights)04:25
lifelessit prefilters, wrongly04:25
lifelesshah04:28
lifelessit goes deeper though04:28
lifelessgetDirectAdministrators includes the owner04:28
lifelessI'll leave that for now04:28
wgrantThe bug says that.04:28
lifelessbah so it does04:31
lifelessactually04:33
lifelessI'm going to exclude that04:33
lifelessthere is a (reasonable) argument that owner implies admin04:34
lifeless(or that our admin stuff is not granular enough)04:34
lifelessmmm, but then it might be confusing.04:34
lifelessit would be odd for an owner to have to join the team to rename it or change its metadata04:35
lifelessso - excluding admin for now04:35
lifelesswhy does the sample data have someone called 'dumper' ? ><04:48
wgrantSame reason as mark is there, I guess.04:49
wgrantRenamed to avoid pings.04:49
lifelessah04:49
lifelesswgrant: do you have any ideas about the first failure there ?04:56
lifelessits got me a little flummoxed04:56
lifelessmark has a row for membership in ~admins05:00
lifelesshah05:02
lifelessI wonder if we have naffed sample data05:02
lifeless    mark.inTeam(getUtility(ILaunchpadCelebrities).admin)05:02
lifelessFalse05:02
LPCIBotProject windmill-db-devel build #348: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/348/05:03
wgrantlifeless: Hah. Probably.05:13
wgrantlifeless: There's a script for that.05:13
lifelessits more subtle than that05:19
lifelesscan_edit_team is returning False05:19
lifelessalso its checking the way-bong side of the equation but thats a different discussion05:20
wgrantHm, TP seems consistent.05:20
wgrant:(05:20
lifelesseah05:23
lifelesss/^/y05:24
lifelessok its true at the start05:29
lifelesssomething in this test script corrupts it05:29
lifelessbsearch time05:30
lifelessand looks like we manually expire mark from admins05:31
wgrantYay05:31
lifelessline 61205:31
lifelessthis test was only working because mark owns ~admins in the sample data05:32
wgrantAwesome.05:32
lifelesswhich is what I'm changing05:33
lifelessok now its just weird05:37
lifelessadmin_person *is* an admin05:37
lifelessbut its still throwing a security proxy error05:37
wgrantinTeam cache busted?05:42
lifelessI tried disabling that05:42
lifelessits not reach inTeam05:42
lifelessso a cached security assertion or something05:42
wallyworld_lifeless: is there a pattern we use to bulk load (eager fetch) fields of type CollectionField? rather than just single object references05:54
lifelessyes, see lp.services.database.bulk.load_referenced05:55
wallyworld_thanks05:55
wallyworld_lifeless: you mean load_referencing? i'm using that and it's not preventing db hits05:57
wgrantYou need to make it a cachedproperty.05:57
lifelesswallyworld_: that gets the data, it won't seed it for traversals.05:58
wallyworld_bugger05:58
wallyworld_it's not worht making it a cachedproperty since the field is only referenced once for each object05:59
wallyworld_i guess there's no way to bulk load *and* seed the traversals?05:59
lifelesswhy do you say its not worth it ?06:01
lifelessalso which types are we talking about ?06:01
lifelesswgrant: >< its still using 'mark' for some -bizarre- reason06:02
* lifeless tries to figure it out06:02
wallyworld_lifeless: there's a list of 6 people. we display irc nick. we only have to access the irc nic collection field once per rendering per person06:04
wallyworld_but that does one query per person06:04
lifelessright, you want a cached property.06:04
lifelesstotally appropriate06:04
lifelesssee the other use of load_referencing06:04
wallyworld_in this case, the irc nic is only defined as a class field of type SQLMultipleJoin. so i will need to introduce a new property?06:06
lifelessyes06:06
lifelessyou need to move the join attribute to a private attribute06:07
wallyworld_ok06:07
lifelessadd a cached property with the same name as the current join attribute06:08
lifelessseed it appropriately and deal with fallout06:08
wgrantDo you need the join attribute?06:08
lifelesswell, perhaps not.06:09
wgrantJust Stormify it.06:09
wgrantIn the cachedproperty.06:09
wgrantReturn a list of a Stormified query.06:09
lifelesswgrant: Reference is storm :P06:09
wgrantLess SQLObject, better for the world :)06:09
wgrantSQLMultipleJoin is not.06:09
lifelesstrue06:09
lifelessbut stormify != remove join attribute06:10
lifelessanyhow06:10
lifelesswtf06:10
lifelesspasting you a snippet06:10
wgrantk, I am intrigued.06:10
wallyworld_also - Person.preferredemail is a cachedproperty. but it hits the database once per person cause it does a query inside the property getter. and no luck so far seeding the data06:10
wgrantlifeless: Hm? I meant create a Stormified query.06:10
wgrantNot Stormify the class.06:10
wgrantwallyworld_: Which name are you seeding?06:10
lifelesswgrant: yes, you could also just use a storm Reference directly.06:10
wgrantReferenceSet, possibly, yes.06:11
wgrantHmm.06:11
wgrantHow is admin_person set there?06:11
wallyworld_perhaps i'm not doing the seeding correctly06:11
wallyworld_bulk.load_referencing(EmailAddress, persons, ['personID'])06:11
lifelesswgrant: >>> admin_person = personset.getByEmail(ADMIN_EMAIL)06:11
lifelesswallyworld_: use PersonSet.getPrecachedPersonsByIds06:11
wallyworld_it does the correct sql from what i can see, but....06:11
lifelesswallyworld_: and listify its output06:12
wallyworld_right. will take a look. thanks06:12
lifelesswallyworld_: *always* use that when dealing with persons06:12
lifelesswallyworld_: also change the vocab to just return the Person ids06:12
wgrantlifeless: Shouldn't that always be name16?06:12
lifelesswgrant: yes.06:12
lifelesswgrant: and it is!06:12
wgrantSo why is the test saying it should be something else?06:12
lifelessexactly!06:13
wallyworld_lifeless: so this will need to be done across the board for all person related vocabs06:13
lifelesswallyworld_: one query at a time06:13
wgrantWelcome to massive layering violations :)06:13
wallyworld_np, just wondering06:13
wallyworld_i guess the vocab stuff predated the getPrecachedPersons... stuff06:14
lifelessyes06:14
lifelessuntil 11 months ago we liked to requery everything06:14
wallyworld_right.06:15
wallyworld_context = makes more sense06:16
lifelesscan has review? https://code.launchpad.net/~lifeless/launchpad/bug-227494/+merge/6294306:28
wgrantlifeless: Have you checked the teams that this will affect?06:31
wgrantThey were mostly Ubuntu teams when I last looked.06:31
lifeless~admins :)06:31
lifelessno I haven't06:32
poolielifeless: putting a commit message on my restfulclient mp didn't cause it to land06:34
lifeless1300 rows06:35
lifelesspoolie: hmm, need to ask someone that knows. benji or gary come to mind.06:35
lifelesspoolie: unless README says something useful06:35
wgrant"cause it to land"?06:35
wgrantLandings don't happen automatically.06:35
pooliei guess what i really want to ask is: how is the trunk of restfulclient maintained06:36
poolieby pqm, tarmac, manually, etc06:36
pooliei could mail them06:36
lifelesswgrant: some subprojects use tarmac06:36
wgrantlazr.restful is manual.06:36
wgrantNot sure about restfulclient.06:36
wgrantlifeless: Do they?06:37
pooliei'll subscribe benji06:37
pooliethanks06:37
wgrantlifeless: person.merged IS NOT NULL06:37
wgrantEr, IS NULL06:37
wgrantCuts it down to 500ish.06:37
lifelesswgrant: 47106:37
lifelesswgrant: already done that06:37
lifelesswgrant: some are truely noddy - https://launchpad.net/~ubuntu-jewish06:38
wgrantlifeless: You're calling *that* noddy?06:38
wgrantThere are far worse :)06:38
wgrantFar, far worse.06:38
lifelesswgrant: I am - it has 1 proposed member, and the owner has left the team.06:38
lifelesswgrant: I wasn't saying anything about the name or intent of the team.06:38
wgrantI know.06:39
wgrantBut there are the teams which invite every team.06:39
wgrantAnd have no members.06:39
lifelessyes06:39
lifelessaffected by this ?06:39
wgrantLike the one that showed up last week.06:39
wgrantInvited dozens of teams.06:39
wgrantOwner had left it.06:39
wgrantAwesome.06:39
lifelesswin06:39
lifelessanyhow06:39
lifelessso, I think we want to do this06:39
wgrantAnd then some of the invited teams had bad admin settings, so randoms approved them, and the real admins couldn't leave :(06:40
wgrantYes.06:40
wgrantI think so.06:40
lifelessI will happily blog before it goes live06:40
lifelessits arguably exploitable today06:40
lifeless(find something that checks one way but not the other and leverage it)06:41
wgrantYeah06:41
lifelesspoolie: it should still be approved ;)07:00
lifelesspoolie: I just meant ask benji about landing mechanisms07:00
poolieffs "ConfigParser.NoOptionError: No option 'consumer_key' in section: '1'" _again_07:02
pooliedo you ever see this?07:02
poolieshould we subscribe some lp developer team to loggerhead reviews?07:10
poolieat the moment they seem to go by default to.. beuno and ~bzr or something07:11
lifelessloggerhead-reviewers is the reviewer team07:12
lifelesshttps://launchpad.net/~loggerhead-reviewers/+members07:12
lifelessso they already are07:12
poolieoh, ok07:12
pooliei must have implicitly claimed it07:12
poolienm then07:13
LPCIBotProject windmill-db-devel build #349: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/349/07:16
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
lifelesswgrant: follow up on https://code.launchpad.net/~lifeless/launchpad/bug-227494/+merge/62943 ?07:47
wgrantlifeless: You are arbitrarily changing the user to an admin half-way through because the owner has no privs.07:49
wgrantThat may be invalidating subsequent tests.07:49
wgrantEven if it isn't, it's rather confusing to change it partially globally when only that one block needs it.07:50
lifelesswgrant: have you looked through that doctest ?07:50
lifelesshint: it does this a lot already07:50
wgrantIt's a doctest. No.07:50
lifelessand the previous user was one it thought was an admin.07:50
wgrantAh, I see.07:50
wgrantOK.07:50
wgrantAn admin, but not an Admin.07:50
wgrantNot an ~admin, sorry.07:50
lifelessyes, a ~admin07:50
wgrantHow did it stop being an admin?07:51
lifelessbecause it was mark07:51
wgrantBecause it was the owner of ~admins?07:51
lifelessyes07:51
wgrantBut the test removed that membership?07:51
lifelessyes07:51
wgrantahhhhhhhh07:51
wgrantCarry on, then.07:51
lifelessit was BROKEN07:51
wgrantPreferably beating that test to death on the way.07:51
lifelessnow I just need a reviewer.07:53
lifelessPerhaps we should graduate you now07:53
wgrantHi StevenK.07:53
wgrantHeh07:53
wgrantPossibly.07:53
lifelessI have been waiting for you to consistently look below the surface on non-soyuz code07:53
lifelesswhich you have been improving on07:54
lifelessI don't recall finding things you missed recently other than the extraordinarily messy gpghandler stuff, which confused everyone.07:54
lifelessso, I think graduation is in order07:55
wgrantYeah, the gpghandler example is bad, but I don't think anyone non-Twisted and non-you would have caught that either.'07:56
wgrantSince most people don't have much idea of Twisted :(07:56
lifelessfacepalm07:58
* lifeless sobs07:58
wgrant?07:58
wgrantThe other test?07:58
spmwgrant: are you being mean to lifeless again???07:58
lifelesshttps://code.launchpad.net/~xaav/loggerhead/export-tarball/+merge/6294107:58
lifelesscopy and paste from bzrlib07:58
lifelesswith mild tweaks07:58
wgrantHeh07:59
wgrantlifeless: So, am I graduating?07:59
mrevellGood morning07:59
lifelesswgrant: yes, I am mailing -dev08:00
wgrantlifeless: Thanks!08:00
StevenKwgrant: Grats!08:00
wgrant        return dumps({08:03
wgrant            'row_id': 'tasksummary%s' % self.context.id,08:03
wgrant            'bugtask_path': '/'.join(08:03
wgrant                [''] + canonical_url(self.context).split('/')[3:]),08:03
stublifeless: BugSummary.viewed_by is painful because of indirect subscriptions.08:05
lifelessstub: they don't grant visibility08:06
lifelessstub: so shouldn't be counted and don't matter08:06
stubSo only direct subscribers can view private bugs? That should be fine then.08:07
lifelessyes08:07
lifelesswhere direct means 'in the team that is in the bugsubscription'08:07
stubDo bug supervisors get bugsubscription records created when a bug becomes private?08:07
lifelessyes08:08
lifelessall indirect subs do (thats a bug)08:08
stubMaybe it is now a feature ;)08:08
lifelesswell08:08
lifelessthe creation is fine08:08
lifelessthe fact that all random 'happen to have a structural subscription' get subscribed is the bug08:08
lifelesswgrant: so, is that +1 on the branch then ?08:15
wgrantlifeless: I rereviewed a couple of minutes ago.08:16
wgrantSo, yes.08:16
lifelessthe mail just came in08:17
adeuringgood morning09:13
lifelessstub: are our fti indices bloated again ?09:21
lifeless94 /   42  Person:EntryResource:searchTasks09:21
lifeless      70 /   24  Distribution:EntryResource:searchTasks09:21
lifeless      45 /   12  Distribution:+bugs09:21
lifelesstop timeouts09:21
stublifeless: back at 70% bloat, yeah.09:22
stubbug_fti I mean09:23
lifeless><09:23
* lifeless stabs bug heat09:23
nigelbWait, so canonical employees don't automatically become reviewers? Wow, that's interesting09:24
StevenKnigelb: It's a little more complicated than that, but not much.09:25
StevenKBut no, they don't.09:25
stublifeless: it is bloating between 1% and 2.5% per day looks like. It should be trivial to confirm this is bug heat calculation - just turn that script off for a day or two.09:25
nigelbStevenK: But how open is the process to outsiders, like me, for instance09:25
lifelessnigelb: quite open09:26
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday! | https://dev.launchpad.net/ | On call reviewer: gmb | Critical bugs:208 - 0:[######=_]:256
lifelessnigelb: the one thing you can't do is get to the point of approving other non-staff changes or actually landing changes09:26
gmballenap: Any objections to me marking https://code.launchpad.net/~allenap/launchpad/rabbit-fixture-cookie-file/+merge/62709 as Work In Progress to make it go away from my todo list?09:26
lifelessnigelb: we require that all changes have *a* staff member involved.09:27
lifelessnigelb: because of the way things deploy and the risks around data exposure09:27
nigelbAh, that explains that yes.09:27
allenapgmb: None, done.09:27
gmballenap: Ta.09:27
nigelblifeless: I expect there's a lot of private data with the hidden emails which would be illegal for a non-staff member to access.09:28
gmbpoolie: Similarly, do you want https://code.launchpad.net/~mbp/launchpad/mail-scope/+merge/60281 reviewed now or should it wait until you've fixed the test failures?09:28
lifelessbigjools: :( - bug 79053509:30
bigjoolsis that the bug where mup won't tell me what it is? :)09:30
lifelessDistribution:+ppas timeouts09:34
lifelesshttps://bugs.launchpad.net/launchpad/+bug/79053509:34
pooliegmb more review now would be good09:37
pooliei doubt if the failure is deep09:37
gmbpoolie: Righto, I'll take a sken presently.09:37
StevenKgmb: 'sken' ?09:38
gmbStevenK: "Look".09:38
pooliereading inference 10109:38
pooliels09:38
StevenKgmb: I figured as such, I was just wondering about its entomology.09:39
gmbStevenK: It has nothing to do with insects.09:39
gmb:)09:39
StevenKOh, arse.09:39
gmbBut it's Lancs / Yorks (possibly other northern places too) dialectic slang, AFAICT.09:39
gmbI grew up with it, so I've no idea where it came from.09:39
gmbStevenK: But if it helps, The Beatles probably said it. (Boom boom).09:40
gmbIt's only 9:41am and I'm being punny. What else will the day hold?09:41
nigelbThis channel wins for the most interesting conversations EVAR.09:43
gmbI suspect that the barrier to entry for that competition is very, very low.09:43
nigelbNo, I'm in #ubuntu-offtopic, so its very high09:44
nigelbI still need to fix a bug I introduced to LP, sigh.09:45
dpmhi danilos, morning. Do you happen to remember where rosetta/deleted-templates (the location where we used to put templates we wanted out of the way) went after the unification of all lp applications into a single launchpad project? I already asked you a while ago and you found out, but I can't remember where it was and I can't find it in my logs09:49
dpmor if anyone else can help ^09:49
danilosdpm, probably the 'null' project09:56
danilosdpm, also, there's old-lp-translations that's just a deactivated and renamed 'rosetta' project, so that's what has deleted-templates stuff as well09:56
dpmthanks danilos, I'll try both09:57
dpmdanilos, old-lp-translations/deleted-templates worked, thanks10:01
danilosyw10:01
LPCIBotProject windmill-devel build #156: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/windmill-devel/156/10:02
gmbpoolie: r=me10:13
=== almaisan-away is now known as al-maisan
pooliethanks gmb10:40
pooliegmb: do you think you could pilot-in james's patch  https://code.launchpad.net/~james-w/launchpad/more-matchers/+merge/3205710:42
gmbpoolie: Sure thing.10:42
poolieand perhaps some of the loggerhead patches10:42
pooliejames's should be trivial10:42
pooliehooray :)10:43
gmbpoolie: I've never landed a loggerhead patch before; anything special I need to know?10:43
gmbOr is it PQM all the way down?10:43
pooliei don't think there is a pqm10:43
poolieimbw10:43
pooliei think it's just direct commits10:43
pooliethe hard thing will be getting to know the code enough to review it :/10:43
poolieoh, but jam is online, and he knows about it10:44
gmbAh, good. THat might be safer.10:44
pooliebut if you drive them that would be good11:10
pooliesome review or landing is better than none11:10
gmbpoolie: Sure. I'll take a look at them today.11:11
poolielegend11:11
=== al-maisan is now known as almaisan-away
lifelessnight all11:58
=== almaisan-away is now known as al-maisan
LPCIBotProject windmill-devel build #157: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/windmill-devel/157/12:21
henningeHi gmb! Could you have a look at this mp of mine, please? ;-)13:31
henningehttps://code.launchpad.net/~henninge/launchpad/bug-778129-person-picker/+merge/6289413:31
gmbhenninge: Sure thing.13:31
gmbhenninge: r=me with comments13:43
henningegmb: thanks13:43
henningegmb: I copied the indention from another test case in the same file. I can fix both.13:44
gmbhenninge: Brilliant, thanks.13:44
henningegmb: is !=== also to be used when comparing to literal numbers?13:45
gmbOo.13:45
gmbhenninge: Good question. In that case, leave it.13:45
gmbI'm not sure ( and if it works, don't fix it)13:46
gmbBut if you want to find out, that's fine by me :)13:46
gmbLike I said, it's not worth blocking on.13:46
henningealthough Crockford acts like there is only === and !===, so it will probably just work.13:46
* henninge tries out.13:46
=== matsubara-afk is now known as matsubara
gmbjam: Do you know what the situation is with https://code.launchpad.net/~malept/loggerhead/standalone-auth/+merge/18828?13:52
jamnot offhand13:52
gmbOkay.13:52
gmbI'll add a comment and put it to work in progress then to make it leave the review queue.13:52
deryckhenninge, ping for standup14:02
henningederyck: sorry14:05
deryckhenninge, http://pastebin.ubuntu.com/615334/14:09
=== jam1 is now known as jam
LPCIBotProject windmill-db-devel build #350: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/350/14:34
* gmb -> short break14:35
flacostewgrant: congratulations for your reviewerhood!14:47
wgrantflacoste: Thanks!14:47
nigelboooh, yeah. I saw that mail when I woke up.14:47
nigelbCongrats wgrant!14:47
bigjoolsdamn, now we have to start being nice to him14:48
jcsackettclear15:01
jtvgmb: got a free slot on the review queue?  https://code.launchpad.net/~jtv/launchpad/db-bug-790161/+merge/6300216:07
gmbjtv: Sure thing.16:07
jtvSplenders.16:07
gmbTip-top.16:07
gmbjtv: r=me16:52
jtvthanks!16:52
gmbnp16:52
sinzuigmb: is it too late for you to  review https://code.launchpad.net/~sinzui/launchpad/display-name-with-id-0/+merge/6300616:53
gmbsinzui: Nope. I'll look presently.16:54
* deryck goes offline for lunch, back soon16:54
=== beuno is now known as beuno-lunch
=== matsubara is now known as matsubara-lunch
gmbsinzui: r=me17:29
=== gmb changed the topic of #launchpad-dev to: Performance Tuesday! | https://dev.launchpad.net/ | On call reviewer: - | Critical bugs:208 - 0:[######=_]:256
sinzuithanks gmb17:33
=== al-maisan is now known as almaisan-away
jcsackettexit17:40
bigjoolsYou have running jobs17:51
sinzuijcsackett: do you have time to talk?17:53
=== salgado is now known as salgado-lunch
=== beuno-lunch is now known as beuno
LPCIBotProject windmill-devel build #158: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/158/18:53
LPCIBotProject db-devel build #601: FAILURE in 4 hr 40 min: https://lpci.wedontsleep.org/job/db-devel/601/19:01
jcsackettsinzui: i am available when you are.19:03
=== salgado-lunch is now known as salgado
=== matsubara-lunch is now known as matsubara
sinzuijcsackett: I am available to talk now19:39
jcsackettsinzui: cool. mumble or sip?19:39
sinzuiI am on mumble now19:39
* jcsackett goes to fire up mumble.19:39
LPCIBotProject windmill-db-devel build #351: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill-db-devel/351/19:57
flacostewtf20:18
flacostewhat is this not_exported = TextLine(title="Not exported")20:19
flacoste?20:19
flacostein interfaces declaration in sourcepackage.py20:19
flacosteok20:22
flacostedisregard that wtf20:22
flacostei was in a test file, not in sourcepacakge.py20:22
lifelessmoin20:25
LPCIBotProject windmill-db-devel build #352: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-db-devel/352/20:39
abentleylifeless: can we chat about bug #595166?20:41
_mup_Bug #595166: IntegrityError raised filing a bug using the email interface <bad-commit-13139> <easy> <email> <lp-bugs> <oops> <qa-bad> <Launchpad itself:Fix Committed by abentley> < https://launchpad.net/bugs/595166 >20:41
lifelessabentley: sure thing20:49
lifelessabentley: just give me 5 minutes to sort some cats out20:50
abentleylifeless: sure.20:50
lifelessok they seem happy for now20:55
lifelesswould you like voice ?20:55
abentleylifeless: yes, please.  Skype, I imagine?20:55
lifelessyeah. .nz.win ;)20:56
lifelessinterestingly the canonical voip service works well20:56
lifelessjust mumble hates freedom :)20:56
=== almaisan-away is now known as al-maisan
abentleylifeless: btw, I would be curious to try canonical voip.  I recently set it up on my phone.21:25
lifelessabentley: nice21:27
lifelessabentley: lets do that next time21:27
=== al-maisan is now known as almaisan-away
flacostegary_poster: i'm testing object's permission, I would use check_permission, but I think you had another suggestion22:00
flacostecheck_permission coming from canonical.launchpad.webapp.authorization22:00
gary_posterflacoste, I generally try to use canWrite and canRead (might have forgotten names) from zope.security22:01
gary_posteron call22:01
flacosteack22:01
lifelesswalk the dinosaur?22:02
flacostelifeless: ?22:02
lifelessflacoste: ;) referencing a song22:04
abentleylifeless: care to do the review? https://code.launchpad.net/~abentley/launchpad/no-dedup/+merge/6304422:07
lifelessabentley: sure, done.22:11
abentleylifeless: thanks.22:11
lifelessI editorialised a little for future reference22:12
lifelessI wonder if our mail handling doctests have something about duplication in them?22:12
abentleylifeless: could be.  test_messages didnt.22:12
abentleylifeless: my new toy "fault line" didn't find strong correlations between changes to messages.py and changes to particular test files.22:14
lifelessabentley: does it consider mainline commits only ?22:15
lifelessabentley: I can imagine feature branches not having a high association but the mainline diffs having one22:15
abentleylifeless: no, it only looks at revisions that modified the file.  I"d like to change that, but I don't know how to do it efficiently.22:15
lifelessyou need the 'first mainline rev after the rev that modified the file'22:17
abentleylifeless: Yes.22:17
lifelessthis is retrievable from merge_sorted revisions22:17
abentleylifeless: isn't that a whole-graph operation?22:17
lifelessabentley: yes, 4 seconds for me on lp22:18
lifelessabentley: you'd do it once per run though, giving you an efficient data structure to answer the question for all the modified revs22:18
abentleylifeless: Acceptable, given the whole operation takes ~20 seconds for me.22:19
abentleylifeless: message.txt does fail.  Thanks for the tip.22:20
lifelessno worries22:20
lifelesssinzui: hi22:37
lifelesssinzui: got a few minutes?22:37
sinzuiI do22:37
lifelessI had two questions for you22:37
lifelessone simple, one a little complex (perhaps needs voice)22:37
lifelessthe simple one is with person/fmt:link-name-id22:37
lifelessdo we still want fmt:link at all ?22:37
lifelessI was thinking we were going to change it everywhere22:38
lifelesswhich would be a simpler patch - just change the existing formatter.22:38
sinzuiyes. It is correct for most cases such as tables and summaries22:38
lifelessThat confuses me a little but ok.22:38
sinzuiWe have a specialised formatter to communicate the Lp id, but we never fully implemented22:38
sinzuiI intend to complete the implementation22:39
lifelessthe other question is about private public team membership interactions22:39
lifelessif you can spare some time to talk about it - doesn't need to be now - I'd like to tease the issues apart. I suspect we agree.22:39
sinzuilifeless: my sip is 764222:40
=== matsubara is now known as matsubara-afk
LPCIBotProject windmill-db-devel build #353: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/353/23:34
LPCIBotYippie, build fixed!23:41
LPCIBotProject db-devel build #602: FIXED in 4 hr 40 min: https://lpci.wedontsleep.org/job/db-devel/602/23:41
lifelesssinzui: I hope I captured things well in bug 40527723:47
_mup_Bug #405277: Private teams are not able to join other teams (public or private) <disclosure> <lp-registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/405277 >23:47
lifelesssinzui: it seems like 3 fairly contained changes to me.23:47
sinzuilifeless: this looks very good. Thank you/23:48
=== salgado is now known as salgado-afk
lifelessoh, I forgot the bit about 'and tell them the implications'23:56
lifelessadding that in23:56

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