/srv/irclogs.ubuntu.com/2011/04/27/#launchpad-dev.txt

wallyworldyep. sorry, bit slow on the uptake there. brain took a minute to context switch00:00
sinzuiwgrant: mumble?00:03
lifelessanyone know if https://bugs.launchpad.net/launchpad/+bug/2810 is actually fixed now ?00:10
_mup_Bug #2810: buildd <-> buildmaster protocol is undocumented <lp-soyuz> <soyuz-build> <Launchpad itself:Triaged> < https://launchpad.net/bugs/2810 >00:10
LPCIBotProject windmill build #220: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/220/00:16
jelmerlifeless: that's a low bug number :) There wasn't anything like that when I was in the Soyuz team, if that's a useful data point.00:22
lifelessjelmer: thanks00:23
lifelesspoolie: morning! you might like to do bug https://bugs.launchpad.net/launchpad/+bug/83928 yourself, given you know the ropes :)00:26
_mup_Bug #83928: register launchpad url scheme <lp-code> <Launchpad itself:Triaged> < https://launchpad.net/bugs/83928 >00:26
pooliehi lifeless00:26
poolieis it urgent?00:26
poolieoh, are you just reassigning tim's things?00:27
sinzuiwallyworld: I am back00:27
wallyworldsinzui: ok00:27
lifelesspoolie: I'm nuking the use of wishlist in the lp bugs db00:27
pooliebenji: thanks for the mail refactoring review00:27
benjimy pleasure00:27
pooliegood00:30
wgrantNCommander: It will be implemented soon as part of the Derived Distros work.00:31
NCommanderwgrant: handy, I was looking at LP and seems a far chunk was implemented since the last time I looked00:31
wgrantYeah, some progress has been made.00:32
lifelesswgrant: https://bugs.launchpad.net/launchpad/+bug/2810 - has that changed recently?00:37
_mup_Bug #2810: buildd <-> buildmaster protocol is undocumented <lp-soyuz> <soyuz-build> <Launchpad itself:Triaged> < https://launchpad.net/bugs/2810 >00:37
wgrantlifeless: No, it got even worse when I deleted the old docs (which were completely wrong, but still)00:37
sinzuiwallyworld: lp:lp-production-crontabs/trunk00:37
lifelesshmm00:45
lifelessodd urlification here - https://bugs.launchpad.net/launchpad/+bug/409665/comments/200:45
_mup_Bug #409665: reviews lose commit message context <lp-code> <Launchpad itself:Triaged> < https://launchpad.net/bugs/409665 >00:45
lifelesssee the 'lp)'00:45
wgrantTags: lp-code00:46
wgrantMartin Pool wrote on 2007-02-08: #100:46
wgrantOops.00:47
poolie?00:49
pooliemispasted?00:49
wgrantYes.00:50
wgrantStevenK: Does initialise-from-parent still work?01:03
StevenKIt ought to. Why?01:03
wgrantWell, we sort of need it tomorrow.01:04
wgrantSo it would be nice if it did.01:04
wgrantAnd a lot of that stuff has changed.01:04
StevenKwgrant: Trial run on DF?01:07
wgrantMight try that.01:08
lifelesswallyworld: ping01:11
lifelessre mp 5841001:11
wallyworldlifeless: hi01:11
lifelesswallyworld: the permissions are per-project01:11
lifelesswallyworld: so I'm wondering why you say they don't need updating01:11
wallyworldlifeless: i wasn't aware of that. i'll recheck. i may need to change the xhr call as you said01:13
lifelesswallyworld: on https://bugs.launchpad.net/launchpad-project/+filebug01:13
wallyworldlifeless: the sample data used for testing is very limited so it was hard to get a full view as to what was updated when the project changed01:14
lifelesson dtdparser - submit something, expand extra options, no status/importance/assignee etc01:14
lifelesschange the dropdown to lp01:14
lifelesssame thing, but when extra options is expanded, all the fields are available01:15
lifelesswallyworld: sure, I'm giving you a demo is all01:15
wallyworldlifeless: ah, excellent. i really appreciate the input. tha's helps a lot01:15
wallyworldsinzui: ^^^^^ based on the above, i have some fixing to do before you finish the review. but you can always take an initial look01:17
wgrantI'm guessing nobody added the new prefixes.02:03
wgrantlifeless: Could you do that, with your newfound superpowers?02:03
lifelessthey are already in the system02:05
wgrantWe have very few OOPSes.02:05
wgrantHm.02:05
lifeless\o/02:05
wgrantAlthough at least 150 hwdb OOPSes are missing.02:05
wgrantAnd they're from loganberry...02:05
StevenKHaha. "That's a small number, so it can't be right."02:05
wgrantOr maybe they unbroke checkbox.02:05
lifelessdiogo put A-Z into the system a while back02:05
wgrantAh.02:06
lifelessI checked this yesterday :)02:06
lifelessand just now again to be sure02:06
lifelesswgrant: bug 77010702:06
wgrantI assumed you would have, but the numbers were implausible.02:06
_mup_Bug #770107: launchpad relies on login.ubuntu.com but does not sync email addresses <Launchpad itself:Triaged> < https://launchpad.net/bugs/770107 >02:06
wgrantYes :(02:06
lifelesswgrant: I'm positive there is a bug about user confusion and login.launchpad.net02:06
lifelessneither sinzui nor I could find it yesterday02:06
wgrantThere is, but I can never find it.02:06
lifelessgrag02:07
wgrantI'm sure I've seen it.02:07
wgrantHas Google always mangled bug page titles?02:07
wgrantI don't recall seeing this before.02:07
lifelessref ?02:08
wgrantSome of them are now "$SUMMARY - Launchpad Bugs"02:08
wgranteg search for 'site:bugs.launchpad.net login.launchpad.net'02:08
wgrantSome of the results have the real titles, others don't.02:08
lifelesswhee02:09
wgrant(not unreasonable, given our titles suck so much)02:09
lifelessI wonder if that will affect our google-api-search results02:10
cody-somervillehmm... is it known that if you expand a bug task for editing, the milestone field is set to '(no value)' instead of the milestone the task is currently assigned to if the milestone is deactivated? So if you go and edit a bug assigned to an old, deactivated milestone it'll remove it from the milestone and to fix it you have to go reactivate the milestone. total PITA02:13
lifelesscody-somerville: sounds like a bug02:14
wgrantlifeless: Ahem.02:18
wgrant        rs = (store02:18
wgrant                .find(FeatureFlag)02:18
wgrant                .order_by(02:18
wgrant                    FeatureFlag.flag,02:18
wgrant                    FeatureFlag.scope,02:18
wgrant                    Desc(FeatureFlag.priority)))02:19
wgrantSpot the bug.02:19
wgrantThis explains why none of the overrides are working.02:19
StevenKHah02:19
wgrantSo, we are *actually* running with a 9s timeout.02:20
lifelesswgrant: scope should be after priority02:20
wgrantWithout exceptions.02:20
wgrantlifeless: Right.02:20
lifeless\o/02:20
lifelessright, lets clean those out02:20
lifelessleave the rootlogin one behind02:20
lifelessbut the rest are clearly tolerable02:20
wgrantI don't trust the OOPS counts, but yeah, we can add them back.02:20
wgrant11:18:36 < lifeless> MTecknology: runs in a trusted context; not at all easy to change02:27
wgrantHuh?02:27
* StevenK tries to remember the shell magic for 'show me everything that is in file1 that isn't in file2'02:30
StevenKcomm, I guess ...02:30
StevenKArgh, ENOSPONGE02:31
lifelessStevenK: diff ?02:32
StevenKSuppose02:32
StevenKcomm did the job, so ... :-)02:32
StevenKAnd I've not used it for a while, so it's good to dust off the memory02:33
MTecknologyso.. are recipes and packages not build in the same restrictive manner?02:36
lifelessMTecknology: not identical, no02:37
wgrantMTecknology: They are.02:37
wgrantWell, recipes are run outside the chroot, but that doesn't matter.02:37
MTecknologyI just assumed they were so I didn't get why allowing recipes to run commands was dangerous - since deb/rules could easily be changed prior to an upload02:38
StevenKIt isn't just debian/rules that's an issue02:40
MTecknologyis debian/rules an issue?02:42
StevenKMTecknology: You just said 'since debian/rules could easily be changed prior to an upload' -- I think there are far more sinister things one could do if running external commands was allowed02:44
MTecknologyStevenK: I just assumed you guys handle it if someone tried to do something in debian/rules; so I'm not understanding why recipes are different - or.. why they have to be so different that shell commands in there has to be so dangerous02:45
cody-somervilleRecipe builds aren't executed in a fresh VM?02:45
wgrantcody-somerville: They are.02:45
cody-somervilleSo I guess I have the same question as MTecknology.02:46
wgrantHmmmmm.02:53
wgrantlifeless: wgrant@carob:~/logs$ grep -l -r -e 'Exception-Type: \(LaunchpadTimeoutError\|RequestTimeout\)' */2011-04-26 | wc -l02:55
wgrant45202:55
wgrant * 228 Time Outs02:55
wgrantDoes not compute.02:55
lifelesswgrant: I have a theory02:55
wgrantwgrant@carob:~/logs$ grep -l -r -e 'Exception-Type: SoftRequestTimeout' */2011-04-26 | wc -l02:55
wgrant40802:55
wgrant * 105 Soft Time Outs02:55
wgrantComputes even less.02:55
lifelesswgrant: histogram by machine?02:56
wgrantwgrant@carob:~/logs$ grep -l -r -e 'Exception-Type: SoftRequestTimeout' */2011-04-26 | cut -d/ -f1 | uniq -c02:56
wgrant     55 chaenomeles02:56
wgrant     63 gac02:56
wgrant    134 soybean02:56
wgrant    156 wampee02:56
wgrant(this is also only lpnet, not edge, so the numbers should be *lower*)02:57
StevenKBut none of those can be combined to make 10502:57
wgrantYou are correct.02:58
wgrantMaybe with edge, though...02:58
wgrantLet me find the edge logs.02:58
StevenKAs my father used to say, "He must have gone to a different school."02:58
sinzui /join #launchpad03:09
wgrantlifeless: /win 5503:16
wgrantArgh.03:16
lifelessyes?03:17
wgrantlifeless: https://code.launchpad.net/~wgrant/launchpad/bug-770576/+merge/5915503:17
lifelesswgrant: why is FeatureFlag.scope still there?03:19
lifeless(flag, priority) is a unique03:20
wgrantTrue.03:20
wgrantForgot that bit.03:20
MTecknologyI wish I could understand what makes running commands in recipe builds dangerous... If it's a fresh vm and is basically (from what I can see), a locked down chroot; what makes that more insecure than upload builds where a person could put anything at all in debian/rules (with the exception that those uploads also provide an easy way to download packages [Build-Depends:])03:21
MTecknologySorry to be such a pain too... I just don't get it. :(03:21
wgrantMTecknology: It isn't dangerous.03:22
wgrantIt's forbidden for other reasons.03:22
wgrantThat are not entirely clear.03:22
MTecknologyIs there any way to make those reasons more clear?03:23
wgrantI'm not sure.03:23
wgrantBut still, you shouldn't have to run shell commands.03:23
wgrantWhy do you want to?03:23
MTecknologyhttps://code.launchpad.net/~nginx/+recipe/nginx-nightly03:23
wgrantThat seems mildly insane.03:24
MTecknologyindeed03:25
wgrantlifeless: That's fixed.03:30
MTecknologythis is the recipe I'd like to use.. http://dpaste.com/536105/03:33
MTecknologythe nest-part only used because ..... i'd definitely do that part of the code differently03:37
spivMTecknology: that strikes me as a kinda odd thing to want to do03:44
MTecknologyspiv: changes is generated by hand on every release... about the only non-nest option would be with wget and that'd probably be an ugly option..03:45
spivMTecknology: I'm curious why the lp:nginx/stable branch isn't something that you could simply do a regular merge of, rather than picking just those files.03:45
* spiv suddenly realises part of what this is trying to do03:46
MTecknologyspiv: because I want to make this something fully automated so I don't need to do a merge any time a branch changes03:47
spivMTecknology: I'm not sure abusing nest-part to copy a file from a branch into a tree of the same branch is something we want to support03:47
MTecknologyso far, it feels like recipes are pretty much worthless...03:47
spivThe point of the "merge" directive of recipes is exactly so that you don't need to do a merge yourself!03:48
MTecknologyWhy don't you tell me how I should do this so I set it up once and don't touch it again until a new stable exists?03:49
StevenKMTecknology: Then don't use them?03:49
MTecknologyIf I could just use 'run' then I wouldn't need to do the copy..03:50
StevenKAs in 'run wget' ?03:51
MTecknology'run cp'03:51
lifelessMTecknology: why would you need to do a merge every time the branch changes ?03:53
spivMTecknology: Perhaps this is a naïve question, but why not just use the files where they are, rather than cp'ing them?03:53
MTecknologywhen a version is released, there's a whole series of crap that takes place. Part of that is an auto tool that moves stuff around and compiles docs. the README file isn't just docs/text/README, if I could use run, I'd use cat and a redirection to actually build that file correctly.03:55
MTecknologybut it's also not something the debian packaging should need to accomodate; because when a version is released, that stuff is in place03:56
* spiv wonders if "nest-part deb lp:foo/debian debian; merge tweak-deb lp:foo/tweaked-debian" works (where lp:foo/tweaked-debian is a branch off lp:foo/debian)…03:56
spivSo the problem is you want to use the debian packaging info designed for releases, but what you have are branches not releases, and these branches are almost but not quite laid out the same way?03:58
MTecknologyyup03:59
spivI'd probably try making a branch of the debian packaging then that accomodates those differences, and merge that in after the nest-part of the debian packaging branch.03:59
spivI'm not sure if that would be too ugly.04:00
MTecknologywould that work after things change in the packaging?04:01
spivI can imagine a 'cp' or 'mv' directive in recipes being reasonable to add, but for this problem in general I don't think those would always be sufficient.04:01
spivMTecknology: it should, if the changes inside debian/ don't conflict.04:02
spivMTecknology: I'm not sure that it will work, but it ought to :)04:02
MTecknologyso debian packaging is lp:nginx/debian and no debian/ dir; using nest it fits in just fine; the merge will need to be of the change, with a debian sub directory?04:03
MTecknologycan I have just the debian/rules file in there?04:03
lifelessis there a sensible bugtracker for our moinmoin sites? https://bugs.launchpad.net/ubuntu/+source/ubuntu-docs/+bug/68548204:03
_mup_Bug #685482: Error logging in via launchpad openid to edit community wiki <openid> <Launchpad itself:New> <ubuntu-docs (Ubuntu):Incomplete> < https://launchpad.net/bugs/685482 >04:03
=== Ursinha is now known as Ursinha-afk
MTecknologyspiv: or would that probably not work?04:07
spivMTecknology: just a branch of lp:nginx/debian with a change to its rules or whatever to do what you need04:10
spivMTecknology: no renames of files in that branch or new directories, unless you really want to rename files in debian/ or make new directories in debian/ in the resulting recipe.04:11
MTecknologyI meant- I was wondering if that branch could have only the changed files.. but i imagine not04:12
MTecknologythen it'd be a crappy merge..04:12
spivMTecknology: right, just make the changes you need, and don't worry about the other files you don't need to change.04:13
MTecknologyheh...04:13
MTecknology'run make misc/GNUmakefile snapshot'04:14
MTecknologythat'd be enough to replace all of this04:14
StevenKThen your rules file only needs one extra line04:14
spivMTecknology: given that make rule does "svn export", probably not :)04:15
MTecknologywell... I'd still need nest-part to work on files..04:15
MTecknologyah.. missed that04:15
spivI don't think "svn export . $(TEMP)/$(NGINX)" will work well in a bzr tree :)04:15
MTecknologyprobably not :P04:16
spiv("bzr export . temp-dir" would work alright in an svn tree if you have bzr-svn installed, though ;)04:17
MTecknologydoesn't that only eliminate the .SVN directories while copying to a new location?04:17
spivAnd only copy versioned files, I'd expect04:19
spivWhich probably doesn't make a difference in a fresh tree.04:19
MTecknologyI'm adding the extra stuff... setup: with setup added to .PHONY04:20
MTecknologylooks like they actually did automate the release process, just too automated for a nightly snapshot liek this..04:30
LPCIBotProject windmill build #221: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill/221/04:32
MTecknologynow we see if it works....04:34
MTecknologyspiv: bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified.04:35
MTecknologyit doesn't want to merge with the packaging branch, it wants to merge with the source branch04:36
MTecknologyspiv: I 100% agree that nest-part shouldn't be used to copy files; but in this event, it doesn't seem to be possible04:40
MTecknologybeing unable to use run has kept me from using recipes other places too...04:40
=== jtv changed the topic of #launchpad-dev to: Performance Tuesday | https://dev.launchpad.net/ | On call reviewer: jtv | https://code.launchpad.net/launchpad-project/+activereviews
=== lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv | https://code.launchpad.net/launchpad-project/+activereviews
MTecknologyheck... even having to make the series stable is a work around hack that could be avoided by use of run..04:43
spivMTecknology: ah, of course, nest-part doesn't set a parent revision in the tree :(05:01
spivMTecknology: I think that bzr-builder could be improved to make that case work05:01
spivMTecknology: but that doesn't help you today, of course :/05:01
MTecknologyspiv: nah... I already accepted that it's not going to work today05:06
MTecknologyprobably not this week, or next month05:06
MTecknologybut after that... i can hope :)05:06
MTecknologyspiv: for a daily build.. this is probably the best option - http://dpaste.com/536138/05:07
spivMTecknology: one question I guess is why does upstream's vcs layout differ from the tarball layout like that.  It seems a bit unnecessary.  But how recipe builds can cope nicely with packaging designed for release tarballs rather than vcs snapshots is an interesting problem in general.05:12
MTecknologyspiv: there's a makefil that makes the source ready for a release or snapshot - but it's not really feasible to try to call a makefile inside of a recipe - especially because they require other apps be installed05:14
spivMTecknology: oh, one last trick05:27
spivMTecknology: to workaround the “Branches have no common ancestor”05:27
spivMTecknology: you could try appending something like "-2..-1" to merge line05:27
MTecknologyhm?05:28
spivThis is for the "merge in a tweak to the debian/ dir added via nest-part" approach05:28
MTecknologywhat would the line look like for the merge?05:29
spivWhat did you try that gave “Branches have no common ancestor…”?05:30
spivI think just append “ -2..-1” for a crude workaround05:30
spiv(To say just take the changes in the newest revision of that branch)05:30
spivSo e.g. if you had “merge deb-tweak lp:blah/debian-tweaked" then “merge deb-tweak lp:blah/debian-tweaked -2..-1”05:31
MTecknologyI had 'lp:nginx' 'nest packaging lp:nginx/debian debian' 'merge tweaks lp:nginx/debian-tweaks'05:33
MTecknologysomething close to that05:33
spivOk, so add ' -2..-1' to that tweaks line05:34
MTecknologyk- i'll have to try that tomorrow.. it's getting too late for me05:34
MTecknologywhat's that do?05:35
StevenKOnly merge changes from the latest revision05:35
MTecknologyit was complaining about merging lp:nginx/debian-tweaks into lp:nginx05:35
spivMTecknology: takes changes from the 2nd-last revision (-2) to the last revision (-1)05:36
spivMTecknology: i.e. the changes in the most recent commit05:36
spivMTecknology: It's actually merging into a tree, not a branch05:36
spivMTecknology: a tree that already has the debian/ dir added05:37
MTecknologyhm.. are commits made at every step of the recipe?05:37
spivNo, no commits at all05:37
spivIt's like using bzr merge --force, which allows doing a merge on a changed-but-uncommitted tree05:38
MTecknologyoh05:39
spivHmm, you're using nest not nest-part to embed the debian/ dir, so really that merge ought to have just worked.  I think I know why it didn't, I'll file a bug.05:40
MTecknologythanks, want to subscribe me to it?05:41
wgrantBug #72341705:44
_mup_Bug #723417: Further information input area shrunk making it difficult to input and review details <bugs> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/723417 >05:44
wgrant5 lines seems a bit short for most description fields.05:44
wgrantI think we should probably bump to 10/15.05:44
wgrantAny objections?05:44
spivMTecknology: will do05:44
wgrantjtv: Hi.05:45
MTecknologyspiv: thanks, i'm gonna try tofall asleep over the noise of my neighbors that need to be murdered..05:45
jtvhi wgrant05:46
wgrantjtv: Nice short review for you: https://code.launchpad.net/~wgrant/launchpad/bug-751982/+merge/5916205:46
MTecknologyspiv: hopefully I wasn't too much of a pita05:46
spivMTecknology: no, not at all05:47
jtvwgrant: I'm working on a big one, but if this one's short then I'll SJF.05:48
wgrantjtv: Diff against target:31 lines (+11/-0) 2 files modified05:50
jtvwgrant: that reply actually took longer than it did to read the diff.  :)05:50
jtvwgrant: done05:52
wgrantThanks.05:52
spivMTecknology: oh, I'm being silly, merging into nested branches is already supported:05:57
spivMTecknology: you just indent the 'merge' line under the 'nest' line.  https://help.launchpad.net/Packaging/SourceBuilds/Recipes#Nesting05:58
MTecknologyheh... easy05:58
MTecknologymakes sense too...05:58
spiv:)05:58
MTecknologyI'll play with that tomorrow; then when the bug is taken care of, I should be able to make this work :)06:00
MTecknologyalthough.. using 'run' would be a better solution to merging changes from another branch06:00
MTecknologybut either way- it'd work :)06:01
* MTecknology is going to sleep for real this time06:01
jtvwgrant: I wonder if maybe you could review my branch for initializing distroseries indexes.  The regular reviewer chickened out.06:31
wgrantjtv: So I saw.06:32
wgrantI will have a look.06:32
jtvGreat, thanks.06:32
jtvHe's right though: the reviewer I could otherwise get on my own squad hasn't just returned from two weeks' leave.  Somehow that's not helping.  :-)06:33
wgrantjtv: Reviewed.07:06
wgrantlifeless: Still around to mentor?07:06
jtvwgrant: that's fantastic, thanks.  Didn't expect it so soon.07:07
lifelessfsvo07:07
lifelessI'm trying to finish these triggers off07:07
lifelesswhich is tricky07:07
wgrantAh, right.07:07
wgrantFun fun.07:07
lifelessso if its non trivial, not tonight.07:08
wgrantSure.07:08
wgrantlifeless: Bug #77152707:09
_mup_Bug #771527: 'Answers' link greyed out on Ubuntu nattry translation page <Launchpad itself:Triaged> < https://launchpad.net/bugs/771527 >07:09
wgrantlifeless: DistroSerieses don't have Answers.07:09
lifelesswgrant: but distros do07:11
wgrantSure.07:11
lifelesswgrant: so the link can sensibly and trivially go to the distro answers07:12
wgrantThe header is already confusing enough :(07:12
=== almaisan-away is now known as al-maisan
StevenKjtv: https://code.launchpad.net/~stevenk/launchpad/pdsd-cleanup/+merge/59172 when you're able07:46
jtvStevenK: up to my ears atm... maybe in half an hour?07:47
StevenKjtv: At some point before you EOD is perfectly fine.07:47
jtvStevenK: got you scribbled down.07:49
jtvJotted.  That's the word I was looking for.07:51
wgrantlifeless: Hi.08:22
StevenKjtv: I note it's been 45 minutes.08:31
jtvStevenK: I meant remind me in 30.  :)  I'll start right now.08:32
jtvStevenK: "don't have any special fields set" is a bit weird as a requirement... how about "don't have their details filled out"?08:33
jtvStevenK: reviewed.08:34
StevenKjtv: Thanks for the +1, I'll take your suggested wording08:35
jtvCool.08:35
lifelesswgrant: hi08:36
wgrantlifeless: 11634.2.908:37
jtvwgrant: in your review of my branch, you say to say "careful indices mode."  I note that the actual script doesn't have such a thing... shall I add the wording to the run_publisher option?08:37
wgrantlib/lp/bugs/model/bug.py08:37
wgrantlifeless: Second hunk of lib/lp/bugs/model/bug.py08:37
wgrantlifeless: Any ideas why you changed that?08:37
lifelesswgrant: isn't that just the bottom of linkAttachment ?08:40
wgrantlifeless: Yes, I am a fool. I mean lib/lp/bugs/browser/bugtarget.py instead.08:41
lifelesswgrant: +        :param send_notifications: Control sending of notifications for this08:41
lifeless+            attachment. This is disabled when adding attachments from 'extra08:41
lifeless+            data' in the filebug form, because that triggered hundreds of DB08:41
lifeless+            inserts and thus timeouts. Defaults to sending notifications.08:41
wgrantWell, *that*'s not in the commit message.08:42
wgrantI see.08:42
lifelesswgrant: so I think I had a dirty branch08:42
wgrantjtv: -A is careful indices.08:42
jtvwgrant: it'd be nice if the script called it that then!08:43
wgrantjtv: -P is careful file publishing, -A is careful index publishing -SOMETHING is careful domination, -C is all of the above.08:43
lifelesswgrant: but yeah the motivation was to stop sending a notification-per-attachment in  apport bug filings08:43
lifelesswgrant: if it was a dirty branch this may have only been half realised08:43
wgrantlifeless: We have a critical regression bug on that now :(08:43
jtvwgrant: the script currently calls it "careful apt" and says it makes the apt-ftparchive run careful.08:44
lifelesswgrant: #?08:44
wgrantlifeless: Bug #66760408:44
_mup_Bug #667604: new bug reports with attachments added generate blank email instead of including links to attachments <lp-bugs> <regression> <Launchpad itself:Triaged> < https://launchpad.net/bugs/667604 >08:44
wgrantjtv: Right, and apt-ftparchive generates the indices.08:44
wgrantjtv: (it's still a bit wrong now, since NMAF is also an option)08:44
jtvNM?08:45
wgrantNoMoreAptFtparchive.08:45
wgrantNative index generation.08:45
jtvArgh that08:45
jtvLooks to me like it should be hidden in the publisher TBH08:45
wgrantIt is.08:45
wgrantThe docs of -A are wrong.08:45
lifelesswgrant: so, sucky fail.08:45
wgrantIt will trigger index publication regardless of the used mechanism.08:46
lifelesswgrant: but yes, reverting that would just break apport bug filing08:46
jtvwgrant: I have no idea what that means, but it's obvious to me that it needs some updating.08:46
lifelesswgrant: you bisected to that rev?08:46
wgrantjtv: Index generation uses either a-f or NMAF. -A will trigger whichever one is appropriate, despite its description referring solely to a-f.08:46
wgrantlifeless: annotated to it.08:47
lifelesswgrant: I don't understand why it doesn't generate a notitifcation with the summary and description08:47
wgrantlifeless: Hm?08:47
lifelesswgrant: this doesn't suppress notifications for the bug/task creation08:47
lifelesswgrant: and is (IIRC) only in the apport bug filing form.08:47
wgrantlifeless: Two emails are sent.08:48
wgrantlifeless: One about the bug filing.08:48
wgrantAnd one about the subsequent comment and attachments.08:48
lifelesswgrant: oh and a stupid empty one ?08:48
wgrantExcept the comment is empty, and the attachment notifications are suppressed.08:48
wgrantRight.08:48
wgrantI guess we could just suppress that email, but it would be nice to unbreak notifications.08:48
lifelessso, two bugs; shouldn't send mail if there is nothing to say. And separately tell folk about the attachments.08:48
lifelessI was intending to aggregate the warnings or something I think08:49
lifelessbut the problem is that we use a bloody pub-sub mechanism for sending mail about bugs08:49
jtvwgrant: thanks for clarifying that.  I'll update the help string.  What I meant earlier is that the decision which index generation method to call looks as if it should be hidden inside a single method call.08:49
wgrantjtv: It is.08:49
lifelesswhich is a totally fine system *if* you have enough granular control08:49
wgrantlifeless: Yeah, ideally it would queue subscribers, I guess.08:49
wgrantOr queue the inerts.08:49
lifelesswgrant: IIRC this was when we had 17 second bug filings.08:50
wgrantYeah.08:50
wgranti recall.08:50
wgrantI just didn't see any relevant commits.08:50
wgrantAnd indeed there were not any :P08:50
lifelessyeah, sucks to be working with me :)08:50
jtvwgrant: not the way I mean -- I'm talking about the "if ...: publisher.C_doAptFTPArchive(...) ; else: publisher.C_writeIndexes(...)08:51
wgrantjtv: Ah, right.08:51
wgrantjtv: Well, it is encapsulated. At the wrong level, but meh.08:51
jtvshudder.08:51
wgrantThis. Is. SOYUZ. and all that.08:51
jtvI noticed.08:51
adeuringgood morning09:02
LPCIBotProject windmill build #222: STILL FAILING in 1 hr 13 min: https://lpci.wedontsleep.org/job/windmill/222/09:12
lifelessstub: evening09:19
stubMorning09:20
stubI forgot I had to do a Visa run, so just back from Cambodia.09:20
jtvhey stub, all sorted?09:21
jtvPresumably you are now registered on both sides as a spy.09:21
stubYup. new stamp09:21
stubNah... at Poipet it would be compulsive gambler. Spys cross at Si Saket and now Surin.09:22
jtvNote the pattern by the way: the fighting starts in response to "possible" action from somewhere in the middle (last year the sound of smallarms fire, this year a flare)... around Chinese New Year.09:22
jtvAh yes, I forgot about the spies who were actually caught.09:22
lifelessstub: I'm too lazy to do a trial run09:22
lifelessstub: what happens if you specify a row in an update WHERE clause and both the row and the constraint are NULL09:23
lifelesse.g. update bugsummary where .... and product=NULL and productseries=NULL09:23
lifelessstub: I'm guessing because null!=null it will update no rows.09:23
jtvstub: I think there's probably a single kid unknowingly starting wars every year by lighting fireworks outside his house.09:23
stubNothing happens, because NULL=anything == NULL09:24
stubAnd null is equivalent to false when you end up with that in the WHERE clause.09:24
jtvlifeless: how can you update a null row?09:24
lifelessjtv: there is a row identified by a tuple (product, productseries, distro, distroseries, viewed_by, status, tag, milestone)09:25
jtvNice key!09:25
lifelessjtv: adapting an UPSERT function for it, and of those tuples all but status are permitted to be NULL09:25
stubUnfortunately it isn't a key ;)09:26
lifelessif we coalesce them with -109:26
lifelesswe could make it a key09:26
lifelessstub: so I had a ratsnest day09:27
lifelessstub: I've got the basic structure for triggers sketched09:27
jtvwgrant: don't know if I got around to mentioning it... followed up to your review. Now to find a mentor.09:28
jtvhey bigjools!09:28
* bigjools is not really here09:28
jtvgood09:29
wgrantMorning bigjools.09:29
wgrantjtv: Let's see.09:29
bigjoolshello wgrant09:29
* stub pulls lifeless' branch09:31
wgrantjtv: Looks good. And I agree with DISTROSERIES.09:33
lifelessstub: I've just pushed another rev09:36
lifelessstub: adding the sketched upsert and decrement functions09:37
lifelessstub: remaining bits are09:37
lifeless - tests09:37
lifeless - upsert handling for nulls09:37
* stub pulls it again09:37
lifeless - generating the vector of rows to increment or decrement in the various cases09:37
stublifeless: I can fill in the blanks in the _inc and _dec methods easily enough09:41
lifelessstub: its late here, but I'm guessing you'd have to reengineer the bugs of the other functions. If I put some prose in them would that help with that process?09:42
stubAnd reasonably sure what needs to go into the other stubs09:42
lifelesss/bugs/guts/09:42
stubProse is good if you have time - no need to assume09:42
lifelessI'll do that now09:42
stubk09:43
stubMy DB script is up for review so I can work on this now.09:43
lifelessstub: its reviewed09:44
mrevellHello09:44
stubJust saw that09:44
lifelessstub: pushing09:59
lifelessstub: ok its up there10:00
* stub pulls10:00
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
stubjtv: I found a B250 tablet pc cover that makes a great Kindle cover in Fortune. I need to pick up another one for Kirsten - do you want one too?10:11
jtvstub: sure, thanks10:11
jtvwgrant: any objections on your end to my running populate-dsd on df's maverick?10:15
stubmthaddon: Just landing https://code.launchpad.net/~stub/launchpad/db-deploy/+merge/5906510:17
stubmthaddon: This should improve Launchpad DB updates.10:17
mthaddoninteresting...10:18
stubmthaddon: The preflight.py script does the painful checks for long running transactions, replication lag, sync working etc. for you. The full-update.py is just a wrapper around the 4 update scripts to run them in sequence for faster turnaround.10:18
mthaddon"One of the checks it makes is to confirm there are no non-system connections open to the active databases" \o/10:18
mthaddonstub: how does full-update.py handle logging? we'd just output the logs for that to a single logfile rather than having separate logs for each step?10:19
stubmthaddon: Yes, it will log all the steps to a single log file.10:20
mthaddonk10:20
lifelessmthaddon: stub: there is an RT open to kill everything properly on staging10:20
jtvAny reviewers here who could mentor this review by wgrant?  https://code.launchpad.net/~jtv/launchpad/db-bug-766807/+merge/5902710:23
wgrantjtv: We tend to do that on staging now, but sure.10:27
wgrantjtv: Hmm.10:27
wgrantjtv: Although it's not going to work really well on DF.10:27
jtvHmm?10:27
wgrantjtv: Since it doesn't have all the changelogs.10:27
jtvWhat isn't?10:27
wgrantpopulate-dsd10:27
jtvah10:27
wgrantstaging's all fine in that regard.10:27
jtvOK10:27
wgrantI'd suggest running it there, unless you have a good reason to not.10:27
jtvMay be faster as well.10:27
wgrantMyes.10:27
jtvDB access. :)10:27
wgrantYeah.10:28
jtvAnd most of all perhaps, less pain from figuring out whether it has your change or not!10:29
wgrantMy change?10:30
wgrantOr perhaps your change.10:30
wgrantBut staging should be rather up to date.10:30
wgrantGiven that we are coming from a drought of failures.10:31
wgrantIn fact we've not had a test failure in a week!10:32
wgrantThis is unprecedented.10:32
spivwgrant: it's an Easter miracle!10:35
wgrantspiv: Shh, don't spoil it.10:36
=== al-maisan is now known as almaisan-away
=== Ursinha-afk is now known as Ursinha
LPCIBotProject windmill build #223: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill/223/11:47
jtvwgrant: pushing fix, and thou-sands of bytes per second11:50
=== almaisan-away is now known as al-maisan
deryckMorning, all.12:09
jtvhi deryck!  Approved your branch.12:15
deryckjtv, hi.  I had something up for review?12:16
jtvAny takes for a very simple review?  https://code.launchpad.net/~jtv/launchpad/db-bug-771727/+merge/5920312:17
jtv*takers12:17
jtvderyck: oops no, not you sorry12:20
deryckno worries12:21
jtvI'm in a jostling car on a 2G connection and it's distracting!12:21
jtvReviewer needed!  https://code.launchpad.net/~jtv/launchpad/db-bug-771727/+merge/5920312:24
jtvReview mentor needed: https://code.launchpad.net/~jtv/launchpad/db-bug-766807/+merge/59027 - any takers?12:29
=== mrevell is now known as mrevell-lunch
gary_posterstub, hey.  I ran ec2 test on my branch and there is some code cleanup I need to try to do from fallout of those new constraints (particularly the unique index, it seems)...*if* we actually make those changes.  Is it worth my time to try to clean things up, or should I wait for your review to see if I actually need to go another entirely different direction?12:57
gary_poster(This is re https://code.launchpad.net/~gary/launchpad/bug753000/+merge/59139)13:00
stubgary_poster: I need to rework your constraints. We should be using partial unique indexes to avoid NULL issues.13:14
stubgary_poster: So CREATE UNIQUE INDEX structuralsubscription__product__subscriber__key ON StructuralSubscription(product, subscriber) WHERE product IS NOT NULL13:16
gary_posterstub, ok, cool.  I'd love to understand why (I thought constraints didn't have NULL issues since NULLs are considered non-equivalent) but understand if you don't have time13:17
gary_posterstub, and does that mean that my one UNIQUE INDEX I have already is OK, so I can fix code bugs related to it?13:17
stubgary_poster: it minimizes the size of the index. I think you are correct though that the indexes work as expected in this case.13:17
gary_posterstub, ah!  I see13:17
stubSo I would consider splitting that into two - one WHERE sourcepackagename IS NULL and another WHERE sourcepackagename IS NOT NULL13:18
stubBut you can argue for your syntax too...13:18
gary_posterstub, I don't really care :-P13:18
gary_posterwhichever you prefer is cool by me13:19
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: danilos | https://code.launchpad.net/launchpad-project/+activereviews
adeuring1danilos: could you have a look at this mp: https://code.launchpad.net/~adeuring/launchpad/bug-277118/+merge/59194 ?13:25
danilosadeuring1, sure thing, I'll do it after my call13:26
adeuring1danilos: thanks!13:26
=== adeuring1 is now known as adeuring
stubgary_poster: I think the new 'windowing function' stuff in 8.4 could make those deletions nicer, but no point changing what we have already if it is fast enough (should be - we don't have that many dupes)13:31
gary_posterstub, sounds cool, but yeah, the dupes are few13:32
danilosadeuring, hum, shouldn't the copyright be updated to state both years? eg. "2009, 2011" or "2009-2011"13:43
adeuringdanilos: really? I thought we just mentioned tzhe year of the last change. But I am not 100% sure13:44
=== mrevell-lunch is now known as mrevlel
danilosadeuring, that would be very weird, I've never seen it done like that as far as copyrights go (they should be the years of content creation)13:45
* gary_poster wonders who mrevlel is and what he did with mrevell13:45
mrevlelheh, I'm the bizarro mrevell13:45
adeuringdanilos: ok, I'll change it13:45
=== mrevlel is now known as mrevell
danilosgary_poster, that's called improvement (or evolution)13:45
danilosadeuring, thanks :)13:45
gary_poster:-)13:45
danilosadeuring, hum, dsp_url was not used anywhere at all?13:46
adeuringdanilos: yes, lint reminded me about it13:46
danilosadeuring, cool13:46
danilosadeuring, I like the "no_bug_racking" test, but it still looks like a typo ;)13:47
adeuringdanilos: argh... I'll fix it13:47
danilosadeuring, all else good, r=me13:48
adeuringdanilos: cool, thanks. Just one question: I can't find "no_bug_racking" -- typo on your side?13:49
danilosadeuring, sorry, "bugracking", line ~108 of the diff13:49
adeuringdanilos: ah, right! thanks again13:50
danilosadeuring, yw13:50
stubgary_poster: The 'subscriber IS NOT NULL' in the WHERE clause of the partial index was unnecessary as the column is NOT NULL (but I'm reworking it anyway, so don't mess with your copy)13:50
gary_posterstub, ack, thanks13:51
stubgary_poster: So you can't subscribe to a (distroseries, sourcepackagename) ?13:51
gary_posterstub, not ATM, according to the code patterns I'm looking at in structuralsubscription.py.  Robert says we want to support this eventually, and I filed a bug for it, but AFAIK what I said is right.   That said, I'm fine with the constraint allowing it now13:53
=== benji is now known as Guest41434
stubgary_poster: We allow people to be subscribed to a (distribution) as well as a (distribution, sourcepackagename) ?13:59
gary_posterstub, yes, the first is a subscription to an entire distribution; the second is a subscription to a package in that distribution.13:59
stubSo the second is redundant, or can it have different settings?14:00
stub(or different notifications)14:00
gary_posterstub, it could have different settings14:00
=== benji____ is now known as benji
* coffeedude waves to deryck14:02
* deryck waves back14:02
stubgary_poster: Reviewed. I think we need a BugTarget - this multiplexing of targets is irritating (lifeless has a patch like this too)14:06
gary_posterstub, thank you very much.  Wouldn't a BugTarget have the same problem, just abstracted away one layer?  It would only seem to be a win if we could share that abstraction across many uses--is that what you mean?  I've wanted a way to reference targets generally in the past (Zope ObjectId sort of thing) so that would be cool.14:09
deryckso has *anyone* got Windmill running on Natty?  maybe sinzui or wgrant?14:15
deryckwith FF 4, I mean.14:15
LPCIBotProject windmill build #224: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill/224/14:17
wgrantderyck: wallyworld is the only success story I've heard of.14:19
deryckwgrant, ok, thanks.  I'll just mail him then.14:19
deryckit's fixed in Windmill trunk, but I really don't want to upgrade windmill again at this point.14:20
wallyworldderyck: you need to create a symlink from something like /usr/lib/mozilla to the ff rofile14:20
wallyworldprofile14:21
wallyworldlet me find the exact details14:21
deryckhey there's wallyworld!14:21
wallyworldhiya14:21
deryckYou Australians never sleep.14:21
wallyworldderyck: gotta get this %@%^!^ branch finished14:22
deryckah, the love of the painful branch14:24
deryckI symlinked to FF 3 but still get "no local or global profile" or whatever the ff 4 error is.14:24
deryckwallyworld, ^^14:24
stubgary_poster: Same problem, but in one place.14:24
wallyworldderyck: yeah, still looking trying to find what i did. one sec14:25
gary_posterstub, yeah, sounds good if it can be shared14:25
stubgary_poster: rather than the same problem, all over the place.14:25
gary_poster:-)14:25
deryckwallyworld, no worries.  Thanks for the help!14:25
wallyworldderyck: make a directory /opt/firefox/defaults14:29
wallyworldderyck: then inside that dir symlink profile ->/etc/firefox/profile14:30
wallyworldderyck: i can't recall if ff4 puts that profile dir in /etc/firefox/profile or if i just copied a profile dir there14:30
wallyworldderyck: the windmill global_settings.py file looks for the profile dir in well known locations. /opt/firefox is the first place it tries14:31
deryckwallyworld, ok, thanks man.  trying now.....14:31
wallyworldderyck: the tests pass except for a couple which rely on onkeyup handlers to do some work. these are never invoked14:32
wallyworldderyck: maybe fixed in trunk? i did try trunk a few weeks back and had no luck14:33
jcsackettdanilos: any chance i could get a review on https://code.launchpad.net/~jcsackett/launchpad/comment-display-rules-questions/+merge/59104?14:34
deryckwallyworld, it is fixed in trunk.  I saw the commit message.  uses a different mechanism to create the windmill profile now.14:34
wallyworldderyck: i hadn't documented my workround since i was still experimenting and i thought it would be best to upgrade to trunk before natty released and save a lot of stuffing around14:34
danilosjcsackett, there is _some_ chance, let me calculate what it is for you :)14:34
wallyworldderyck: the startup maybe but not sure about the failing tests14:34
jcsackettdanilos: anything greater than 50% works for me. :-)14:34
danilosjcsackett, I'll be back in 32h with the chance value :)14:34
* jcsackett laughs.14:35
deryckwallyworld, right14:35
deryckwallyworld, and we really need to decide if we fix windmill or move forward with something else.  I'm honestly not sure at this point.14:36
danilosjcsackett, reviewing (fwiw :))14:36
jcsackettdanilos: thanks. :-)14:36
wallyworldderyck: pain either way. but we need the tests to stop bas shit reaching prod. surely it would be easier to tweak windmill than porting a shit load of tests to something else?14:37
danilosjcsackett, if the typos in the MP are to prove that a reviewer has read the MP, I did :)14:38
deryckwallyworld, yes, it is easier.  definitely.  but we've been doing this "crap it breaks, fix it" dance for two years now.  At some point we have to move off, I think.14:38
jcsackettdanilos: no, i can say with certainty the typos are to prove that i shouldn't code without ample supplies of coffee. :-)14:39
deryckwallyworld, but maybe not.  maybe this is the last fix to it and it's stable going forward ;)14:39
danilosjcsackett, a question, we are not batching (visible) messages anywhere?14:39
jcsackettdanilos: nope, prior to the visible_messages thing i added, we were just grabbing question.messages and rendering.14:40
jcsackettat least, i didn't see us doing anything else with them.14:40
danilosjcsackett, cool14:40
danilosjcsackett, just making sure we don't prefetch all messages if we only need a single batch of them, all is fine :)14:41
wallyworldderyck: we can only hope. maybe fix it and do a proof of concept with something else so we can move if/when it breaks again14:41
jcsackettdanilos: actually, that reminds me that lifeless asked me to file a bug regarding some inefficiencies in both question and bug messages.14:41
* jcsackett goes to file bug14:41
deryckwallyworld, yeah, I think that's the right way.  get it working now.  but I would tweak that to say, proof to decide how to move off and plan to move, rather than wait til it break again.14:41
deryckwallyworld, I have some ideas about what is better actually.  but we can take that up later.  I'll let you get back to that branch you love :-)14:42
wallyworldderyck: yes, agreed. bad phrasing on my part14:42
deryckgotcha14:42
rvbadanilos: Hi, could you take a look at this https://code.launchpad.net/~rvb/launchpad/dsd-api-bug-766158/+merge/59186 ?14:44
danilosjcsackett, r=me14:44
danilosrvba, sure thing :)14:45
rvbadanilos: thanks.14:46
jcsackettdanilos: thanks!14:46
danilosrvba, btw, perhaps you should have proposed the branch to be merged into devel/db-devel (whatever the target is) and used Steve's branch as a pre-requisite branch (there's a hidden option for that)14:46
danilosrvba, (mentioning this if you are unaware of it :))14:47
rvbadanilos: I'm not aware of this :)14:47
rvbadanilos: ho ... wait, yes I am ...14:47
rvbadanilos: let me correct that ...14:47
danilosrvba, heh, ok, so when you go to file a MP through the web UI, there's "extra options" or something, and you can put a prereq branch there as well14:47
danilosrvba, don't worry about it, it's just that MP won't show conflicts or such that might appear with the real target branch14:48
danilosrvba, (you can't change it once MP is up, so you'd have to create a new one I think)14:48
rvbadanilos: yeah, looks like it ...14:48
* rvba creates a new mp14:49
jelmer"Resubmit this MP" allows you to create a new one based on the old one without having to discard comments, description, etc.14:50
rvbadanilos: steven's branch targets db-devel but mine does not involves modifications to the db ... is that possible for me to target devel?14:51
deryckwallyworld, I got it working, thanks!  I had downloaded ff 3, so had to link into that download dir, not /etc/, but otherwise worked fine.14:51
danilosrvba, btw, any reason you are not using assertContentEqual in assertSameDiffs?14:52
rvbajelmer: thans, I'll keep that in mind for next time (I already deleted my mp)14:52
deryckwallyworld, Now I can work on fixing windmill in my copious free time. :-)14:52
danilosrvba, it's possible, but the correct thing would be to target it to db-devel as well14:52
rvbadanilos: ok14:52
rvbadanilos: you're right, it probably could use assertContentEqual14:52
wallyworldderyck: excellent that it works. i know what you mean about free time. sure it's not worth seeing if trunk is any good?14:53
danilosrvba, you can at least get rid of the sorted() calls14:53
rvbadanilos: that's right. Here is the new mp https://code.launchpad.net/~rvb/launchpad/dsd-api-bug-766158/+merge/5922714:53
deryckwallyworld, oh, sure.  I'd probably do that first.  I have a patch in my branch that has to be applied, unless that is fixed now, too.14:53
* deryck doesn't recall what the patch fixed now, though14:54
danilosrvba, cool, will be commenting there14:54
danilosrvba, another tiny bit in that first test in the diff: "ds_diff_ws" should probably be "ds_ws" or "derived_ds_ws"14:55
rvbadanilos: well spotted :)14:56
danilosrvba, shouldn't difference_type and status be `Choice`s instead of `TextLine`s? and child_version_higher could probably be a `Bool`15:01
danilosrvba, fwiw, I am not completely sure how important it is to be precise with operation_parameters, but when it's not hard, I'd go for it :)15:02
danilosrvba, and parent_series could probably be more specific as well (all in interfaces/distroseries.py)15:02
rvbadanilos: you're definitely right.15:03
rvbadanilos: I guess I was a little bit too quick to submit this one :)15:03
danilosrvba, well, considering the tests pass, this seems to be mostly related to annotations for wadl file generation, so probably not a big deal :)15:04
rvbadanilos: yes, but the test is pretty minimal. I was advised not to duplicate all the tests for the api version of a function that is tested extensively elsewhere.15:06
deryckhenninge, oops, I suck.  I forgot our call.  Two minutes to warm coffee and then meet you in mumble?15:06
rvbadanilos: perhaps I could add one more test with parameters. Not to test the behaviour itself but parameter passing.15:07
danilosrvba, btw, you _do_ have a conflict now (line ~306)15:07
danilosrvba, yeah, that'd probably be good15:08
rvbadanilos: this conflict just appeared!15:08
rvbaeasy to fix though.15:09
danilosrvba, yeah, though note that once you merge db-devel, your diff between Steve's branch will grow until he merges db-devel as well15:09
rvbadanilos: right15:10
danilosrvba, marked it as needs-fixing (added a comment about what we discussed here, and one whitespace-in-a-string issue I noticed which I don't care about too much :)15:13
rvbadanilos: thanks a lot for the review!15:14
danilosrvba, you are welcome, I'll be going off OCR now, but if you get this done in <1h, I might have a time to look at it again, so just ping me15:14
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
rvbadanilos: all right ... for the whitespace issue: if you took to time to mention it, I'll take the time to fix it :)15:15
danilosrvba, heh, thanks15:16
=== al-maisan is now known as almaisan-away
deryckhenninge, connection troubles?  Shall we chat now?15:23
=== deryck is now known as deryck[lunch]
henningesinzui: Hi!16:21
sinzuihi henninge16:27
henningesinzui: I want to move Authorization into lp.app.authorizationbase because I want to add a unit test and do not want to add a file to canonical.launchpad.16:29
henningesinzui: would you agree with that course?16:29
henningesinzui: sorry "AuthorizationBase"16:30
henningesinzui: I am still wondering where IAuthorization should go in that case ...16:30
sinzuihenninge: other apps have their ow security.py. I think I would expect to see the classes that I extend to be in the same module name16:31
sinzuieg I think lp.bugs.security will import from lp.app.security16:33
henningesinzui: so you are saying I should use lp.app.security? I am fine with that, it was actually my first thought, too.16:33
sinzuihenninge: Most importantly, I am happy to give you +1 to move those classes.16:34
henningesinzui: thanks. The interface, too?16:35
sinzuiyes please16:36
henningecool16:37
jcsackett\o/ another thing gets moved into the lp tree!16:39
=== deryck[lunch] is now known as deryck
sinzuijcsackett: do you have time to mumble?16:58
jcsackettsinzui: sure.16:59
=== beuno is now known as beuno-lunch
jcsackettsinzui: https://code.launchpad.net/~jcsackett/launchpad/bloody-question-api-redirect/+merge/5924817:29
jcsackettand if you have something you would like me to review, now is a good time for it.17:29
sinzuijcsackett: https://code.launchpad.net/~jcsackett/launchpad/bloody-question-api-redirect/+merge/5924817:34
jcsackettsinzui: that's my MP. did you mean to paste in yours?17:35
sinzuijcsackett: I did. It is approved to land17:41
sinzuiI will find my own17:41
sinzuijcsackett: https://code.launchpad.net/~sinzui/launchpad/question-email-0/+merge/5924717:41
jcsackettsinzui: in IQuestionEmailJob i see body defined twice. based on description i think you mean subject for one?17:45
* sinzui looks17:46
sinzuioops17:47
sinzuiI am incompetent. I do indeed mean subject17:47
jcsackettsinzui: r=me, assuming typo fix. I mentioned in the comment that you might prefer assertContentEqual over having to sort lists when doing assertEqual, but it's hardly a necessary change.18:02
sinzuijcsackett: thank you. Yes I think I do want assertContentEqual. I will certainly need it in my next branch/18:07
=== beuno-lunch is now known as beuno
deryckI have an easy 13 line diff for review.  Who wants it? :-)18:16
sinzuime18:20
derycksinzui, thanks so much for claiming my review!18:30
derycksinzui, you're the perfect person for this actually.18:30
sinzuiI am because there was a test and I think someone should remove the cache purge instructions18:31
* sinzui is looking18:31
deryckah, cool18:32
deryckgrep and test regex was complete fail for me18:32
sinzuiSince i am not seeing it. I wonder if it was deleted. It was in a page test and I personally take every opportunity to delete them18:33
jcsackettsinzui: i'm pretty sure that's increasingly becoming the rule for everyone.18:34
deryckjcsackett, sinzui -- as it should be!  Though hopefully with replaced coverage. ;)18:38
ymailwho ymail18:42
sinzuijcsackett: I am suddenly feeling ill. I need to step away form my next for a few minutes.19:30
jcsackettsinzui: ok, i will try to keep an eye on #launchpad for a bit.19:31
jtvAny reviewers in today?  Got a very simple one:  https://code.launchpad.net/~jtv/launchpad/db-bug-771727/+merge/5920319:45
deryckLater on, everyone.21:04
sinzuilifeless: flacoste: One approach to allowing mlist posting is to treat it as an entry point for registration. Send a reply to the user confirming the post, state it is queued, and the user can register at this link to forward it to the list's moderation queue21:23
flacostesinzui: that doesn't avoid the spam backscatter21:23
flacostewhich would make IS cringes21:23
flacostewe had that problem with launchpad registration21:23
sinzuiI did not know that21:23
flacosteand it puts us on the 'spammers haven' list of big provider21:23
lifelesslp registration backscatter?21:23
flacosteyeah21:24
lifelesshow did that work ?21:24
flacostepeople complaining to google/yahoo that they get spam by launchpad21:24
flacostebecause someone entered their email address on the registration page21:24
sinzuiokay, now I connect the events21:24
sinzuiThat still happens though. Users do not know that registration is really with ubuntu?21:25
lifelessflacoste: ah21:25
lifelessflacoste: OTOH there is a robert collins who thinks my gmail address is his and signs up with hotels and banks and so on and I get all his mail.21:25
lifelessflacoste: *because* these folk don't do a handshake.21:26
lifelessIf I wanted US credentials I could have had them several times over now21:26
flacostelifeless: with a very bad credit score ;-)21:26
flacosteyou probably don't want his credentials!21:27
lifeless:>21:27
lifelesswell, he flys to london reasonably regularly21:27
lifelessso can't be too poor :>21:27
flacostelifeless: should I tally up the /api/ requests with the api.launchpad.net ones (in ppr)?21:29
lifelessflacoste: no21:30
flacosteor have two api categories?21:30
flacosteso keep /api/ with the related web requests21:30
lifelessflacoste: /api is part of the user interactions21:30
lifelessapi. is scripts21:30
sinzuiflacoste: lifeless: I suppose the captcha is an effective barrier to users wanting accounts, and that addressed the spam backscatter. the captcha was not effective against spammer who want to directly exploit Lp21:30
lifelessI think its only slightly interesting to count /api as a breakout from web requests, and not useful to combine with api.21:30
lifelesssinzui: you'd send a mail once with a captcha link?21:31
flacostelifeless: no, you need to file a captcha to register21:31
lifelessoh right21:31
flacostewhich means that no email is sent unless a captcha is passed21:31
lifelesshaving uid 2 I haven't seen our rego process in a long long long time21:31
lifelessso, some options:21:37
lifeless - make a very clear page saying 'we discard mail from non LP users'21:37
lifeless - start sending backscatter *if* we think its not spam from a non-lp user21:38
lifeless - change nothing21:38
lifelessas sinzui says, things like dkim could aid in the 'we think its not spam' assessment, but the prevalence of spam from compromised accounts means that it won't be a very useful metric21:39
flacostewe should do a) for sure21:41
lifelessas a data point21:42
lifelessgoogle groups have unmoderated groups which accept mail from anyone according to the docs (though there may be a rego-step in there, I can't tell without finding a random group and testing)21:42
lifelessmy google friends are asleep atm sadly, or I would ask around21:42
sinzuiI think google has a fantastic spam checker in front of its apps21:43
flacostewe could put spamasssassin in front of ours21:44
flacostethat would reduce it a bit21:44
flacosteprobably not as good as google though21:44
lifelesswe could run crossassassin too if we wanted21:44
lifelessthough with only 2K mailing lists it may be too small to benefit yet.21:45
lifelessanyhow21:45
lifelessright now, the key thing is user surprise21:46
lifelesslets not give ourselfs months of speculative design21:46
sinzuiThis could be treated as a switch. I declare my list is open, and I am willing to moderate the queue. those I approve get Lp profiles.21:46
lifelessI'd like to reopen that bug though flacoste - I think there is /plenty/ of data that casual users sending mail in is important to communities21:46
lifelessand we are mandated with building communities21:47
flacostelifeless: i say open a different bug: discarding email from non-LP users is surprising21:48
sinzuiI think so to. We can mark it incomplete an then we have 60 days to conclude the the merit of the proposal21:48
flacostei think Won't fix for that bug is the accurate current state21:48
flacostethe design constraints around spam still stand21:48
flacostesinzui: given the Low priority this bug is going to expire21:48
flacosteno point discussing a design for it21:48
lifelessflacoste: I agree that there is no point discussing a design while its low pri21:49
lifelessI would like the bug open (phrased differently perhaps) because I think this will come back repeatedly over time, *particularly* once our docs are accurate.21:49
lifelessflacoste: I will also open a bug about the docs21:49
lifelessflacoste: if you feel very strongly about this, we can leave it closed21:50
flacostewhat's another Low open bug :-)21:51
flacosteiow, i don't feel strongly about it :-)21:52
lifelesshttps://bugs.launchpad.net/launchpad/+bug/77201621:55
_mup_Bug #772016: users are surprised when mail from non-lp users is silently discarded by launchpad hosted mailing lists <Launchpad itself:Triaged> < https://launchpad.net/bugs/772016 >21:55
lifelessI've marked high21:55
lifelessbut it should be easy21:55
flacostethanks22:03
lifelessI have my monthly allergy shot today22:10
lifelesswill be out middle of the day22:10
=== Ursinha is now known as Ursinha-afk
lifelessok, time for injection... back in a few22:45
huwshimiMorning all23:02
LPCIBotProject windmill build #225: STILL FAILING in 1 hr 1 min: https://lpci.wedontsleep.org/job/windmill/225/23:31
LPCIBotProject devel build #681: FAILURE in 2 hr 12 min: https://lpci.wedontsleep.org/job/devel/681/23:31
sinzuidoes anyone one know if the number of builders is low either for the release of because OEM wants them back?23:54
elmosinzui: it's not OEM who own them, but rather Ubuntu Platform Services23:57
elmosinzui: but the answer is both23:57

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