/srv/irclogs.ubuntu.com/2012/09/18/#launchpad-dev.txt

StevenKwallyworld__, wgrant: https://code.launchpad.net/~stevenk/launchpad/destroy-bfj-on-branch-delete/+merge/12482801:10
wallyworld__StevenK: any reason not to update the cascade?01:11
wallyworld__so everything is in one spot01:11
StevenKwallyworld__: BFJ deals with far more than just TTBs01:11
=== Ursinha` is now known as Ursinha
wallyworld__seems ok to me but i have limited bfj foo01:12
=== Ursinha is now known as Guest7533
wallyworld__StevenK: are there orphaned db records that need to be removed also?01:14
wallyworld__from previous deletes?01:14
StevenKThere are.01:14
wallyworld__i guess i bit of sql would do01:14
StevenKYeah, just reaching for mawson01:15
wallyworld__r=me anyway01:15
StevenKAnd trying to work out just how evil this query will be, since we need to pull in SourcePackageRecipeBuild, BinaryPackageBuild and TranslationTemplatesBuild01:16
wallyworld__sounds just peachy01:19
StevenKSELECT id FROM buildfarmjob WHERE id NOT IN (SELECT build_farm_job FROM packagebuild UNION SELECT build_farm_job FROM translationtemplatesbuild); is pretty close, but it will take a few eons on prod01:19
StevenK:-(01:29
StevenKAll 3 columns are indexed and it's horribly slow01:29
StevenKI think the UNION is not helping in the slightest01:30
StevenKAh, two Seq Scans. Thanks, postgres01:31
wgrantStevenK: No, it's pretty easy01:33
wgrantStevenK: Just query for BFJs of the TTBJ type that have no TTB01:33
wgrantStevenK: Given the potentially very large number of BFJs that could be returned, it may be best to query the IDs directly.01:35
wgrantstore.find((BuildFarmJob.id,), ...)01:35
StevenKwgrant: I tried (BuildFarmJob.id,), but I was not loved01:35
wgrantThat's not very helpful01:35
StevenKI've not tossed it at ec2 yet, let me see01:35
wgrantAlso, I'm not a huge fan of that test. I'd prefer that the existing TTB deletion test be extended to check that the BFJs are gon01:36
wgrantChecking that nothing shows up on +history is very indirect and likely to incorrectly pass for a multitude of other reasons.01:36
StevenKI made sure it broke before I fixed it01:36
wgrantSure, but it could also pass because the builder doesn't show the build for some reason01:37
wgrantIt's not what you really want to test01:37
wgrantIt's about the most indirect integration test you could ever think of01:37
wgrantThere must be an existing test that TTBs are deleted, so just extend that to check that the BFJs are gone too01:37
wgrantAnd delete your other new test.01:38
wgrantThis is an example of our terrible doctest style, except with unit tests instead.01:38
wgrant"unit" tests01:38
=== Guest7533 is now known as Ursula
wgrantlaunchpad_dogfood=# SELECT COUNT(*) FROM (SELECT id FROM buildfarmjob WHERE job_type = 4 EXCEPT SELECT build_farm_job FROM translationtemplatesbuild) AS donotcare;01:41
wgrant count01:42
wgrant-------01:42
wgrant   30301:42
wgrant(1 row)01:42
StevenKWhat was the timing on that?01:42
wgrantSlightly under 2s01:43
StevenKSo select that into a temp table and then DELETE FROM buildfarmjob WHERE id IN tempfoobar; ?01:44
wgrantTemp table? Surely you jest.01:44
wgrantlaunchpad_dogfood=# DELETE FROM buildfarmjob WHERE id IN (SELECT id FROM buildfarmjob WHERE job_type = 4 EXCEPT SELECT build_farm_job FROM translationtemplatesbuild);01:45
wgrantDELETE 30301:45
wgrantTime: 3874.078 ms01:45
wgrantThere'll be more on prod01:45
wgrantBut prod is also not running off 1rpm disks01:45
StevenKHahaha01:45
StevenKBleh, list(store.find((BuildFarmJob.id,), ...) is giving me a list of 1-tuples01:50
wgrantStevenK: Yeah, you'll need to map it through attrgetter01:54
* wgrant wanders out to lunch for a while01:55
=== matsubara is now known as matsubara-afk
=== almaisan-away is now known as al-maisan
wgrantHm04:03
wgranthttp://paste.ubuntu.com/1212288/04:03
wgrantpostgres' optimiser makes me sad04:03
StevenKwgrant: attrgetter doesn't work for tuples04:03
wgrantIt won't optimise "BugTaskFlat.bug IN (foo) OR BugTaskFlat.bug IN (bar)" down to "BugTaskFlat.bug IN (foo UNION ALL bar)"04:03
wgrantStevenK: I meant itemgetter of course.04:03
StevenKMaybe we should then04:05
StevenKwgrant: http://pastebin.ubuntu.com/1212297/04:07
wgrantStevenK: I guess a list comprehension is actually probably nicer in this case, since we don't need to use DRS04:08
wgrantBut the test changes look good04:09
wgrantAlthough assertEqual(0, bfjs.count()) or assertContentEqual([], bfjs) is nicer than listifying.04:09
StevenKwgrant: http://pastebin.ubuntu.com/1212299/ then04:10
wgrantStevenK: Sounds good04:13
=== al-maisan is now known as almaisan-away
StevenKwgrant: So, how do I QA my merge fix :-(04:34
wgrantStevenK: I believe I outlined in the bug exactly how it happened04:34
wgrantStevenK: Or perhaps I outlined on IRC and someone quoted in the bug04:34
wgrantI don't quite remember04:34
StevenKwgrant: You did, indeed04:35
StevenKwgrant: I don't quite want to delete the only account I have on qas :-)04:35
wgrantAh04:36
wgrantI have a few test SSO accounts04:36
StevenKwgrant: So, wrong question. I'd like to QA it, but I have one Person and I'd rather they weren't deleted.04:36
StevenKwallyworld__: Does your MP about er MPs need reviewing?04:37
wallyworld__StevenK: wtf not04:37
wallyworld__thanks04:37
wallyworld__bigjools forced me to do it04:37
StevenKI'd rather the commit message wasn't included at all if it isn't set.04:38
wallyworld__yeah, but i didn't want to introduce a different template04:38
bigjoolsshut up gollum04:38
StevenKKeep %(commit_message)s in the template, and have it expand to '' if the commit message is blank04:38
StevenKbigjools: Why gollum?04:39
wallyworld__there would still be the header04:39
wallyworld__*precious*04:39
bigjoolsStevenK: separated at birth04:39
bigjools*score*04:40
StevenKwallyworld__: Remove the header, and include 'Commit message:\n' in commit_message if proposal.commit_message04:40
wallyworld__thought you would say that :-)04:40
wallyworld__ok, will do. i was thinking that it may be good to see that they didn't specify a comment explicitly04:41
StevenKwallyworld__: You may need to test to make sure there isn't \n\n\n in the mail04:41
StevenKI'm unclear how bad the templating is, it's a been a while since I've touched it04:42
wallyworld__maybe. i'll see what other tests are there for similar things04:42
StevenKwallyworld__: There's a mail template when you subscribe someone to a P3A, I think that does similar tricks04:42
wgrantSoyuz upload notifications use that extensively too04:43
StevenKwallyworld__ doesn't like touching Soyuz :-P04:43
wallyworld__if i get drunk enough i might04:43
StevenKwgrant: Can haz account or are you sorting one out?04:45
wgrantStevenK: It may be useful for you to invest in one or two spare SSO accounts04:46
StevenKwgrant: I thought you enjoyed being the only LP engineer that has more than one?04:47
wgrantHeh04:47
wgrantwallyworld__: Parts of the IPerson launchpad.LimitedView adapter permit access if the user can see the team itself or any of its super teams, while others require that it be the team itself. Do you recall it was done like that?04:54
wgrantIt doesn't seem particularly valuable to preserve, but I'm not sure if I'm missing a reason it's done both ways.04:54
wallyworld__wgrant: i can't recall any reason for that, or even if it were considered. it may have been an accidental inconsistency04:54
wgrantk04:55
wallyworld__StevenK: diff updated04:55
StevenKwgrant: Your URL for bug 1019218 doesn't reproduce on qas, which is a little sad.05:23
_mup_Bug #1019218: InconsistentBuildFarmJobError: Could not find all the related specific jobs at Builder:+history <buildfarm> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1019218 >05:23
wgrantStevenK: The branch probably hasn't been deleted yet.05:26
wgrantStevenK: You can probably see the actual branch listed there05:26
wgrantI don't know which branch it was05:26
wgrant Translation template build for lp://qastaging/guvcview05:27
wgrantI think05:27
StevenKThat branch exists on prod too05:31
wgrantStevenK: The creation dates and unique_names are suspiciously different05:35
StevenKHeh, right05:35
StevenKI don't really care about which orphaned BFJ it is05:36
wallyworld__wgrant: i'm confused about the comments mentioning private_bugs and deactivating proprietary projects - i didn't change those bits at all from what was already there06:04
wgrantOh, I missed that the private_bugs bit was already there06:06
wgrantBut I was aware of the existing deactivation06:06
wallyworld__the bug report didn't seem to imply a new enum was required06:06
wgrantIt's not clear it still makes sense to deactivate, but it mihgt.06:06
wallyworld__it just said to ensure stuff couldn't be abused06:07
wgrantWe need to ensure stuff can't be abused06:07
wgrantBut we also need to not be reckless.06:07
wgrantAnd changing the default to public is reckless :)06:07
wallyworld__how so? it's just he default?06:07
wgrantThe plan that sinzui and I discussed on the call two weeks ago is to add a new sharing policy that allows nothing06:07
wallyworld__existing stuff remains private06:07
wgrantHow is it not reckless?06:07
wgrantMy project expires, but I don't notice06:07
wgrantI push up my proprietary code06:08
wallyworld__why, you get an email?06:08
wgrantNow my code is public :(06:08
wallyworld__several emails in fact06:08
wgrantI'm not the project owner06:08
wallyworld__the owner should take responsibility for their own projects. but anyway, it's moot i guess06:08
wgrantSilently opening up access is really really really not a good policy06:09
wallyworld__it's not silent06:09
wgrantI guess it's not truly silent06:09
wgrantBut it's still really not good06:09
wallyworld__well, no pay, no privacy seems fair06:09
wgrantSure06:09
wallyworld__can't expect something for nothing06:09
wgrantBu no pay, we'll make all your code public, is not fair06:09
wallyworld__but it's not "all your code"06:09
wallyworld__it's code pushed *after* you  have lost the right for privacy06:10
wgrantBut I don't know that I've lost that right06:10
wgrantOr I have forgotten06:10
wallyworld__for new stuff, yes because you owe money06:11
wgrantLaunchpad needs to make mistakes difficult and explicit06:11
wgrantNot make them itself06:11
wallyworld__and get get plenty of warning, or the owner does06:11
wallyworld__cutting off a feature when payment expires is not making a mistake06:11
wallyworld__so this forbidden type should disallow creation of all new private bugs and branches?06:13
wgrantAll new bugs and branches06:13
wallyworld__public too?06:13
wallyworld__really?06:13
wgrantIt's not just cutting off a feature: it's opting you into a new feature without asking06:13
wgrantWell06:13
wgrantFor branches it's the same thingf06:13
wgrantYou can't create branches with a non-default information type06:13
wgrantFor bugs it's less clear06:13
wallyworld__it's not without asking - try not paying your electricity bil and see how you get on06:14
wgrantIf I don't pay my electricity bill then the company doesn't come and throw all my stuff out onto the street.06:14
wallyworld__and neither do we, why do you keep claiming that?06:14
wallyworld__exisiting private stuff stays private06:14
wgrantAnd then I push my code and it becomes public06:15
wallyworld__as expected06:15
wgrantWhy is it expected?06:15
wallyworld__no pay = no more electricity, np pay = no more privacy06:15
wallyworld__totally expected. don't pay for something, don't get the service06:16
wgrantThe former is temporary and fixable, the latter is not06:16
wallyworld__and lots of emails about it before hand06:16
StevenKwallyworld__: We all agreed that what wgrant is saying is the right approach06:16
StevenKIt was covered on a call about two weeks ago, I think06:17
wallyworld__hmmm. ok. clearly i forgot06:17
wallyworld__i don't agree but that's just my opinion06:17
wallyworld__i was mainly reacting to the assertion that *all* your stuff get's throen out onto the street so to speak06:18
StevenKwallyworld__: I'm not sure if you were on the call, but at least myself, wgrant and sinzui agreed it was the right approach.06:18
wallyworld__sure, np06:18
wallyworld__i guess we have to protect people from themselves. sad but true06:19
wgrantwallyworld__: Well, a freshly pushed branch probably contains all of your history.06:20
wgrantSo it is all your stuff.06:20
wgrantEffectively.06:20
StevenKwgrant: So, 1.0 API for security_contact? Please?06:20
wallyworld__even if it is stacked?06:20
wgrantIf the project uses stacking then it's a bit different06:21
wgrantBut sadly lots of our commercial projects don't.06:21
wgrant(because they have lots of codebases living in a single project. which we don't really support, but they do anyway)06:21
wgrantBut not supporting something and being reckless with security are unfortunately different.06:22
adeuringgood morning07:53
czajkowskimorning08:00
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== matsubara-afk is now known as matsubara
benjirick_h__: I didn't get to  https://code.launchpad.net/~rharding/launchpad/move_into_utils/+merge/124678 until late yesterday and it was "Work in progress".  Is that right?12:40
rick_h__benji: yes, it gained some scope12:40
rick_h__benji: so yea, I ping'd you to ignore it. Sorry for the trouble12:40
benjino worries12:40
rick_h__sinzui: ping, trying to figure out a conflict here with doc/message-holds.txt? I don't see it blown away in your doctest purge12:59
sinzuirick_h_it was13:00
rick_h__sinzui: ok, then I'll just remove it locally/resolve. It wasn't listed in http://bazaar.launchpad.net/~sinzui/launchpad/angy-mob-burns-doctests/changes so trying to make sure I resolve this right13:01
sinzuirick_h_, I see it in the act in trunk: http://pastebin.ubuntu.com/1212860/13:02
rick_h__sinzui: ok cool13:03
=== rick_h__ changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: rick_h | Firefighting: - | Critical bugs: ∞
rick_h__sinzui: another ping, reviewing https://code.launchpad.net/~sinzui/launchpad/delete-packaging-link/+merge/124809 and not understanding the adding of the karma bits in the test file. Was it required for some reason?13:15
sinzuirick_h_karma will make the user non-probationary...a user with experience13:16
sinzuiI think that needs a comment13:16
rick_h__sinzui: ah, that makes total sense. Thanks13:16
sinzuirick_h_I keep forgetting you review on Tuesdays. I have it in my head this day is empty13:17
sinzuiI took 3 reviews this morning thinking that13:17
rick_h__sinzui: yea, that's ok. You pushed me. I wanted to try to get one branch into ec2 before reviews this morning so trying to out race you :P13:18
=== slank` is now known as slank
=== slank is now known as Guest61577
=== mbarnett` is now known as mbarnett
abentleyrick_h_: as of 3.5.1, Y.Array.forEach is part of yui-base.  Tempted to retain it because forEach is the official ECMAScript spelling: http://ecma-international.org/ecma-262/5.1/#sec-15.4.4.1814:23
rick_h__abentley: ok, then yea including array-extras will allow that to work14:23
allenapgary_poster, yellow squad: Do you have a moment to help with lxc? lxc-start-ephemeral is hanging all the time, even with a freshly created base container. Have you encountered this?15:30
gary_posterhi allenap.  we are sprinting this week, so we ideally are focusing here.  hallyn on #ubuntu-server has been very helpful for us in the past.  I'm looking myself.  hazmat suggests lxc-start may be the problem.  The first thing I can think of is to make sure that you can start the base container.  Have you confirmed that?15:34
gary_posterallenap, another idea is to actually modify the script (it is just a shell script) to have set -x at the top, to show you what command is hanging15:35
allenapgary_poster: Tip top, thanks for that advice. Looks like lxc-net was broken/not running. I have yet to discover why. Have a good sprint!15:37
gary_posterthanks allenap :-)15:38
=== matsubara is now known as matsubara-lunch
=== deryck is now known as deryck[lunch]
adeuringrick_h_: could you please review this MP: https://code.launchpad.net/~adeuring/launchpad/specifications-sharing-service/+merge/124978 ?16:33
rick_h__adeuring: sure thing16:34
adeuringthanks!16:34
rick_h__adeuring: #96 says +    @operation_returns_collection_of(IBranch)16:35
rick_h__but this is specifications right?16:35
adeuringrick_h_: argh, of course, I'll change it16:36
rick_h__adeuring: same with the docstring that mentions branches please16:37
adeuringsure16:37
abentleysinzui: I'm confused, because I see there's an accesspolicy.person column, but you say "They do not have any form of access policy".16:39
rick_h__adeuring: r=me after the s/branch/specification and a wonder if we should have a bug/XXX for coming back to it later or not.16:49
adeuringrick_h_thanks, change already done. Regarding the XXX, I think we should at first see how slow the query will relly be.16:50
sinzuiabentley, it is incomplete.16:50
abentleysinzui: Ah, okay.16:51
rick_h__adeuring: ok, cool. Wanted to bring it up.16:51
sinzuiabentley, we do not know how exactly to manage who may know of the team, or see extra information about it :(. We know archive subscriptions grant limited view, but how would I say all canonical staff may know about our private tech team?16:53
abentleysinzui: ISTM that an AcccessArtifactGrant would be the way to go.16:54
sinzuiI think there was some confusion about requirements too. wgrant does not think the issue can be solved until private projects are in beta, but most private teams are not associated with projects...I don't see the connection16:54
sinzuiabentley, I think we might need to do that (mirror the project schema). bug 1014580 is ultimately caused by private team in places that we know implicitly allow users to know about the team, but Lp has no means to verify that16:55
_mup_Bug #1014580: MixedVisibility error in ProductSet:+all and Product:+index pages <oops> <private-projects> <Launchpad itself:Triaged> < https://launchpad.net/bugs/1014580 >16:55
=== matsubara-lunch is now known as matsubara
tumbleweeddo I need to request a review of lp:~stefanor/launchpad/edit-packagesets? or will an on call reviewer get to it at some point?17:18
rick_h__tumbleweed: so I was peeking at it but it's way out of my wheel house17:18
rick_h__tumbleweed: so I am going to wait until wgrant and SteveK get up and ask them to look17:19
tumbleweedthanks17:19
=== deryck[lunch] is now known as deryck
jcsackettrick_h__: can you take a look at https://code.launchpad.net/~jcsackett/launchpad/too-many-findAP-methods/+merge/12501118:23
rick_h__jcsackett: will do18:25
rick_h__jcsackett: r=me18:26
rick_h__yay for killing cruft18:26
jcsackettrick_h__: thanks.18:27
rick_h__deryck: yay! productjs branch passed ec2 tests! Thanks again for helping figure that crap out19:46
deryckrick_h__, np!  Glad it worked.19:46
=== rick_h__ changed the topic of #launchpad-dev to: http://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugs: ∞
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
abentleyderyck: Any chance you could review https://code.launchpad.net/~abentley/launchpad/spec-creation-js/+merge/125038 ?20:11
deryckabentley, sure.20:11
flacostelifeless: ever stumbled upon http://www.12factor.net ?20:26
lifelessyes20:27
flacostea lot of these principles seems to be dead on for a SOA architecture20:27
lifelesselliot linked it in G+20:27
lifelessI think its pretty good20:27
flacosteshould we link it from the Services page?20:29
=== Guest61577 is now known as slank
=== slank is now known as Guest70664
lifelessflacoste: yeah, might be good20:37
abentleyderyck: On Kanban, is "Blueprint specs should honour sharing policy" the same as "Use sharing policy default for creating specs"?20:41
deryckabentley, yeah, they are.  sorry if I duped that.20:41
abentleyderyck: np, just wanted confirmation before deleting.20:42
abentleyderyck: I think someone also pointed out that blueprints were accepting information_types that violated the sharing policy, e.g. PUBLIC for a PROPRIETARY product.20:47
deryckabentley, ah, ok. via the API?20:49
abentleyderyck: No, via the UI.20:49
deryckabentley, is there a bug?20:49
deryckabentley, also, I still don't have a diff on that MP.  something up there?20:51
abentleyderyck: I can't remember whether I saw it on a bug report.20:51
deryckabentley, ok, I'll make a note and check into it.20:51
deryckthat surprises me a bit actually.20:52
derycklifeless, hi there.  do you have strong opinions about the visibility vs information_type thread?  Or are you happy for sinzui and us to chat it out?20:54
lifelessyou and sinzui should come to consensus20:54
deryckawesome, thanks.20:54
lifelessif you need a tie break, I will be happy to do so.20:54
abentleyderyck: it timed out: https://oops.canonical.com/?oopsid=OOPS-469a5d735141f9e84163c03ce55e9d4d20:56
sinzuideryck, I am satisfied with the discussion. I think your argument are right20:56
abentleyderyck: I tried triggering a new scan.  No results so far.20:56
deryckthanks, sinzui.  I appreciate you weighing in on it and discussing it with me and abentley.20:57
deryckabentley, I can't see the ooops yet due to two-factor auth issues, but I had a branch like that last week.  had to push to a new branch on lp and re-MP.20:59
abentleyderyck: Here is the diff: http://pastebin.ubuntu.com/1213706/21:01
deryckabentley, thanks.21:02
deryckabentley, I'll review this evening unless you're really wanting to get it landing here shortly.21:02
abentleyderyck: That's cool.21:03
deryckabentley, thanks.  I have smoked chicken to order soonish here. ;)21:03
rick_h__wgrant: StevenK ping when you get get in. I left a review about packagesets I didn't feel I knew enough to go over well and respond to his edge case concerns. Can one of you take that please?21:04
rick_h__and with that...time to run!21:04
derycklater on everyone....21:09
czajkowskilater gator21:09
wgrantrick_h__: Sure22:07
=== matsubara is now known as matsubara-afk
rick_h__thanks wgrant23:28

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