/srv/irclogs.ubuntu.com/2012/03/26/#launchpad-dev.txt

wgrantStevenK: Indeed. I wonder if the removeSecurityProxy is really required, then.00:00
StevenKwgrant: I think without it you get Unauthorized00:04
wgrantStevenK: I'd like that rechecked -- if it's the case, please try to work out why.00:05
wgrantThat shouldn't be happening.00:05
StevenKwgrant: http://pastebin.ubuntu.com/899838/00:06
wgrantStevenK: I speak of lib/lp/bugs/tests/test_bug_mirror_access_triggers.py00:07
wgrantStevenK: There was no removeSecurityProxy, now there is.00:07
StevenKwgrant: Right. I think the rSP() is just so we don't have to make sure we have lp.Edit on the bug by faffing around with with {person,celebrity}_logged_in.00:08
wgrantStevenK: Try removing it.00:08
wgrantFrom that test.00:09
wgrantSince it wasn't there before.00:09
StevenKwgrant: Hmmm, right, so, I'm wrong.00:10
StevenKwgrant: I guess I added the rSP thinking I was avoiding failures.00:10
lifelessis there a test helper to run a job ?00:19
StevenK"Personal receieved 10590 new messages."00:22
* StevenK stabs the messaging indicator for lying.00:23
StevenKMachine id 525? When did that happen?00:24
StevenKwgrant: You can kill AMI in 52200:24
wgrantStevenK: Is gone.00:33
StevenKNow to pester bac00:34
lifelesshmm02:14
lifelesswhat deletes executed jobs?02:14
StevenKlifeless: So why are you looking at the job system when abentley is rewriting it?02:14
lifelessI'm not02:15
lifelessI'm making sure what I write works with the stuff in play today02:15
lifelessStevenK: also, AIUI the job specific stuff in LP is staying there, so the new system will be DB backed. There may be little changes on that stuff.02:16
mwhudsonwhy might launchpad-dependencies not be installable on oneiric currently?02:23
StevenKpostgres 9.1 at a guess02:25
StevenKI've not investigated yet02:25
wgrantWhat does apt say?02:26
nigelbMornin.02:26
mwhudsoni think it might be pg 9.1 too02:28
* mwhudson tries to remember how to drive apt02:28
mwhudsonapt-get upgrade keeps things back if installing them is only possible by removing packages?02:28
lifelessand the answer is, nothing02:29
lifelesswe have 1.7M jobs in our history02:29
lifeless350K answers jobs created and not pruned02:30
wgrantmwhudson: That's the main cause, yes.02:30
wgrantmwhudson: Try explicitly installing.02:30
wgrantlifeless: Time: 0.72 seconds02:30
mwhudsonThe following packages will be REMOVED:02:30
mwhudson  postgresql-8.4-slony1 slony1-bin02:30
wgrantlifeless: For a launchpad/+sharing batch on prod.02:30
lifelesswgrant: congrats02:30
wgrantSo we can do sub-second.02:30
wgrantJust.02:30
nigelbHas +sharing landed? behind a pref?02:31
wgrantnigelb: We'll hopefully enable it for beta testers early this week.02:32
wgrantIt's only on for ~launchpad on prod so far.02:32
nigelbAww, ok02:32
nigelbI wish I could see on qastaging02:32
wgrantEveryone can see it on qastaging, but only if you're a driver/owner of a project with something shared.02:32
StevenKWe can probably fiddle it on qas for a bit so nigelb can have a look.02:33
wgrantIt's been on for everyone on qas for weeks :)02:33
nigelbOh cool.02:33
nigelbI'm seeing it.02:33
mwhudsonoh02:34
mwhudsonhttps://code.djangoproject.com/ticket/1706202:34
mwhudsonno02:34
mwhudsonThe following NEW packages will be installed:02:34
mwhudson  launchpad-database-dependencies-8.4 postgresql-8.4-slony1-2 slony1-2-bin02:34
mwhudsonso this is a package name change, basically?02:34
StevenKmwhudson: Yup02:35
wgrantmwhudson: New version of slony.02:35
nigelbThis is cool. Except hrm, probably slightly confusing.02:35
wgrantAnd the pg version added to the package name.02:35
wgrantnigelb: Oh?02:35
mwhudsoncool02:35
* mwhudson hits Y02:35
nigelbwgrant: Even after reading the help text, it "feels" complicated. Maybe if we have enough explanation when we launch, it should be good.02:36
wgrantnigelb: The UI is RO on production at the moment, and will be for at least a few weeks.02:37
wgrantIt'll hopefully become clearer as we rework that UI and integrate the new terminology throughout the site.02:37
nigelbwgrant: Oh, that's cool then.02:38
StevenKnigelb: Just wait until I change the bug UI02:38
lifelessand thus bug 96493502:40
_mup_Bug #964935: answerpersontransfer/etc jobs are accumulating without bound <jobs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/964935 >02:40
nigelbStevenK: woah.02:41
StevenKBut that's like two weeks away. I'm dealing with the model and surrounding changes.02:42
* nigelb looks forward to the changes.02:54
StevenKlifeless: O HAI04:32
* nigelb pins bigjools to IRC.04:35
nigelbSTICK!04:35
* StevenK hands nigelb a staple gun.04:36
bigjoolsI disappear once for 10 mins and you want to pin me?04:37
bigjoolsgood lord!04:37
StevenKbigjools: Obviously, nigelb missed you a lot.04:38
nigelbheh04:38
wgrantStevenK, wallyworld_: https://code.launchpad.net/~wgrant/launchpad/bug-962912/+merge/99252 (fixes the duplicate query on +sharing)04:43
StevenKwgrant: Why are you removing lib/lp/services/database/tests/test_decoratedresultset.py ?04:45
wgrant"    Drop test_decoratedresultset. It's just a wrapper around a doctest that's already run by test_doc.04:45
wgrant"04:45
wallyworld_wgrant: great. i'd also update the accesspolicy tests to decrement the query count by one04:45
bigjoolsI feel loved04:45
wallyworld_bigjools: fuck off04:45
wgrantwallyworld_: This is why I generally use Equals for my query count tests.04:46
bigjoolsI knew I could count on wallyworld_04:46
wgrantwallyworld_: Otherwise someone else will halve the page's query count, and then the other optimisations can regress without anyone noticing :/04:46
wallyworld_wgrant: doesn't work here. the product view uses one or 2 more queries04:46
wallyworld_so less than is better04:46
wgrantAh, probably the session thing.04:46
wallyworld_the commercial subscription thing04:47
wgrantThe first request in a new process will issue an extra query to get the session secret.04:47
wgrantAh04:47
wgrantThat suggests you're not invalidating caches properly.04:47
* StevenK stabs buildbot again.04:47
wgrantBut anyway.04:47
wallyworld_wgrant: no, the product view does indeed use one more query04:47
wallyworld_i use a helper method for both cases04:47
wgrantOh, right.04:48
wallyworld_i guess i could have passed in the expected count04:48
wallyworld_but i like lessthan because it's more robust04:48
wallyworld_but does need updating if we reduce the query count, that's true04:49
wgrantwallyworld_: I wonder if we should inhibit the rough_length EXPLAIN, since we're not showing total size in the UI at all.04:56
wgrantDid you look at that?04:56
wgrantAlso, can one of you please approve my MP? :)04:57
StevenKI thought wallyworld_ was reviewing.04:58
wallyworld_StevenK: i will but have to pick up the kid from school first04:58
StevenKWhee, memcache._ConnectionDeadError on ec2 too04:59
wgrantStevenK: Yeah, saw that twice last week.05:00
wgrantSee my email to launchpad-dev.05:00
wgrantI might revert the python-memcached upgrade.05:00
wgrantI'm actually not sure if that alone is enough to fail buildbot.05:00
wgrantI believe it is for ec2, but I don't think I've ever seen buildbot fail just on that.05:01
wgrantSo it's possible it's happening more often than we see.05:01
StevenKwgrant: See the last db-devel failure -- it looked like just it failing.05:01
wgrantStevenK: There was a rabbitmq failure up the top IIRC05:02
wgrantYeah05:02
wgrant  File "/srv/buildbot/slaves/launchpad/lucid-db-devel/build/orig_sourcecode/eggs/rabbitfixture-0.3.2-py2.6.egg/rabbitfixture/server.py", line 260, in check_running05:02
wgrant    raise Exception("RabbitMQ server is not running.")05:02
wgrantException: RabbitMQ server is not running.05:02
StevenKAh05:03
StevenKBah, testr needs a way to pass options to the test command it runs.05:31
=== almaisan-away is now known as al-maisan
wallyworld_wgrant: the doctest change doesn't really appear to test bot result sets, or?05:39
wgranteparse05:41
wgrantwallyworld_: ^^05:41
StevenKI think he means 'both'05:41
wallyworld_wgrant: the doc test have been changed but it doesn't appear to test any of the next stuff05:41
wgrantwallyworld_: The doctest tests DecoratedResultSet05:42
wgrantNot StormRangeFactory.05:42
wallyworld_sure, but we are changing rs.config and the doctest invokes that05:43
wallyworld_so it should be tested05:43
wallyworld_in the doc test05:43
wgrantConfused05:43
wgrantWhat's not tested?05:43
wallyworld_calling config with return_both = true causes both rs to be returned05:43
wgrantAnd return_both = False is the default.05:44
wgrantSo it's tested throughout the rest of the file.05:44
wgrantIt seems not particularly valuable to test that explicitly, but I guess I could.;05:44
wallyworld_but the doc test explicitly makes a config call with return_both=true and then doesn't test anything related to that05:45
wallyworld_it tests the same thing as if return_both = false05:45
wgrantHuh?05:45
wallyworld_so it's not really testing the new expected behaviour05:45
wgrantLook at the results of the iteration.05:45
wgrantIt's returning both.05:45
wgrant(.config doesn't copy -- it changes in place and returns self)05:46
wallyworld_ah, right, i think i get it. it's hard to tell from a few lines of diff05:46
wgrantIndeed. You can see what the decorated output is like in the context at the top of that hunk.05:47
wgrantThe decorator returns "Dist name is: %s" % result.name.05:47
wallyworld_right. clear now.05:48
wgrantwallyworld_: Thanks.05:51
wallyworld_np. sorry for confusion05:51
wgrantnp05:51
wallyworld_wonder how much benefit it will have05:52
wgrant600ms for Ubuntu05:52
wgrant20ms for everyone else.05:52
wallyworld_what was the time for ubuntu before mod?05:52
wgrant1.2s05:52
wgrantMaybe 1.3s05:52
wallyworld_we it's now 1/205:52
wgrantIt's roughly halving it, anyway.05:52
wallyworld_yeah, cool05:53
wallyworld_might make it to qas before tomorrow if bb plays nice05:53
StevenKbb is currently running05:53
wallyworld_for how long before erroneous error05:53
StevenKDo not say that.05:54
wgrantDoes anybody have a good reason for me to not revert the python-memcached upgrade?05:55
StevenKwgrant: Doeet05:56
StevenK(As in, do the revert.)05:56
lifelessStevenK: hi05:58
lifelesswallyworld_: you can use Or(Equals(1), Equals(2))05:59
lifelesswallyworld_: or you could write a simple Between(1,2)05:59
lifelesswgrant: ^06:00
wallyworld_lifeless: ECONTEXT06:00
lifelesswallyworld_: LessThan vs Equals06:00
lifelesswallyworld_: you're not limited to simple comparators06:00
StevenKlifeless: Can you set launchpad-security as the bug supervisor and security contact on the auditor project?06:00
lifelesssure. you can't ?06:00
wallyworld_lifeless: handy. good to know06:00
lifelessStevenK: also have set the answers option to lp06:01
wallyworld_lifeless: pretty happy to write a test with query count < 6 where some of those are updating session data etc06:01
StevenKlifeless: I can not, no, since I'm not an admin of -security.06:01
wgrantwallyworld_: That's only because the caches are not invalidated.06:02
wgrantwallyworld_: AFAICS06:02
lifelesswallyworld_: I've no objection, I was merely noting an oversight in your 'cannot use Equals' conversation06:02
wallyworld_sure, np06:02
wallyworld_lifeless: so you had a car accident yet with the new road rules?06:02
lifelessnope06:03
wallyworld_i bet a few people do though06:03
lifelessperhaps06:03
lifelessshould have less in the long run or thats the theory06:03
wallyworld_well, it's only tourists i guess who would have been caught out06:05
wgrant"""Backport of Python 2.6 logging handlers.06:05
wgrantHmmm06:05
wgrantI wonder if that can be dropped now.06:05
lifelessStevenK: (thats done)06:07
StevenKlifeless: Thanks.06:07
=== al-maisan is now known as almaisan-away
adeuringgood morning07:58
=== almaisan-away is now known as al-maisan
jmlhello08:55
jmlI updated my MP over the weekend: https://code.launchpad.net/~jml/lazr.restfulclient/multiple-instance-safe/+merge/9887308:56
jmlwgrant: IIRC, it can.08:57
=== jam1 is now known as jam
wgrantjml: It's in EC2 now, so we'll see.09:04
jmlloggerhead :(09:24
wgrantjml: What about it?09:38
jmlit was 503ing before09:38
wgrantjml: crowberry's Apache has been collapsing a bit the last couple of hours.09:38
wgrantloggerhead is not the problem here, for once.09:38
jmlhurrah09:43
wgrantFSVO09:43
=== jam3 is now known as jam
=== al-maisan is now known as almaisan-away
=== mabac_ is now known as mabac
=== almaisan-away is now known as al-maisan
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: benji | Firefighting: - | Critical bugtasks: 4*10
wgrantjelmer: Heh, thanks, was about to do that myself.12:27
wgrantIt's caused us some problems before.12:27
jelmerwgrant: :)12:29
jelmerwgrant: the buildbot plugin for bzr is also using a few API calls that cause unnecessary traffic12:29
jelmer(and slowness)12:29
wgrantjelmer: See carob:~wgrant/shadowrobot for logs12:29
jelmerthanks12:30
deryckMorning, all.13:02
adeuringabentley: could you have a look at this MP: https://code.launchpad.net/~adeuring/lazr.jobrunner/early-reference-to-job.fail-test/+merge/99312 ?13:10
abentleyadeuring: sure.13:11
adeuringthanks13:11
abentleyadeuring: r=me.13:17
adeuringabentley: thanks13:17
=== rick_h_ is now known as rick_h
dobeyhey all; getting https://lp-oops.canonical.com/?oopsid=ae5111a6e4ae33b1e2c60a6dc72164e7 when trying to search for a person/team in the bug assignee dialog14:03
sinzuiwallyworld_, go to sleep14:08
jcsackettsinzui: wallyworld_ never sleeps.14:11
czajkowskineither does lifeless wgrant or sinzui or StevenK14:11
czajkowski:)14:11
jcsackettczajkowski: putting aside lifeless, that's everyone else on my team.14:11
jcsacketti'm the only one that sleeps...no wonder i question if our team has a full ration of sanity. :-P14:12
czajkowskihah14:12
sinzuijcsackett, I can lp-land branches for people; they do not need to stay up waiting for the review14:13
sinzuibenji, do you have time to review https://code.launchpad.net/~sinzui/launchpad/front-page-layout/+merge/99121 ? It has pictures14:16
jcsackettsinzui: I concur; certainly there's no need for wallyworld_ to stay up. But he always seems to. :-P14:16
benjisinzui: well, if it has pictures how can I refuse?14:16
wallyworld_sinzui: can you have a quick look at something for me14:17
wallyworld_lp:sharing-picker-title-95941714:17
sinzuiwallyworld_, yes14:18
wallyworld_in _display_step_two(data) the click callback refuses to use the latest value of data passed to the function14:18
wallyworld_so there's a scoping issue i can't quite solve14:19
sinzuioh dear14:19
wallyworld_it always uses the value passed in when the function is first invoked14:19
* sinzui nods14:19
wallyworld_it's for bug 96519714:19
_mup_Bug #965197: sharee picker always uses first selected person <disclosure> <ui> <Launchpad itself:In Progress by wallyworld> < https://launchpad.net/bugs/965197 >14:19
wallyworld_the click callback is the delegated one for .next14:20
wallyworld_thanks in advance14:20
* wallyworld_ off to bed14:21
* wallyworld_ doesn't like javascript today14:21
sinzuiczajkowski, the the notes on the whiteboard were generated by Lp when the user set and OTHER license. The i don't know are a problem because they are not open source. We would disable them after 6 months if there was an automated way to do it14:24
sinzuiczajkowski, some of the messages you are seeing shows that the user was trying other opensource, then read the rules in the email and selected a different type of license14:25
sinzuiczajkowski, so no human left a not on the board...we leave out names.14:26
czajkowskisinzui: ahh right re the mail I sent14:26
czajkowskisinzui: well assumed it's you as you do a lot of the liceince reviews.14:26
sinzuiczajkowski, When you see such a note and a proper license, the user understood the instruction in the email and fixed the license14:26
sinzuiI only review other/open source and proprietary14:27
czajkowskiok14:27
czajkowskicheers14:27
sinzuimost I don't knows will fail on their own. they are not worth anyone's time to fix the license. We only care about them also being used for spam14:28
benjiok, sinzui: I've looked at the pretty pictures.14:28
sinzuithank you benji14:30
benjiany time14:30
=== al-maisan is now known as almaisan-away
salgadobenji, hi there.  if you have some time today, I could do with a review on https://code.launchpad.net/~linaro-infrastructure/launchpad/team-engineering-view/+merge/99342 :)15:00
benjisalgado: sure15:00
rick_hderyck: got a sec to do a quick pre-impl?15:08
deryckrick_h, on call now, ping when free15:10
rick_hderyck: k15:10
=== matsubara is now known as matsubara-lunch
abentleyadeuring: I've pushed the updates to download-cache.  Sorry for the delay.15:35
deryckrick_h, I can chat now.  let me start a hang out.15:42
deryckrick_h, https://plus.google.com/hangouts/extras/talk.google.com/go-for-deryck15:43
czajkowskideryck: love the url!15:48
deryckczajkowski, :)16:03
czajkowskideryck: thanks for covering tomorrow as well16:03
deryckczajkowski, yeah, no problem at all.16:05
=== deryck is now known as deryck[lunch]
cr3hi folks, how can I request that a project (and all its bugs) become private?16:27
czajkowskicr3: what is the project?16:31
cr3czajkowski: hw-labs16:32
czajkowskicr3: made bugs private16:33
czajkowskias for making the project private hmm16:33
czajkowskisinzui: is it possible to make the project private I dont seem to be able to do that, or is making the bugs private enough16:34
cr3czajkowski: yeah, we noticed that checkbox after asking the question but we'll see if the project as a whole could also be marked as private16:35
=== matsubara-lunch is now known as matsubara
czajkowskiI suspect it's something webops will have to do16:35
sinzuiczajkowski, there is no such thing as a private project16:39
czajkowskihmm16:39
czajkowskicr3: ^^16:40
sinzuicr3, as the maintainer of a project with a commercial subscription, you can configure the bug tracker to have private-by-default bugs. all new bugs will be private16:40
sinzuicr3, I can give /checkbox a commercial subscription, then you can enable private bugs16:42
cr3sinzui: this is for the /hw-labs project though, not /checkbox. however, we'd like the project as a whole private if possible16:43
sinzuicr3, as I said, no such thing16:44
sinzuiI have been working the private projects for 22 months. and we are still 6 months away from saying a project can be private16:45
cr3sinzui: ah, misssed that part. thanks!16:45
cr3czajkowski: I guess we're all good with private bugs then, thanks!16:45
sinzuicr3, the project already has a commercial subscription...the maintain can enable private bugs16:46
cr3sinzui: yeah, czajkowski helped with that. I was under the impression that the project as a whole could be private though, all clear now.16:46
sinzuiokay16:46
czajkowskisinzui: cheers16:47
=== salgado is now known as salgado-lunch
=== deryck[lunch] is now known as deryck
abentleyderyck: Would you like to review a very short lazr.jobrunner branch? https://code.launchpad.net/~abentley/lazr.jobrunner/fix-celeryd-tests/+merge/9937817:18
deryckabentley, sure.17:19
deryckabentley, easy peasy that one. :) r=me.17:21
abentleyderyck: Thanks.17:21
derycknp!17:21
=== salgado-lunch is now known as salgado
salgadobenji, would you be able to land that branch for me?  I think I remember last time your VM was not setup to run ec2-land or something so I thought I'd check17:40
benjisalgado: sure (I've gotten it straightened out since then)17:41
salgadooh, cool. thanks!17:41
=== almaisan-away is now known as al-maisan
adeuringabentley: thanks (no problem with the delay)17:50
abentleyadeuring: I've also landed a fix for those test failures.17:50
adeuringabentley: cool17:50
=== al-maisan is now known as almaisan-away
lifelesssalgado: hi18:08
salgadohi lifeless18:08
lifelesssalgado: I've just commented on your MP, I thought I'd ping you here to make sure you understand the comment ;)18:08
lifelessbenji: you may want to see that comment too - its a mis-pattern to watch for with storm use18:09
* benji looks.18:10
lifelessthis is the culprit I'm referring to:18:10
lifeless+        results = store.using(*origin).find(18:10
lifeless+            (WorkItem, Milestone, Specification, Person, Product,18:10
lifeless+             Distribution),18:10
lifelessa milestone with 10 workitems, each with different assignees, and the spec with an 11th assignee, will return 20 rows18:11
lifelessand you'd parse and update storm metadata for the same distro or product 20 times, for the spec assignee 10 times, for the spec 20 times, for the milestone 20 times, for the workitem twice per workitem.18:12
lifelessif the workitems had the same person a lot, which is much more common, the redundant work level will increase18:13
lifelessbenji: salgado: do you see why this happens?18:16
benjilifeless: yep; it's not pretty18:17
benjisalgado: I'm going to kill the landing, if you don't object18:18
salgadolifeless, I don't understand why in that scenario it'd return 20 rows18:19
lifelessbecause of the coalesce on person18:19
lifelesssalgado: even without that its still an exmaple of the anti pattenr18:19
lifelesssalgado: DecoratedResultSet is designed for this - the pre_iter_hook can bulk load all the related objects, at one query per *type*, the collection is still slicable and still looks like it returns just Workitems, or whatever.18:20
lifelesssalgado: the issue is that sql flattens a graph to a table, which leads to redundancy, the more types you include in the result, the higher the waste18:20
lifelessif it was nearly free to parse and assemble storm objects, it wouldn't matter, but its not.18:21
salgadolifeless, ok, I can use a pre_iter_hook, but I'm curious as to how the coalesce on person does that?18:22
lifelessthe coalesce increases, its not the only cause18:25
lifelessit says 'make a row for person where milestone.foo or spec.foo'18:25
lifelessbah workitem18:25
salgadoI understood it's not the only cause18:26
lifelessif the workitem person and the spec person are different, you'll get two rows, one with the workitem person and one with the spec person18:26
lifelessall the other fields will be identical18:26
lifelessbrb18:26
lifelessactually, I'm wrong about the coalesce18:27
lifelessthe rest I'm right on :)18:27
lifelessthje coalesce will pick just one. Fuzzy morning thinking.18:27
salgadook, I understand what the issue is with storm, but the coalesce didn't make sense so I thought I was missing something18:27
lifelessyeah, you're spot on :)18:28
lifelessI was nutty there18:28
lifelessbenji: so yes, stopping the landing would be good; or salgado could do a follow up branch - I'm happy either way.18:39
salgadojust kill it and I'll fix it on this same branch18:39
benji'E's expired and gone to meet 'is maker!18:40
abentleyderyck: The cross-format stacked branches bug #828409 won't be fixed until the RT has been performed.19:09
_mup_Bug #828409: cross-format stacked branches can't be accessed <branch-stacking> <codehosting> <Launchpad itself:In Progress by abentley> < https://launchpad.net/bugs/828409 >19:10
abentleyderyck: We're not fixing the bug by changing code, we're fixing it by ensuring there are no cross-format stacked branches.19:10
lifelessflacoste: I can talk anytime that suites19:19
lifelesss/e//19:19
rick_h98475819:27
deryckabentley, ok, cool.  So I'll move the card all the way to done done for us.  since we're done coding....19:29
deryckabentley, and do you mind commenting that the bug will be fixed with RT #XXX in the bug itself?19:29
abentleyderyck: sure.19:30
deryckabentley, thanks!19:31
lifelessflacoste: inviting you back in19:39
lifelessflacoste: modem crashed AFAICT19:39
=== jml_ is now known as jml
pooliehi all20:24
salgadolifeless, does http://paste.ubuntu.com/901105/ look ok to you?20:25
salgadohi poolie!20:25
lifelessmorning poolie20:27
lifelesssalgado: nice20:28
lifelesssalgado: I think you can change your origin list now20:28
lifelesssalgado: as you're not constraining by Person etc20:28
lifelesssalgado: IMBW20:28
salgadolifeless, I am: Person.id.is_in(self.participant_ids)20:28
lifelesssalgado: uhm, where is that MP again, so I can get more context?20:29
salgadoI can get rid of Product/Distribution from there, though20:29
salgadolifeless, https://code.launchpad.net/~linaro-infrastructure/launchpad/team-engineering-view/+merge/9934220:29
salgadonow my origin joins only Specification, Person and Milestone20:30
lifelesssalgado: this is in getAssignedSpecificationWorkItemsDueBefore ?20:30
salgadoyes20:30
lifelessyeah, you don't need Person :)20:31
lifelessOr(WorkItem.assignee_id.is_in(self.participant_ids), Specification.assigneeID.is_in(self.participant_ids))20:32
lifelesswould be an exact translation20:32
salgadooh, indeed20:32
lifelessit may be that you want just WorkItem.assignee_id.is_in(self.participant_ids) though20:33
salgadono, that's not what I want20:33
lifeless[I wouldn't know :P]20:35
lifelessso, milestone workitem and specification are the tables you need20:36
salgadoyep, and those are all I have in origin now :)20:37
lifelesscool20:37
lifelessyou can inner join to workitem20:37
lifelessbecause you are returning the workitems, a NULL workitem won't be useful for you20:37
salgadolifeless, how can that return a NULL workitem, though, if that's the only thing I'm selecting on?20:43
lifelessyou're selecting on milestone & workitem|spec person20:43
lifelessah, I may have misread, one sec20:44
lifelessyou have workitem join spec, coalesce join milestone20:45
lifelessso its all inner20:45
lifelesscool, ignore me :)20:45
* lifeless puts that on hotkey20:45
salgadohaha20:46
lifelessStevenK: have you added any more types to enterpriseid ?21:26
=== benji changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Firefighting: - | Critical bugtasks: 4*10
StevenKlifeless: Not yet.22:01
lifelesscool22:02
sinzuijcsackett, mumble?22:03
jcsackettsinzui: having a little trouble getting it to launch.22:03
jcsackettbe there in a moment.22:03
wgrantlifeless: Except that fixtures.TempDir doesn't support that.22:20
wgrant(it probably should, but I wanted this code to go away first)22:20
lifelesswgrant: it does22:20
lifelesswgrant: rootdir=...22:20
wgrantNot in LP's version.22:21
wgrantMaybe we're out of date.22:21
=== matsubara is now known as matsubara-afk
wgrantlifeless: Hah22:22
wgrantlifeless: Support was added 3 revisions after our current version.22:22
* wgrant upgrades.22:22
wallyworld_sinzui: is there a bug already for the existing sharee / picker issue?22:42
sinzuiwallyworld_, no, I was thinking to co-opting/editing  https://bugs.launchpad.net/launchpad/+bug/93382822:43
_mup_Bug #933828: Cannot change what is shared with a user <disclosure> <javascript> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/933828 >22:43
wallyworld_sinzui: yes, that bug is already fixed as written. so i will change the description22:44
sinzuifab22:44
salgadolifeless, hey, would mind having another look at https://code.launchpad.net/~linaro-infrastructure/launchpad/team-engineering-view/+merge/99342 to see if it the changes I did address the concerns you have?  both methods there are now using pre_iter_hook to do eager loading22:51
lifelesssure, una momento22:54
lifelesssalgado: so search_bugs isn't really meant to be the consumer interface - BugTaskSet.search still is23:03
lifelesssalgado: if you can use that, that might be better23:04
wgrantsearch_bugs is forbidden.23:04
lifelesswgrant: you should make that clearer then23:04
salgadohmm.  BugTaskSet.search() already returns me a decoratedresultset with a pre_iter_hook to eager load some stuff.  can I wrap that in another decoratedresultset with another pre_iter_hook?23:05
lifelesswell you're listifying the result already23:06
lifelessso you can just bulk load in your function23:06
lifelessno need for DRS stuff there23:07
salgadoindeed, but then when somebody changes BugTaskSet.search() to not do eager loading (or to eager load more stuff than it currently does), my method will either not work as expected (i.e. no eager loading of everything it should) or issue more queries than necessary because some of them were already executed by BTS.search()23:08
lifelesssalgado: equally when someone changes the schema your eager loader would need to change23:09
lifelesssalgado: I don't see 'changes need things changed with them' as a particular problem :)23:10
salgadothat's not my point but whatever23:14
=== salgado is now known as salgado-afk

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