/srv/irclogs.ubuntu.com/2010/03/09/#launchpad-dev.txt

* mwhudson lunches00:08
thumperhow to I get emails into the stub mailer without transaction.commit() ?01:27
thumpermwhudson: how do we force a remirror?01:37
thumpermwhudson: lp:~kees/+junk/cpu-checker is fine in the hosted area, but screwed in mirrored01:37
mwhudsonthumper: launchpadlib?01:50
mwhudsonor lock and unlock01:50
mwhudson(i have a dead simple plugin for the latter)01:50
thumpermwhudson: we do pull --overwrite effectively don't we01:50
mwhudsonthumper: yep01:51
mwhudsonand blow it away if we can't open the branch01:51
thumpermwhudson: the blowing it away bit seems to not work02:02
thumperhttps://code.edge.launchpad.net/~kees/+junk/cpu-checker02:02
mwhudsonthumper: argl02:03
mwhudsonthumper: i see; you can open the branch in the mirrored side02:03
mwhudsonthumper: but not, say, run log on it02:04
thumpermwhudson: yeah02:04
thumpermwhudson: or get the ancestry02:04
thumpermwhudson: any idea how that happened?02:04
thumperI don't02:04
thumperlosa: ping02:04
mwhudsonthumper: nope02:05
wgranthttps://code.edge.launchpad.net/~launchpad-pqm/launchpad/devel02:08
wgrantThat says "Updating branch"02:08
wgrantBut I know that the revision was visible on LP 7 minutes ago.02:08
wgrant(visible meaning "in the mirrored copy", I guess)02:09
thumperwgrant: yes02:15
thumper...02:15
thumperarse02:15
thumperENOLOSA02:15
wgrantthumper: That seems an excessive amount of time to scan one new rev. That can't be normal, surely?02:16
thumperwgrant: no it isn't normal02:16
thumperwgrant: there is something wrong02:16
wgrantAh, good.02:16
thumperwgrant: but the system is opaque02:16
thumperjml: see, a job viewer would be really useful here02:17
mwhudsonlaunchpad/devel is up to date now02:20
wgrantmwhudson: Yeah, it took a bit over 10 minutes to scan.02:20
thumperwgrant: scanning is still a serial process for all branches in Launchpad02:25
wgrantthumper: Ah, yes. Ew.02:25
thumperwgrant: FWIW, if the email gets sent, the scanner has finished02:31
thumperwgrant: it could have been replication lag you were seeing02:31
wgrantthumper: The email wasn't sent until at least 10 minutes after it was pulled, so it wasn't repl lag.02:33
thumperwgrant: well, there is a delay after the pull before the scan, and a delay after the scan to send the email02:36
thumperwgrant: shouldn't be 10 minutes though02:36
=== matsubara is now known as matsubara-afk
* wgrant fixes community-contributions.py to work with db-devel.03:10
jmlthumper, I never argued that it was inherently useless.03:27
lifelessjml: morning?03:34
* mwhudson winds up a not particularly productive day03:54
wgrantmwhudson: Looks like that ec2 land evaporated.06:17
wgrantWhich is odd, since I've had 4 EC2 emails come through successfully in the past 24 hours. So maybe your mail config hates me.06:18
wgrantkfogel: https://dev.launchpad.net/Contributions/Draft, produced by lp:~wgrant/launchpad/community-contributions-fixes, now with db-devel support and unbroken post-r9999 sorting.06:31
=== dpm-afk is now known as dpm
adeuringgood morning07:59
wgranthenninge: Morning.08:14
henningeHi wgrant! ;)08:15
wgranthenninge: So, intellectronica landed that first branch that you reviewed this morning after the testfix. Can you please try to land the second one that noodles UI-reviewed?08:16
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/fix-build-breadcrumbs/+merge/20888, that is.08:16
noodles775wgrant: oh, I saw that mwhudson had updated the commit message and assumed he was landing it?08:16
wgrantnoodles775: He tried, but APAC eC2 hates me and just avaporates.08:17
wgrantEuropean landings tend to work fine.08:17
noodles775Ah.08:17
henningewgrant: np, I will do it.08:17
wgrantBut when the NZers try it, the instances almost always disappear :(08:17
wgranthenninge: Thanks.08:18
mwhudsonwgrant: yep, instance gone :/08:19
wgrantmwhudson: Yay.08:19
wgrantnoodles775: Thanks.09:04
noodles775wgrant: np.09:04
mrevellGuten morgen09:11
noodles775Morgan mrevell.09:11
mrevell:)09:12
=== noodles785 is now known as noodles775
deryckMorning, all.11:00
allenapadeuring: I'm having a look at your IPerson/IHasBugs issue.11:11
adeuringallenap: thanks!11:11
deryckgmb, intellectronica -- heat looks like it's finally updating as it should now.11:22
intellectronicaderyck: yes. loganberry was, as you suspected, behind. a re-roll fixed the problem.11:23
deryckgmb, intellectronica -- can you two create a combined file of sql to update heat and max_bug_heat and get that run, to get us updated across the board, now that the jobs system will keep it up to date.11:23
intellectronicai'm not sure we can do that with just sql, can we?11:24
=== daniloff is now known as danilos
gmbintellectronica: We can update bug heat with SQL. max_bug_heat I don't know about.11:24
intellectronicagmb: what do you think? can we do that with sql, or maybe a script that creates heat calculation jobs?11:24
intellectronicagmb: we can calculate it in sql11:25
deryckintellectronica, I think so.  that same queries in the model code for max_bug_heat can be fed into an update.11:25
gmbintellectronica: In that case we should be fine. I'll dig out my bug heat queries.11:25
gmbSQL for updating bug heat is here: http://pastebin.ubuntu.com/391693/11:26
intellectronicagmb: the main problem i see with doing this with just sql is that it will result in queries that take too long to run11:26
gmbintellectronica: Yeah, that's a risk.11:26
gmbOTOH, if we create a CalculateBugHeatJob for each of 500,000+ bugs those jobs will take a long time, too.11:27
intellectronicagmb: i wonder, since you've started working on a script to create jobs, if it wouldn't be easier to use that11:27
deryckintellectronica, like gmb says jobs for every bug is too long, too.11:27
intellectronicaderyck: right, but it doesn't happen in a single transaction11:28
gmbintellectronica: Well, it's not a very finessed script: http://pastebin.ubuntu.com/391695/11:28
deryckintellectronica, hmmm, good point.11:28
intellectronica:)11:28
intellectronicasimple i like11:28
deryckhmmmm, I'm not liking the mass create bug jobs idea either.11:30
intellectronicaderyck: what are we actually trying to solve?11:30
gmbderyck: We could use a looptuner. But that's liable to take a day or so to complete because it's quite conservative.11:30
intellectronicado we want to calculate heat for all bugs, or just get max_heat calculated?11:30
deryckintellectronica, I want both, heat for all bugs and max_bug_heat.  sort of a reset, since the update heat system hasn't been working completely until now.11:39
intellectronicaderyck, gmb: right. i'd say creating jobs (and letting them process over the day or so it might take) is probably the best approach, since it's safe and exercises the code we've already written (rather than emulate it with unrelated sql).11:41
gmbintellectronica: In that case we should try the creation script on staging first to make sure that it doesn't hold the transaction open too long or anythign similarly annoying.11:43
deryckintellectronica, gmb -- yeah, this is my only concern is that create 500,000+ jobs in one fell swoop has issues we don't yet know about.11:44
deryckif we test on staging first, I'm fine to do it that way.11:45
gmbderyck: Actually, an issue that occurs to me is that the processing script might try to do them all at once (it's generic code, so I've never subjected it to any kind of massive load test).11:45
intellectronicalet's try that, and if that doesn't work, batch it by target, or just in batches of bugs11:45
gmbOnce we've created the jobs on staging we should run cronscripts/calculate-bug-heat.py and see what happens.11:46
intellectronicagmb: hmmm ... so maybe it's better to start with batching. create a batch of jobs, process them, repeat...11:46
gmbintellectronica: Possibly. I think that the script will cope with that. The proof of the pudding is in the staging, however. :)11:47
intellectronicaheh11:47
=== matsubara-afk is now known as matsubara
allenapadeuring: I can't figure out why it's not working, but I have a word-around: http://paste.ubuntu.com/391719/12:19
allenapadeuring: I also noticed that the LaunchpadObjectFactory was doing some naughty things - unwrapping security proxies and never re-adding them - so I fixed that. You probably shouldn't apply that part of the patch; I'll file a bug about it.12:21
adeuringallenap: thanks!13:22
allenapadeuring: You're welcome :) Still a mystery though...13:22
adeuringyeah...13:23
allenapadeuring: salgado's solution is more elegant (bool). But that doesn't explain why person.all_bugtasks.limit is forbidden and product.all_bugtasks.limit isn't.13:26
adeuringallenap: right, that's what I was asking me too ;)13:27
allenapadeuring: Fwiw, I filed bug 535021 about the naked object problems in LPO.13:29
mupBug #535021: Some LaunchpadObjectFactory methods remove security proxies then inadvertently return naked objects <Launchpad itself:New> <https://launchpad.net/bugs/535021>13:29
adeuringallenap: great, thanks13:30
adeuringallenap: I'm wondering if that would also explain that the tests for product.has_bugtasks did not fail13:30
adeuringargh... that's about _person_ objects....13:31
allenapadeuring: Yeah, seems likely.13:31
allenapadeuring: If it is the case, could you comment on that bug to say that it has caused confusion already?13:32
adeuringsure13:32
salgadoadeuring, allenap, if it works for Product it's because for that class the return value of all_bugtasks is not security proxied13:33
adeuringsalgado: maybe ... but why?13:33
salgadoI see that Person.searchTasks() returns getUtility(IBugTaskSet).search(search_params, *args), so it is security proxied13:33
salgadonow looking for Product.searchTasks()13:33
salgadoHasBugsBase returns BugTaskSet().search(search_params)13:34
salgadowhich is not security proxied13:34
salgadothat's why13:34
adeuringahhh, thanks!13:34
allenapsalgado: Of course! Somehow I missed that Person implements its own searchTasks().13:35
adeuringso that's what should be fxided13:35
allenapadeuring: Even so, probably still use the bool(result_set) or is_empty() fix too. It's supposedly more efficient than count(), though I don't know by how much.13:37
adeuringallenap: right13:37
=== barry` is now known as barry
thekornmrevell, allenap, hi, I started writing a blog post about my experiences as a launchpad contributor, but I'm not done with it yet, I think I need another 2 days14:06
mrevellthekorn, Hey, thanks for working on that. Whenever you're ready is great.14:06
allenapthekorn: That's brilliant :)14:06
=== beuno is now known as beuno-afk
kfogelwgrant: OMG, that rocks.  I will review today.  Want to make a merge proposal?14:13
intellectronicajtv: i don't think this is a result of any of my branches, and i'm even tempted to just try and force a rebuild14:48
jelmerallenap: You just filed a bug against launchpad itself rather than a particular component, was that intentional?14:48
intellectronicabut will look more closely14:48
jtvintellectronica: noodles775 seems to concur... too late at night for me to look at the details but I agree.14:49
intellectronicanoodles775: so, force a rebuild?14:50
noodles775intellectronica: yeah, I'm just running `bin/test -vvt testLibrarianWorking` at the moment on tip of devel, it's working so far without error.14:50
noodles775yep, it just finished without error. So +1 for force a rebuild :)14:51
jtvintellectronica: you want to press the button?14:52
intellectronicajtv: pressed14:52
jtvthanks!14:52
allenapjelmer: Yes, kind of. A foundations responsibility perhaps, but one which anyone could fix.14:58
jmlallenap, that is that sad tune to which the song of foundations is sung.14:59
allenapjml: :) Is there an easily identifiable subset of foundations bugs that could be tackled by us mortals? Would that simply be bugs tagged trivial?15:00
jmlallenap, good question! /me punts to gary_poster15:01
jelmerallenap: ah, thanks15:02
gary_posterjml, allenap, not really.  I suppose I could start doing that, though, if I knew what the distinction might be.  FWIW, bugs tagged as UI that don't involve CSS bugs are good candidates, but I think you are asking for the opposite way round (how do I tag, rather than how do I find)15:04
allenapgary_poster: I don't really know what I'm thinking of, but it was brought about by bug 535021. It's something I'd be happy to fix, but it doesn't belong on the malone project where deryck or I might see it in the normal course of things, and schedule it. TBH, we're all busy enough that finding new sources of work is probably not going to fly far. Most of the time, work is feature driven rather than looking for bugs to fix.15:10
mupBug #535021: Some LaunchpadObjectFactory methods remove security proxies then inadvertently return naked objects <Launchpad Foundations:New> <https://launchpad.net/bugs/535021>15:11
gary_posterallenap: yeah.  Non-foundations people take "foundations" bugs all the time.  Registry does this in particular.  I think it is fabulous.15:14
allenapgary_poster: Cool. I'll try and join that merry band :) Want any malone bugs? ;)15:15
gary_posterallenap: heh, uh, no. :-)15:16
mramirez might indicate where the configuration is positioned to Logear launchpad with ldap15:22
mramirez might indicate where the configuration is positioned to Logear launchpad with ldap15:25
mramirez* [Chan15:25
=== salgado is now known as salgado-lunch
didrocksjml: I'm not as popular than you, my branch got rejected because of no description :)15:46
didrocksjml: I'm adding some now15:47
adiroibandanilos: do you know when the +translate UI rework will be done?15:54
danilosadiroiban, no, though I'd like to raise priority because I consider it tech-debt and very important for anything we want to do15:54
adiroibanin the Romanian team, we are trying to use Launchpad for our review process15:55
adiroibanand bug 339507 is a real blocker15:56
mupBug #339507: translation page should show old translations <ui> <Launchpad Translations:Triaged> <https://launchpad.net/bugs/339507>15:56
danilosadiroiban, yeah, I understand; as I said, I won't mind you fixing that bug right now in the same manner, and we'll only have to be careful not to break it when we do the pofile:+translate rework15:56
adiroibanwell, there should be a next test for this bug and it should catch this kind of regressions15:57
danilosadiroiban, well, with a thing like entire page/view rewrite, you don't really get the benefit of testing (with pagetests), since we'd be using entirely different views15:58
adiroibanwell, if there will be such a regression15:59
adiroibanI will notice it :_)15:59
allenapjelmer: I understand what you were asking now. I forgot that there were both launchpad and launchpad-foundations projects. Thank you for reassigning that bug.16:00
danilosadiroiban, fwiw, I am having issues with ec2 land (if you are interested why your branch hasn't landed yet)16:17
adiroibandanilos: ok. are they general issues, or directly caused by my branch?16:18
henningedanilos, adiroiban: It took me a few attempts, too.16:22
danilosadiroiban, general issues it seems16:23
henningedanilos: have you done the sudo apt-get install python-zope.inferface thing?16:23
daniloshenninge, does it appear to you as if it doesn't go headless for me16:23
daniloshenninge, I think I did, I successfully ran a bunch of tests and ec2 test16:23
henningeI had prlbmes landing branches, wgrant's lately.16:24
daniloshenninge, fwiw, there are some lp-dev-deps updates that I haven't installed, let me try that (though, I've had problems for more than a day now)16:24
leonardrintellectronica, i'd like your opinion on bug 53406616:28
mupBug #534066: changing bugtask attributes via api gives "412 precondition failed" <api> <Launchpad Bugs:Triaged by james-w> <https://launchpad.net/bugs/534066>16:28
intellectronicaleonardr: sure, looking16:28
intellectronicaleonardr: that bug itself has a fix, and will be deployed soon, once it hits production-devel. but i agree this is a general problem we need a solution for16:30
leonardrintellectronica: what's the fix, and can you tell me some other places where the problem exists?16:30
intellectronicaleonardr: so yes, task_age will be removed (it was removed already a month ago and only made a comeback because of a freak accident). but sooner or later we'll have a field which we can't remove and cause a similar problem16:31
leonardrare there any such fields now? if not, i'm going to focus on other sources of 412 errors16:31
leonardralso, my argument applies to any field that's important enough to go into the representation but not important enough to change the etag when it changes16:32
leonardryou'll have no way of knowing whether your value for that field is accurate16:32
intellectronicaleonardr: none i can think of off the top of my head, but even task_age itself, while cheap to remove now, was introduced because a consumer wanted it.16:33
intellectronicaleonardr: well, it depends whether the field is writeable. i don't see why it's such a big problem to have read-only fields that are in the representation but aren't used for etag calculation.16:33
daniloshenninge, fwiw, updating all source deps made 'ec2 land' go headless for me16:34
leonardrif the values of those fields never change, it's fine16:34
leonardrlike date_created16:34
daniloshenninge, s/source deps/lp deps/16:34
leonardrif they change and the etag doesn't change, the client never finds out that the value changed16:34
henningedanilos: yes, I basically had to do the same.16:34
intellectronicaleonardr: anyway, that's just something to keep in mind. i agree with you that it's best now to figure out all the other 412 errors and worry about adding this facility later.16:34
danilosanyway, done for the day16:34
=== danilos is now known as daniloff
intellectronicaleonardr: right, but in the case of task_age this is something we could live with16:35
=== matsubara is now known as matsubara-lunch
intellectronicaanyway, i didn't even think this through enough to have an opinion16:36
leonardrintellectronica: for me "we could live with this data being arbitrarily out-of-date" -> "we don't need this data"16:36
leonardri have the first glimpses of a couple solutions, i'll write them up in the bug16:36
intellectronicaleonardr: that's not exactly true, but judging by this case that's an approximation of the truth. consumers can get this value by calculating locally.16:37
leonardrintellectronica: without putting you on the spot, can you give me a hypothetical counterexample?16:37
intellectronicaleonardr: i can think of many read-only attributes where a change in their value is completely irrelevant to a patch you're submitting to the object, and where the only reason they don't usually cause a problem is that they don't tend to change as frequently as every second. consider the number of affected users for a bug, for example.16:41
intellectronicaor bug heat16:41
intellectronicathe likelihood of the values changing between a fetch and a patch operation is evidently not as high, but if it does, you won't be able to patch even though there's no real reason for you not to be able to, it's just a side effect of the way caching works16:42
leonardrintellectronica: the problem is, if we changed it so those fields didn't affect the etag, clients would never know when the bug heat or affected users changed16:43
leonardror rather, they would only find out when something _else_ changed16:43
leonardrit would be really nice if we could publish two etags, a GET etag and a PATCH etag16:44
intellectronicaleonardr: right, so maybe the problem isn't really how we do caching, but how we decide whether a patch is valid. we just don't have enough information because we don't know which fields changed.16:44
intellectronicaleonardr: you mean a read-only and a read/write tag? that sounds like a pretty good solution.16:45
intellectronicais there a sensible way to publish this in as part of the protocol?16:45
leonardri've never heard of anyone doing that, and it's not part of the http standard16:45
intellectronicabut maybe as an extra header?16:47
intellectronicathis must be a problem many REST implementations must have16:47
leonardri may write a blog post about this and see if anyone has ideas16:47
leonardrintellectronica: another way to do it is to check last-modified for PATCH and etag for GET16:49
leonardrbut we'd have to make sure that changes to those read-only fields don't affect last-modified16:50
intellectronicaleonardr: for last-modified you need to be synchronised with the server time somehow, but i guess that's not a serious problem16:50
leonardrintellectronica: not really, last-modified is just a string you get from the server and send back, like etag16:50
intellectronicaheh, yeah, makes sense16:50
james_wleonardr: did you see the mailing list discussion about this?16:51
leonardrjames_w: i know there was one a while back, i haven't gotten into it yet16:51
james_wa while back being last week?16:52
leonardryeah16:52
james_wright16:52
=== salgado-lunch is now known as salgado
james_wI would suggest you start there, it has some discussion on the questions you ask in the bug16:54
leonardrjames_w: ok, i'm going there now16:55
=== matsubara-lunch is now known as matsubara
=== gary_poster is now known as gary-lunch
jmlthumper, ping18:54
=== gary-lunch is now known as gary_poster
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/fix-build-breadcrumbs/+merge/20888 and https://code.edge.launchpad.net/~wgrant/launchpad/buildstatus-to-buildmaster/+merge/20892 failed a couple of tests last night, but I've fixed them -- can somebody ec2land them, please?21:05
=== beuno-afk is now known as beuno
wgrantkfogel: Do you want to review the c-c.py branch?21:32
=== matsubara is now known as matsubara-afk
kfogelwgrant: yes.  Can you just make it into a merge proposal and request a review from me?  (I can't do it right now, but I will later.)21:38
wgrantkfogel: Done, thanks. You should have mail in a few seconds.21:38
kfogelwgrant: I hate the way launchpad doesn't update the diff immediately, sigh :-).21:39
intellectronicakfogel: is there a better way to not update the diff immediately? :)22:23
mwhudsonbizarre, pidgin seems to have got all crashy suddenly?23:31
NCommanderIs anyone actively working on implementing package sets (for archive reorg) in launchpad?23:59

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