/srv/irclogs.ubuntu.com/2005/07/19/#launchpad.txt

kikoaha12:14
lifelesswho speaks german here ?12:24
bradbis rince.africaninspace.com not used for the MLs anymore?12:24
lifelessbradb: shouldn't be12:24
lifelessbradb: it was full12:24
lifelesshttp://bazaar.canonical.com/ichliebees <- what does this say12:24
ddaa*giggle*12:26
ddaareal hardcore users is something canonical gaves me exposure to, and I'm grateful for it :)12:27
bradblifeless: should i resent my mail to @lists.u.c then, or is rince going to be fixed?12:27
lifelessbradb: all the lists are named on lists.u.c or lists.c.c12:27
lifelessbradb: I have 0 context about what you are doing. so ..12:28
lifelessddaa: ?12:28
ddaa"Hi Sandy, greetings to New Delhi, how is the weather there? Is this something like Wikipedia? What is it supposed to be?"12:28
ddaa"Hell(o) (t)here is anybody out there? Tell me where you are, what you are and what is expected to do."12:29
lifelessddaa: do me a favour ? answer in German and say what it is ;012:29
bradblifeless: i sent mail to launchpad@rince.a.c earlier, but i'm getting deliver delayed messages back...wondering if i should resend to @lists.u.c or wait, on the assumption that rince is actually going to be fixed.12:30
ddaaI do not think I can possibly cast an answer that would make sense to users at that level of total cluelessness...12:30
=== ddaa babelfishes
bradbsalgado: did your merge request fail?12:31
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: New PersonNameField (to be used in auto-generated forms), which checks if a name is not in use before trying to assign it to someone. r=SteveA (patch-2093: guilherme.salgado@canonical.com)12:31
bradbheh12:31
salgadobradb, ^^ there's your answer. :)12:31
ddaaFirst one: "That is my first side. Welcomely in my virtual world. Shortly more. Hopefully." Apparently he thinks that's something like geocities...12:31
salgadobradb, now is your turn. ;)12:31
bradbyup12:32
bradbi can feel the stress building alreadsy12:32
kikolol12:32
bradbs/sy/y/12:32
lifelessbradb: dunno12:36
Kinnisonciao dudes12:36
bradblater Kinnison 12:37
lifelessnight12:39
ddaalifeless: I gave a clue to that lost soul on the wiki...12:39
lifelessdanke12:39
ddaain english, sorry12:40
lifelessoh, ho12:40
lifelessnp12:40
=== asgeirf [~asgeirf@nat-pool-brisbane.redhat.com] has joined #launchpad
=== terrex [~terrex@84-122-73-155.onocable.ono.com] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=kiko]  add canonical URL for IDistroReleaseBugTask. add sample data so that existing tests are also able to test page behaviour with distro release tasks. (patch-2094: brad.bollenbach@canonical.com)12:57
kikowooo!12:57
kikobradb!12:57
=== bradb fistpumps
bradblifeless: is there any mechanism in baz to "retire" branches? of the 39 branches returned by "baz branches", i only care about 6 of them.01:00
bradbso, i don't want to see the other 33 all the time (and, in a few months from now, double those numbers)01:00
lifelessbradb: no01:01
lifelessbradb: later there will be01:01
bradbok, fair enough01:01
bradbthere doesn't appear to be a bug open on this, so i guess that's my cue01:03
lifelessnot really01:03
lifelesslook way back at sealing and stuff, I'm sure there is something there01:04
carloshow could I remove a row from the DB if I have a SQLObject representing that row?01:16
bradbcarlos: Foo.delete(fooinstance), IIRC01:18
carlosbradb, ok, thanks01:18
lifelessfooinstaance.delete ?01:18
bradblifeless: the inst method is named destroySelf, IIRC, which I've always found to be a not-particularly-good-way of communicating with the maintainer of the code01:20
ddaabradb: you can use "baz rbrowse", it will not show sealed versions by default01:23
ddaacourtesy of jblack01:23
jblackrbrowse is at least partially broken.01:24
=== terrex [~terrex@84-122-73-155.onocable.ono.com] has joined #launchpad
jblackI didn't put in enough tests for rbrowse and somewhere around baz 1.2 new code started screwing up.01:25
ddaathat means it needs more testing, doesn't it? ;)01:25
bradbbradb@oxygen:~ $ baz help | grep seal <= tells me how much further I'm going to get reading more into this01:25
bradb(er, forgot to paste the empty result list, but anyway)01:26
jblackNew code external to rbrowse, that is. 01:26
ddaabradb: if you are looking for info about what sealing is, look at "commit -H"01:26
jblackhiding sealed revisions is slated to go away some day anyways. Certain important people think it shouldn't be there, and done better instead. 01:26
ddaabazically, it's creating a "version-0" revision.01:26
=== bradb cowers in the face of having to retain arbitrary facts
ddaajblack: I totally agree with that assessment, but that's an effective workaround in the meantime.01:27
jblackbradb: How about this:  "baz hid <archive|cat|branch|version>" 01:27
ddaawell... at least that's _a_ workaround...01:27
bradb"commit -H" and "seal" do not compute to me, but maybe this is because there's some background i don't have that other baz developers do with "sealing"01:27
jblackhide, that is.01:28
jblackActually, I really like that. THen local rules apply. 01:28
bradbseems interesting01:28
ddaawhy not... but that hiding should really be a global information.01:29
bradbit's your guys' call as to whether a "hide" option fits the Baz Way01:29
jblackNo, not global. 01:29
jblackWhat I want to hide from my view you do not necessarily want to hide from your view. 01:29
jblackAs an end user, I might not care about microbranches. As a developer, you may not care about really old stable branches (most of the time). 01:29
ddaalocal fixes the "my archive is full of cruft" use case, but not the "his archive is full of cruft" one, and they are basically the same.01:29
jblackSure it does. 01:30
lifelessseal actuall has different semantics01:30
ddaasure it has01:30
lifelessit won't be translated into 'hidden' when we get the replacement do-it-right stuff that we're designing in bzr01:30
jblack"baz hide  <all but something>" 01:30
dilysMerge to rocketfuel@canonical.com/sqlobject--test--0.6: [trivial]  Make transactions obsolete on commit, now that the tests pass. (patch-30: andrew.bennetts@canonical.com)01:30
bradbbaz hide-archive? baz unhide-archive?</brainstorm>01:30
ddaabut these semantics are ill-placed and nobody uses them.01:30
jblackThat's very useful to most people. 01:31
bradber, not archive, sorry01:31
bradbi wonder if "hide" is to generic a name though01:31
jblackOh, Actually, a lot of people do depend upon the hide semantics of sealing. It was rather popular for baz.01:31
jblack"show" is more clear, but I shudder at "show hide <some pattern" 01:31
bradbhide-branch, show-branch? baz branch --hide? *shrug*01:32
ddaayup... that's the only thing sealing is used for in the wild AFAIK, original sealing semantics has been classified as "looked like a good idea at the time" for about as long as I have been using arch.01:32
lifelessuhm01:33
lifelessI know branches doing both01:33
jblack"baz branch --hide" doesnt work for third parties. For the user to tell us they want to hide a branch, they have to tell us they want to branch. 01:33
bradbright01:34
jblackI personally think "baz hide PATTERNGLOB" and "baz hide /REGEX/" would do the trick neatly. 01:34
bradbi think hide or hide-branch seem ok01:34
lifelessuhm01:34
jblackIt would cover future namespace plans well. 01:34
lifelessso n bzr land you jsut delete the branch01:34
jblackbradb: Were you suggesting this for bzr? 01:34
lifelesswith shared storage this just unlinks the tip, it doesn't destroy history01:34
bradbjblack: no, for baz.01:35
lifelessjblack: we need to consider bzr-baz convergence in design01:35
jblacklifeless, do you have plans for tip hiding in baz? 01:35
jblackin the next 1-2 quarters? 01:35
lifelessjblack: yes01:36
lifelessin the next 2 quarters we shuold be fully converged01:37
jblackbrb. I need to pick up my jaw.01:37
jblackJust to be clear, a quarter in au is the same as in the US? 3 months? 01:38
lifelessyes01:38
jblackand you do mean full convergance? 01:38
jblackwhat with conferences, sprints, imports, pybaz, the supermirror included? 01:39
jblack(supermirror as pertains to lp integration)01:40
jblackI'm not arguing here. If you say we can do it, then lets try and do it. 01:41
lifelesswe're slated for a 1.0 release of bzr before the end of the year01:42
lifelessthats defined as bzr and baz working on the same data formats with the same (or close enough) ui, PLUS bzr 1.0 status in its own right.01:42
bradbright, well, i'm off for now. later all.01:42
jblackI hear you. 01:44
jblackIts getting close to 20:00. Somebody over here has been asking me if I've been getting hungry for the last 3 hours, so I figure its time to do something about it. 01:44
jblack<wow. compatibility in 2 months after bzr 1.0 though>01:46
jblacksee you guys tomorrow morning01:46
carlosjblack, night01:49
ddaalifeless: ArchiveLocation support mostly done, still missing bells and whistles like Archive.make_all_mirrorer, deprecation, and proper bound namespace support, but the essentials are here. That's a good time to have a look at it if you wish. I'll put it in regular review pipe when it's done.01:53
lifelessddaa: is it good enough to migrate the importd code ?01:53
ddaaddaa@ddaa.net--2004/pybaz--archivelocation--001:53
lifelessddaa: cause thats the point we switch horses and do that01:53
ddaaI think it is. I added some transitional methods because I needed _some_ bound namespace functionality for tests, and I think I covered the subset that is needed by importd.01:54
lifelesscool01:55
ddaaI would hate to merge that before doing deprecations, since I'm going to use the 1.5 opportunity to just drop _all_ the deprecated stuff.01:55
lifelessso - please put it up for review now.01:55
lifelessdude.01:55
lifelessfocus on the bouncing ball here.01:55
ddaa..01:55
lifelesswe want to switch to the newer gpg logic in baz 1.4.x, that needs this code, do deprecations and dropping other things is orthogonal.01:56
ddaaalso, having deprecation warnings is going to be a great help to porting the importd code.01:56
ddaajust run the test suite and a sample import run, and look for warnings01:57
ddaalifeless: still here? That's actually the original reason for wanting deprecation warnings before review. Otherwise we risk unexpected breakage when switching to the new registration.01:59
ddaaokay... I'll do it now.02:00
lifelessddaa: so - I'm happy whatever order you tackle it in. But goal #1 is importd running new-rego 1.4. Goal #2 is dropping old location support.02:01
ddaaadding deprecations right now02:02
ddaaI'm going to be a nice boy and _not_ fix the test suite02:02
=== carlos -> bed
carlosnight02:46
=== stub [~stub@203-217-37-199.dyn.iinet.net.au] has joined #launchpad
=== mpt [~mpt@203-167-186-120.dsl.clear.net.nz] has joined #launchpad
=== ricosuave17 [re@c-24-98-181-138.hsd1.ga.comcast.net] has joined #launchpad
ricosuave17what is launchpad?04:09
ricosuave17anyone here04:10
lifelesshi04:11
lifelesslaunchpad.ubuntu.com :)04:11
ricosuave17i read it a bit but still not sure why i just made an account04:12
lifelessits the bugtracking system, translation system, distro management, for ubuntu.04:13
ricosuave17oh what does distro management mean04:13
lifelessit integrates all these things into one environment, providing both distro specific and upstream (code author) support.04:13
lifelessdistro management - what goes into the distro, packages, patches, binarys build logs etc04:13
ricosuave17interesting can i use the rosetta thing to translate text?04:14
lifelessaboslutely04:14
ricosuave17humm so im still a bit confused about everything i just installed ubuntu. i feel kind of guilty04:15
lifelessit doesn't translate for you - you translate programs by telling it what the translation should be04:15
lifelessguilty?04:15
ricosuave17yeah cause ubunutu is supposed to be a piece of discrase. they call it the windows of linux. i worked with slackware b404:16
lifelesswhat does 'discrase' mean ?04:16
ricosuave17sorry i cant spell04:16
ricosuave17bad translation of spanish word to english04:17
ricosuave17it displeases thats what i got from babelfish04:17
ricosuave17well disgrace04:17
ricosuave17u still there04:20
lifelessyup04:20
lifelessdoing other things too.04:20
ricosuave17oh ok04:20
ricosuave17so what is this new relaease of ubuntu. what is expected of it04:20
lifelessI hadn't heard that ubuntu was displeasing - the feedback we get is all pretty positive.04:20
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=bjornt]  Cronscript refactorings (patch-2095: stuart.bishop@canonical.com)04:21
ricosuave17??04:21
lifelessricosuave17: well breezy has a bunch of stuff in it04:23
lifelessthats the one being worked on now04:23
lifelessI don't work on the distro myself, I suggest you chat in #ubuntu if you want to talk about that04:23
ricosuave17yeah but there to many people04:23
ricosuave17do u know what cool stuff is coming in breezt04:23
lifelessthats because it is popular ;004:24
lifelesssorry - really - #ubuntu is the right place for that04:24
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Trivial fixes lost in PQM (patch-2096)05:05
dilysMerge to rocketfuel@canonical.com/pygettextpo--devel--0: [r=SteveA]  add docstrings to pygettextpo (patch-6: james.henstridge@canonical.com)05:28
dilysMerge to rocketfuel@canonical.com/dists--devel--0: [trivial]  Snapshot production tree in attempt to get tests to pass (patch-96: stuart.bishop@canonical.com)05:28
dilysMerge to rocketfuel@canonical.com/launchpad--production--1.25: Cherry pick into production (patch-3: stuart.bishop@canonical.com, rocketfuel@canonical.com, celso.providelo@canonical.com ...)05:54
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=BjornT]  add timezone preference page (patch-2097: james.henstridge@canonical.com)06:28
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  use fmt:url for links in distro,release,arch details portlets (patch-2098: james.henstridge@canonical.com)07:18
=== _Raptor_ [~KillerApp@dsl-253-122.monet.no] has joined #launchpad
=== _Raptor_ [~KillerApp@dsl-253-122.monet.no] has joined #launchpad
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  fix some database imports. move Bug[Task] Delta to components. (patch-2099: bjorn.tillenius@canonical.com)08:34
=== _Raptor_ is now known as _Rappy_
stubI've just labotimized Rosetta to keep Launchpad up08:59
lifelessmmm ?09:00
stubAnother lets-run-a-3-hour-query-in-our-web-application issue locking Launchpad.09:01
stubSo I've revoked permissions to that table, so most of the Rosetta pages will now give a System Error.09:01
lifelessfnor09:01
jameshwhat was the query for?09:01
lifelessuhm, why don't we just disable their cron job ?09:01
BjornTspiv: i've found some more problems with order by in sqlobject. 'select Foo.id, ... union select Foo.id, ... order by Foo.id' doesn't work09:04
BjornTspiv: would it be possible, for set operations, to automatically replace 'order by Foo.id' with 'order by 1'? (where 1 is the position in the select list)09:05
stubIf you are pushing it too far, you don't *have* to use SQLObject. You can issue your own SQL if you like ;)09:09
lifelessstub: ew.09:10
stublifeless: it wasn't a cron job - it was inside the launchpad application09:11
lifelessstub: oh foo09:11
lifelessstub: that really blows then huh.09:11
stubjamesh: no idea. Probably generating some percentage nobody really cares about ;)09:11
lifelessstub: could it be exporting po files for every language ?09:12
stublifeless: That is queued and farmed out to a batch process09:12
lifelessmmm09:18
lifelessstub: do you know if elmo has done the accounts for me matching yours on the new boxen ?09:20
stublifeless: I haven't heard back from elmo this week about anything09:22
stubWhich also means the new boxes aren't active, either (launchpad is running on them, but no load balancing and no requests actually get to them)09:22
lifelessypu09:26
lifelessyup09:26
BjornTspiv: i found another problem with you distinct fix. queries like 'SELECT DISTINCT ... FROM POTemplate, ProductSeries ... ORDER BY datecreated' fail, since datecreated exists in both tables09:31
SteveA_stub: can we add a query timeout instruction to the begin transaction stuff when starting a new sql transaction for the publisher?09:38
SteveA_that would guard against future problems with queries that take too long09:38
SteveA_stub: who is responsible for the librarian test suites?09:40
lifelessstub: spiv AFAIK09:41
=== JanC [~janc@JanC.member.lugwv] has joined #launchpad
stubSteveA_: Yes. I'll look into it.09:56
SteveA_ta09:56
carlosmorning09:57
carlosBjornT, I think is enough if you put there POTemplate.datecreated directly09:59
BjornTcarlos: yes i know. but rather than changing all queries like this in launchpad, i'd like to see it handled automatically. otherwise, depending on what you do, sometimes you have to use 'Foo.bar', and sometimes 'bar'10:08
carlosBjornT, which one should sqlobject choose ?10:08
carlosI don't see how would it be easy to decide...10:08
BjornTcarlos: sourceClass._table. maybe we should enforce Foo.bar syntax, though.10:12
BjornTwhere is spiv?10:12
carlosBjornT, hmm, I suppose it makes sense ;-)10:13
=== carlos is still thinking on SQL sentences :-P
SteveA_stub: you seem to be setting launchpad bugs to be private that do not need to be private10:21
stubLast I heard they should all be private10:21
SteveA_we've gone more public10:26
SteveA_so, bug reports that contain significant code, tracebacks, security info, etc. should be private10:26
SteveA_others can be public10:26
stubYou should tell the mailing list then ;)10:27
SteveA_i'll tell people in brazil ;-)10:28
BjornTSteveA_: when i use canonical_url in a script i get: NoCanonicalUrl: No url for <Bug at 0x41889f0c> because <Bug at 0x41889f0c> broke the chain.10:29
SteveA_are canonical urls defined for bugs?10:29
SteveA_is your script running init_zopeless10:29
SteveA_ah -- i know what it is10:29
SteveA_i need to make browser:url processed by initzopeless10:30
SteveA_can you file a bug on it please?10:30
SteveA_http://en.wikipedia.org/wiki/Rosetta_(software)10:30
BjornTok. do you think you can fix it soon? the email commands will be broken until it gets fixed.10:31
SteveA_i can give you a workaround soon10:32
BjornTcool, thanks10:33
SteveA_lib/canonical/launchpad/scripts/__init__.py, line 5810:33
SteveA_        if ns == u'http://namespaces.zope.org/browser':10:34
SteveA_change to10:34
SteveA_        if ns == u'http://namespaces.zope.org/browser' and simplename != 'url':10:34
SteveA_but, i'll need to fix this better when i land the navigation stuff10:36
KinnisonHi guys10:37
stubSteveA_: We also need the zcml tied into the test harnesses, probably the existing Zopeless ones.10:56
carlosstub, dude, that DoS from Rosetta is a bit difficult to find with only that query...11:32
carlosstub, could you give me some extra information? (like the query executed just before that?)11:32
SteveA_do the web logs tell us what page first failed with the query?11:32
carlosnot sure if that would help, but with current information is a bit difficult11:33
carlosstub, btw, I think that kind of query is only available to register users, so google should not be a problem ...11:34
SteveA_ideally, we'd add code to the dbconnection to detect that query and drop into the debugger11:35
SteveA_then carlos would run the test suite11:35
carlosSteveA_, do you have a small howto do it?11:36
SteveA_no, i just had the idea11:37
SteveA_jamesh: might have a better idea11:37
SteveA_stub, BjornT: question for you11:39
SteveA_i'm making the bug links have a title in the anchor11:39
SteveA_here's what i'm going to do:11:39
SteveA_  - if the bugnum is not found, put "no such bug" in the title, but leave the bug linked.11:40
SteveA_ - if the bugnum is found, look to see if it is private11:40
SteveA_ - if it is private, put "private bug" in the title11:40
SteveA_ - if it is not private, put the bug.title in the title.11:40
SteveA_what do you think?11:40
carlosok. jamesh, ?11:40
jameshcarlos: there is a statement_timeout connection variable in postgres11:42
carlosstub, Do you think it's possible to get a diff between two production db? 11:42
SteveA_using the statement timeout won't help11:42
carlosjamesh, if we reduce it do you think we could know where the problem is?11:42
SteveA_carlos is trying to track down a problem that occurs with production data11:42
jameshcarlos: it can either be set in the postgresql.conf file, or using the "SET xxx TO nnn;" statement on the connection11:43
SteveA_but on his own machine11:43
jameshcarlos: it defaults to 0 (no timeout)11:43
carlosjamesh, SteveA_ is right, It makes no sense to debug it with my computer11:43
jameshcarlos: can it be reproduced on staging?11:44
carlosjamesh, the problem is that we don't know where is that query11:44
carlosas we don't have the whole query11:44
jameshcarlos: I mean, would it be possible to reproduce it on the staging server11:45
jamesh?11:45
carlosjamesh, yes, we should be able11:45
carlosif we know where should we look at11:45
jameshcarlos: well, one option would be to set the statement_timeout to some appropriate value on staging that will catch the bad statement11:45
carlosjamesh, again, we don't know the URL that causes the bug11:46
carlosjamesh, so that will not help us too much11:46
jameshcarlos: okay.  If stub has a good idea of how long queries take on production, maybe it would be possible to set the statement_timeout there too11:47
jameshsuch that it won't ever be a problem for good queries11:47
jameshbut will catch the bad rosetta queries11:47
carlosjamesh, will the users get system errors?11:47
carlosthat means we would get back traces11:47
carlosand that's exactly what I need11:48
jameshcarlos: for queries that take a long time, I believe it would give an error to the user.11:48
SteveA_we need to set the timeout on the webapp publisher connection only11:48
SteveA_if we set it on scripts, it will be a problem11:48
jameshcarlos: which we record11:48
jameshSteveA_: it is a connection variable -- the setting in postgresql.conf is just the default value11:49
SteveA_then all scripts would need to set it longer11:49
SteveA_better to set it short for the webapp.  that's the one we care most about11:49
SteveA_for avoiding DOS11:49
BjornTSteveA_: re bug linkifying. i think it sounds good. although, i think that "private bug" should only be put there if the user isn't allowed to view it.11:50
jameshor leave it at the default of 0 for scripts, and a sane timeout for webapp11:50
SteveA_is it easy to ask "is this bug private for the logged in user" ?11:50
SteveA_jamesh: +111:50
BjornTSteveA_: some checkPermission(bug, 'launchpad.View') should work11:53
stubcarlos: https://chinstrap.ubuntu.com/~dsilvers/paste/fileGaiTs7.html11:54
SteveA_BjornT: or just try, and see if i get a Forbidden error11:54
BjornTyeah, that works as well11:55
carlosstub, I think it's related to the suggestions code11:56
stubcarlos: Here is one of the full queries:11:56
stubSELECT POSubmission.id, POSubmission.origin, POSubmission.person, POSubmission.pluralform, POSubmission.datecreated, POSubmission.potranslation, POSubmission.pomsgset, POSubmission.validationstatus FROM POMsgSet, POSubmission WHERE11:56
stub                    POSubmission.pomsgset = POMsgSet.id AND11:56
stub                    POMsgSet.pofile = 1210 ORDER BY datecreated DESC LIMIT 111:56
stub2005-07-14 06:29:25 [10444]  LOG:  statement: SELECT COUNT(*) FROM Language, POFile WHERE11:56
stub                    POFile.potemplate = 214 AND11:56
stub                    POFile.language = Language.id AND11:56
stub                    POFile.variant IS NULL AND11:56
stub                    Language.code = 'da'11:56
stubErm.... the first one 11:56
stubSELECT POSubmission.id, POSubmission.origin, POSubmission.person, POSubmission.pluralform, POSubmission.datecreated, POSubmission.potranslation, POSubmission.pomsgset, POSubmission.validationstatus FROM POMsgSet, POSubmission WHERE11:56
carloscool11:56
stub                    POSubmission.pomsgset = POMsgSet.id AND11:56
stub                    POMsgSet.pofile = 1210 ORDER BY datecreated DESC LIMIT 111:56
carlosstub, thanks11:56
KinnisonHow big is POSubmission?11:57
carlosstub, hmm, the main problem is that I don't see an easy way to optimize it, the ORDER BY is the one that causes the slowness11:58
jameshis there an index on PoSubmission.datecreated?11:58
carlosI suppose11:58
carlosKinnison, really big11:58
carlosjamesh, does it help with an ORDER BY?11:58
jameshcarlos: it should.11:58
stubcarlos: the query takes about 13 seconds, and the page appears to want to make lots of them.11:59
carlosKinnison, I think it could be more than 4 million of rows11:59
carlosstub, I told you, suggestions11:59
stubKinnison: A squidge under 4million at the moment11:59
carlosstub, do you think jamesh suggestion will help there?12:00
carloscould we try it?12:00
carlosI don't think we have such index12:01
stubAnd there are 4.8 million in pomsgset, so joining those two tables is rather dangerous and probably impractical12:01
KinnisonDoes it ever get smaller?12:01
jameshstub: the join conditions should knock most of those out pretty quickly though, right?12:02
jameshKinnison: POSubmission is essentially the history of all translations entered into the system12:04
carlosKinnison, it will grow a lot12:05
KinnisonOh christ12:05
jameshcarlos: in the sample data, EXPLAIN says that a posubmission.datecreated index would be used, and reduces the estimated minimum cost, but the max cost stayed fairly similar12:06
jameshcarlos: I don't know what the results would be like on the production data12:06
carlosstub, ?12:07
stubMost of the cost is doing the join. Two huge tables. You don't get (comparitively) many results back so the index on datecreated doesn't make much difference.12:09
carlosstub, ok, I will try to change that code to use raw queries with joins then12:09
carlosso I can filter rows before the join is performed12:10
stubI don't know if that will help - you would need to replace it with two queries on multi-million row databases.12:10
carlosnot really, I have done it before and it works12:10
carlosSomething like "SELECT POSubmission.* FROM POSubmission JOIN POMsgSet ON POMsgSet.id=POSubmission.pomsgset AND POMsgSet.pofile=1210"12:12
jameshwould it be difficult for the pomsgset to maintain a link to the relevant submission?12:15
carlosjamesh, we would cache too much information that way and that 'cache' should be recreated if we change the code that calculate those values12:17
carlosjamesh, if the raw sql code improves the query (I think it will do it) it should be easier, as the number of rows to join will be much lower12:18
carloshmm, reading the query again...12:19
carlosjamesh, yes it should be easy to cache that value, as it's not part of the suggestions code but the poexport code, to know when was last time a pofile was updated so it's a matter to cache that value with every submit to that pofile...12:20
jameshcarlos: the "POMsgSet.pofile = 1210" should still be in the WHERE clause12:20
carlosjamesh, not really12:20
carlosjamesh, if we leave it in the WHERE, the join will be working with all rows12:21
Kinnisonstub: What creates the users for the database?12:21
jameshcarlos: it isn't a condition used to join POSubmission and POMsgSet -- it is a condition used to filter which POMsgSet rows are used12:21
carlosadding it there we join only the rows that belong to that pofile12:21
Kinnisonstub: I think we're missing some users in the dogfood db12:21
stubKinnison: Users create the users12:21
carlosjamesh, as we will use raw queries, we can set it as %s12:22
carlosjamesh, and the python code will change it to the right value12:22
carlosas I said, I have done that before12:22
Kinnisonstub: Even ones like fiera?12:22
=== mpt [~mpt@210-54-233-55.jetstart.xtra.co.nz] has joined #launchpad
Kinnisonstub: actually I think it's a question of who is allowed to attach as that user12:22
stubKinnison: You mean database users? They are created by security.py12:22
Kinnisonis it only the launchpad user?12:22
stubKinnison: Oh - that is a permissions thing I need to fix12:22
carlosit will be something like ... ') % sqlvalues(pofile.id)12:23
jameshcarlos: actually, according to EXPLAIN, postgres is smart enough to treat the two queries as equivalent.  But from a correctness perspective, you should put the POMsgSet.pofile=... bit in the WHERE clause12:23
jameshstub: does using statement_timeout on production and staging sound like a sane way to catch these problems?12:24
carlosjamesh, I did that with a view, perhaps a view is different and postgresql is more stupid with those...12:24
Kinnisona view is essentially a prepared statement I thought12:25
stubWell bugger me.12:25
KinnisonUnless it's a materialised one12:25
=== Kinnison could be entirely wrong though
jameshcarlos: in general, postgres optimises view usage the same as subqueries12:26
stubcarlos: If you remove the limit 1, the query is much, much faster. The limit 1 is confusing the opimizer.12:26
stubjamesh: Adding the option will make pages doing bad queries return a system error instead of locking launchpad12:26
jameshstub: which should be viewable on /errors/, right?12:27
carlosstub, I need DELETE rights for POSubmission and POTranslation from a data migration script, how could I do it? changing security.cfg seems to do nothing (and recreating the db later, of course)12:27
jameshwith stack traces12:27
stubjamesh: Yes. Might even have a useful traceback ;)12:27
carlosstub, ok, will remove the limit1 then12:27
carlosstub, the script will be run once and we will not need it anymore12:28
stubcarlos: Update security.cfg, then run security.py -d mydatabase12:28
SteveA_BjornT: I can't get the attribute 'id' on a private bug.  Is this intended?12:30
carlosstub, how could I do some testing for this script with production data before you execute it?12:30
stubcarlos: I run it against the staging database12:30
carlosstub, and could we get a diff against the original db? ;-)12:31
stubcarlos: Sure. I'll email it to you :-P12:31
SteveA_BjornT:  the larger issue is, I cannot get a canonical_url for a private bug.  Seems wrong to me.12:32
stubShould only be a few million times12:32
carlosstub, I prefer if you call me by phone and read it :-D12:33
BjornTSteveA_: hmm. yes, getting a canonical_url should be possible. i don't think it would cause a problem to allow it. feel free to change it, if no tests break, it should be ok.12:35
SteveA_not me todya12:36
SteveA_need to do a launchpad meeting, land code, pack for brazil12:36
SteveA_i will file a bug12:37
stubcarlos: If removing the limit 1 is a trivial fix, let me know what branch I can find it on and I'll cherry pick it directly (I'd rather not leave Rosetta broken over the weekend and I fly out in about 8 hours)12:38
carlosstub, will try to have it ready before the meeting 12:39
carlosit should be trivial, yes12:39
carlosbut I'm trying to finish a script that I need you execute on production to migrate data that a bug that is already fixed introduced into our db12:40
stubBugger me again. Having created and dropped the posubmission_datecreated index, the original query is working fine again :-(12:42
stubMight be a RAM thing...12:42
carlosstub, it's the export code12:42
carlosstub, so it should be enough if you just disable the cronscript that export the po files12:43
stubHmm...  contention, or just swapping stuff out of cache12:43
stubI've regranted the permissions.12:43
KinnisonSteveA_: I'd already filed that bug12:47
KinnisonSteveA_: I've marked yours as a duplicate12:47
stubcarlos: How about I make the export run daily?12:48
SteveA_Kinnison: which one?12:48
SteveA_i just filed two bugs12:48
carlosstub, thinking it twice... how is possible that the export locks launchpad?12:48
KinnisonSteveA_: the tab ordering12:49
SteveA_i don't like having a separate "malone" and "launchpad" product in launchpad12:49
SteveA_Kinnison: ta12:49
carlosstub, or did you thought it because the amount of time it takes to execute?12:49
stubIt shouldn't I guess. Imports might be an issue (there appear to be three poimport jobs running at the moment...)12:49
KinnisonSteveA_: I try to file at least one bug in launchpad every day12:49
KinnisonSteveA_: as part of my community spirit12:49
Kinnisonthey tend to be bazaar or malone bugs :-)12:49
carlosstub, poimport can be killed, that script is broken, I have a fix ready to be merged but waiting for salgado ok12:49
carlosthat's one of the changes I need you move into production today ;-)12:50
=== palmTree [~chatzilla@213.210.241.230] has joined #launchpad
stubcarlos: Better be quick. I can't do it on the plane, and I'm on the plane for a damn long time ;) Or you have to start bribing lifeless instead.12:56
carlosI suppose you will be around until the end of the meeting, right?12:57
SteveA_ /msg me meeting items.12:57
=== carlos merges now his branch and will fix any change salgado request after the initial review so we go faster and the script is fixed :-)
=== palmTree [~chatzilla@213.210.241.230] has left #launchpad []
SteveA_carlos: hello01:14
carlosstub, ok, I think I have ready the script to migrate the data, how do you want to get it to test in staging and then move it to production?01:14
carlosSteveA_, hi01:14
SteveA_carlos: do you know if you or daf have done anything about these:01:15
SteveA_You should not import DummyDistroReleaseLanguage from canonical.launchpad.browser.distroreleaselanguage:01:15
SteveA_    canonical.launchpad.browser.distrorelease01:15
SteveA_    canonical.launchpad.browser.traversers01:15
SteveA_You should not import BaseExportView from canonical.launchpad.browser.pofile:01:15
SteveA_    canonical.launchpad.browser.potemplate01:15
SteveA_01:15
SteveA_  warnings.warn(POSyntaxWarning(msg='PO file header entry has no content-type field'))01:15
SteveA_ /scratch/dists/launchpad/lib/canonical/launchpad/components/poparser.py:315: POSyntaxWarning: PO file header entry has no content-type field01:15
SteveA_  warnings.warn(POSyntaxWarning(msg='PO file header entry has no content-type field'))01:15
SteveA_ and01:15
SteveA_    No page title in canonical.launchpad.pagetitles for pofile_export01:15
carlosSteveA_, not yet, I have them in my todo list as you asked01:16
carlosbut I was working on more critical things until today01:16
SteveA_ok01:16
SteveA_morgs: ping01:17
morgsSteveA_: hi01:17
SteveA_You should not import newProductRelease from canonical.launchpad.browser.productrelease:01:17
SteveA_    canonical.launchpad.browser.product01:17
SteveA_    canonical.launchpad.browser.productseries01:17
stubcarlos: I'm just rebuilding staging (the db hasn't been synced with production for a few days for gina testing). Stick the script somewhere I can get it and I'll run it when it is done.01:17
SteveA_and01:17
SteveA_You should not import newBugTracker from canonical.launchpad.browser.bugtracker:    canonical.launchpad.browser.project01:17
SteveA_morgs: can you fix those please?01:18
morgsSteveA_: OK01:18
SteveA_see the mail i wrote to the list last week01:18
morgsOK01:18
SteveA_    No page title in canonical.launchpad.pagetitles for productseries_ubuntupkg01:19
SteveA_there's that too01:19
carlosstub, I'm interesting on the output of the script because there is a possible case that is not implemented because it's a bit difficult and I think that perhaps, we don't have it in our production data. If we do, then the script should show a message01:19
morgsSteveA_: OK01:19
stubcarlos: ok01:19
Kinnisonlifeless: how goes the new tree-format work ?01:25
lifelessKinnison: good01:25
Kinnisonlifeless: any idea when it'll make the promised performance changes? Is it still aiming for early 1.6?01:26
=== mpt [mpt@210-54-126-94.dialup.xtra.co.nz] has joined #launchpad
lifelessKinnison: I'm working on tuning at the moment, then move to inventory-based inventorying, then apply changeset.01:26
KinnisonWill the fix for bug 212 (log-for-merge needs to be sane) come out with this?01:27
KinnisonOr is that a totally separate job?01:27
lifelessKinnison: the fixi is trivial, fixing the damage it causes isn't01:28
Kinnisonlifeless: damage?01:28
lifelessKinnison: all the dependencies to do the fix are in place : archive version updates, tree version updates, patch versioning.01:28
lifelessKinnison: log-for-merge, merge, merges, ancestry, annotate etc will all be affected.01:28
Kinnisonoh ergh01:28
lifelesseverything that says 'what patches are in this branch' has to be essentially audited01:29
KinnisonGotcha01:30
carloslifeless, I think pqm is stalled01:32
carloshttps://chinstrap.ubuntu.com/~dsilvers/paste/fileyzlP8F.html01:32
Kinnisonbradb-afk: ping01:38
carlosstub, I'm adding the script to my launchpad--devel--0 branch is that ok?01:44
stubcarlos: sure01:45
SteveA_ /msg me meeting items.01:45
SteveA_meeting in 15 mins01:45
SteveA_now is a good time for a workrave01:45
carlosstub, you will need to add DELETE to security.cfg for POSubmission and POTranslation01:45
SteveA_when is dilys going to have a meeting-nanny mode?01:46
KinnisonWhat, to issue time warnings, collect bingo sentences, etc?01:47
SteveA_yes01:49
SteveA_and do the roll call01:49
SteveA_see and activity report call01:49
SteveA_basically, to see who has not responded to a particular question01:49
=== debonzi [~debonzi@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
mptAny sufficiently advanced dilys is indistinguishable from SteveA01:50
carlosstub, https://chinstrap.ubuntu.com/~dsilvers/paste/filevre5Mc.html01:51
carlosstub, that's the method that causes the problem with Rosetta01:51
KinnisonSteveA_: my understanding is that currently dilys is effectively write-only to IRC01:51
SteveA_we could modify supybot, for example01:52
carlosstub, I suppose that results[0]  is what adds there the LIMIT 1...01:52
mptSteveA_: You had a question on DPoT while I was asleep?01:52
stubcarlos: yes - that would be it. i wouldn't worry about it for now. The terrible performance happened after I added the datecreated index, but now it is gone things seem much better.01:54
SteveA_mpt: i did, but i made an executive decision on it01:54
carlosstub, should I forget it then?01:54
SteveA_mpt: there will be a merge into pqm shortly (assuming pqm is unhosed) with a new DPoT01:54
SteveA_mpt: also, what do you think about styling the DPoT text as monospaced?01:54
carlosSteveA_, your request is being processed atm01:55
SteveA_carlos: i have two01:55
=== cprov [~cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== terrex [~terrex@84-122-73-155.onocable.ono.com] has joined #launchpad
stubcarlos: yes. The query is fine, and I don't see a need for a workaround now. I might need to look at that table and improve its statistics so PostgreSQL doesn't choose such a bloody stupid plan though if I add the index back at some point.01:55
=== cprov almost late...
carlosstub, ok01:56
carlosthen I have all things I need from you done01:56
carlosthe production update is waiting for PQM01:56
carlosand the other is waiting for staging01:56
mptSteveA_: I'd much prefer proportional01:56
carlosstub, I sent you an email with instructions about the migration script01:57
carlosbtw01:57
=== carlos discover that gtimelog does not work too well past midnight
morgsDPoT is also used for multiparagraph descriptions for Registry things01:58
carlosjust in case you didn't know it already01:58
SteveA_carlos: there's a cut-off01:58
KinnisonM-2m01:58
SteveA_carlos: it considers 2am to be the next day01:58
SteveA_morgs: some CSS can make the font different in malone vs in registry01:58
carlosSteveA_, and it loses hours if you worked from midnight until past 2am01:58
morgsSteveA_: cool01:58
bradbmorning01:59
bradbKinnison: pong01:59
carlosas it takes the 2am entry as the beginning of the day01:59
carlosbradb, morning01:59
bradbhey carlos 01:59
SteveA_carlos: talk to mgedmin, or file a bug (somewhere)01:59
Kinnisonbradb: "Bugs wot I have filed (/+reportedbugs)" -- Can that be made to hide Fixed/PendingUpload bugs?01:59
morgsgtimelog is in LP... so malone :)01:59
SteveA_carlos: mgedmin is on irc now, #pov01:59
=== salgado [~salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
carloswill do after the meeting02:00
debonzicarlos, I realise it somedays ago.. for somereason it is called virtual day.. 02:00
carlosSteveA_, thanks for pointing me to the author02:00
SteveA_meeting time02:00
SteveA_MEETING STARTS, wahey02:00
=== stub changed the constant to 5am - something a bit more reasonable ;)
SteveA_who's present?02:00
jameshme02:00
morgsme02:00
BjornTme02:00
bradbKinnison: yeah, we need to do some thinking there02:00
bradbme02:00
salgadoI am02:00
jblackme02:00
stubme02:00
spivme02:00
debonzime02:00
lifelessmo me02:00
SteveA_kiko will be 15 mins late, sends apologies02:00
carlossalgado, I requested a merge already so stub has time to merge my changes into production before he leaves02:00
lifelessme fi fo fum02:00
=== carlos is here
Kinnisonbradb: it consistently irritates me02:00
SteveA_Keybuk won't be here, is at debconf02:00
=== Kinnison is here
cprovme02:01
carlossalgado, but will fix any extra comment you send to me as a later merge02:01
mptI'm here02:01
SteveA_daf is at debconf02:01
SteveA_ddaa ?02:01
SteveA_ah, bastille day02:02
SteveA_== Agenda ==02:02
SteveA_ - roll call02:02
SteveA_ - agenda02:02
SteveA_ - activity reports02:02
SteveA_ - code quality02:02
SteveA_ - brazil02:02
SteveA_ - wiki publicly viewable, #launchpad-dev retired02:02
SteveA_ - policy for filing launchpad bugs02:02
SteveA_ - next rollouts02:02
SteveA_ - three sentences02:02
SteveA_02:02
SteveA_any other items?02:02
SteveA_ /msg me if any come up02:02
SteveA_activity reports: who's hard-boiled and who's scrambled ?02:03
=== SteveA_ gets more obscure each week
SteveA_um, who's up to date?02:03
stubme02:03
morgsThe egg man...02:03
morgsme is up to date02:03
=== bradb is up to date
spivI'm a day behind.02:03
mptme!02:03
jameshme02:03
=== BjornT is up to date
=== carlos is a whole week behind. Will be up to date after the meeting
=== SteveA_ is well behind
=== salgado is up to date
lifelesssortof02:03
SteveA_Keybuk is behind due to mail problems from debconf02:04
jblackI'm scramled. Have data, need to present in compatible format.02:04
=== Kinnison is up to date
lifelessthis week was confusing, but I have sent yesterdays in02:04
mptwell, I'm up to Tuesday, and I didn't work Wed02:04
=== cprov is one day late
lifelessjblack: please send in the last weeks after this meeting.02:04
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [r=salgado, trivial]  better DPoT with linkification of URLs and bugs. (patch-2100: steve.alexander@canonical.com)02:04
lifelessjblack: and ignore all previous ones.02:04
=== debonzi one day behind
SteveA_jamesh: wel done.  you've turned your activity reporting around.02:04
jblacklifeless: I should be only a week behind. 02:05
SteveA_did anyone not speak?02:05
SteveA_ - code quality02:05
SteveA_i want to note that the code quality throughout launchpad has improved a huge amount since the sydney conference.02:05
SteveA_thank you.02:06
SteveA_ - brazil02:06
SteveA_we'll talk about this later, when kiko arrives02:06
SteveA_ - wiki publicly viewable, #launchpad-dev retired02:06
SteveA_so, we haven't used #launchpad-dev in over a week.  it is now retired.02:06
KinnisonShould we all leave it then?02:07
SteveA_don't use it any more.  i don't expect anyone to be present there.02:07
SteveA_Kinnison: yes02:07
KinnisonOkay02:07
SteveA_i would boot everyone, but that would be rude02:07
=== Kinnison removes it from his irc proxy config
SteveA_The launchpad wiki is now publicly viewable02:07
SteveA_and has been for a week or so02:08
SteveA_so, keep this in mind when you post things there.02:08
SteveA_i don't believe anything in particular has been "censored" from it.02:08
jameshe.g. passwords02:08
carlosjamesh, do we have passwords stored there?02:09
lifelessyes02:09
SteveA_although, i might change the STFU protocol page name, if i'm feeling prudish one day.02:09
lifelessI'd forgotten02:09
carlosugh02:09
SteveA_we do?02:09
lifelessyes02:09
lifelessmight be canonical wiki, I'll check02:09
carlosSteveA_, so we can publish that the wiki is public now? (when lifeless confirms that the passwords are not there anymore....)02:10
stubGoogle cache already has it if it is there02:10
SteveA_carlos: yes02:10
carlosok, perfect02:10
lifelesscarlos: no need to wait for me02:10
jblacklifeless, stevea: up to date02:11
carlosok02:11
SteveA_any other questions about the public wiki02:11
SteveA_?02:11
carlosSteveA_, will it be moved into ubuntu's wiki02:11
SteveA_i'll be adding a Copyright Canonical kinda footer to it, as soon as i work out how02:11
carlosor to wiki.launchpad.net?02:11
morgsWhile we don't have code, there are schema fragments on the wiki02:11
SteveA_carlos: not now.  we'll discuss this in brazil02:11
carlosok02:12
SteveA_carlos: can you add that to the brazil topic page?02:12
carlossure02:12
SteveA_morgs: it is inevitable we'll have schema fragments on the wiki, as they are an important part of our specs.02:13
SteveA_the wiki is writable only by canonical people02:13
SteveA_so, there will be no problems with defacement02:13
SteveA_ - policy for filing launchpad bugs02:14
SteveA_previously there was a policy of filing all launchpad bugs as private02:14
carlosSteveA_, done02:14
SteveA_we can relax that now, and say that if a bug could be written on the wiki, it can be marked public.02:14
SteveA_what i mean is, bugs including security vulnerabilities, code fragments, tracebacks, should be marked private still02:15
carlosso private now means more 'security' than private, right?02:15
SteveA_but all other bugs can be public02:15
carlosoh, ok02:15
lifelessSteveA_: code fragments shouldn't be a concern02:15
lifelessSteveA_: as this channel and the wiki have code02:15
SteveA_true02:15
SteveA_tracts of code then02:15
KinnisonOur "nopaste" service is currently canonical-private02:15
SteveA_entire codices02:15
SteveA_Kinnison: let's keep it that way for now02:16
lifelessSteveA_: also, having the wiki canonical-only to edit seems a little weird.02:16
SteveA_lifeless: point for discussion in brazil02:16
lifelessSteveA_: ack02:16
SteveA_hey kiko.02:16
SteveA_how's your activity reports?02:16
kikonot wonderful02:16
=== SteveA_ forgot to mention that stevea sucks at writing activity reports
SteveA_moving back to...02:17
SteveA_ - brazil02:17
SteveA_kiko, give us an update02:17
kikoeverything should be set up02:17
kiko50% of the invitees have received letters of introduction02:17
kikothe other 50% will receive them today02:17
kikoyou may use the letters if you feel it will help you expedite your entry in the country02:17
=== lifeless got 10 USD for it on ebay
kikoyou don't /have/ to use them02:18
kikovery funny02:18
kikohotel and airport pickup are arranged02:18
kikoplease don't change your flights from now on or you're SOL02:18
kiko(including mark)02:18
kikowhat else?02:18
stubMap02:19
kikoI've put up a list of preliminary topics based on open issues I've been keeping track of02:19
mptkiko: What do we look for when we arrive at the airport?02:19
kikompt, a person with a sign with your name on it02:19
jamesha person with our name on a sign02:19
mptoh, right02:19
kikothere will be maps of the city for everybody02:19
SteveA_kiko: do you know about the page mark put up?02:19
kikoSteveA_, BrazilTopics?02:19
lifelessjamesh: thats a sign, with a person and our name on it? or a sign with our name on it, and a separate person ?02:19
SteveA_carlos: what page did you just update?02:19
stubkiko: I mean for when I get to Sao Carlo. I'm looking for a street, but I don't know which direction or if I got off at the right spot.02:20
kikoif you'd like a map of brazil or so paulo capital the airport is a good place as any to purchase02:20
jameshlifeless: yeah.02:20
carlosSteveA_, https://wiki.launchpad.canonical.com/BrazilTopics02:20
Kinnisonkiko: Does the air port have good forrriner-accessible cash machines?02:20
kikostub, it's likely I'll pick you up, and the wiki has directions (have you read them?) but I should be able to produce an online map02:20
kikoKinnison, yes02:20
Kinnisonkiko: good02:20
=== Kinnison thinks he only has ca. 100R$ left
stubkiko: Look for the stinky grumpy hippy who hasn't slept for 48 hours02:21
kikothat'll be enough for a week :-P02:21
Kinnisonkiko: not if they don't take a card at the bus station02:21
Kinnisonkiko: or is bus-travel pre-paid?02:21
SteveA_kiko: do i look for an async person or a random person with a board?02:21
kikoKinnison, it's not pre-paid, no. it made arrangements more complicated.02:21
kikoSteveA_, random person with sign.02:21
lifelesskiko: you say thre will be pics of the sao carlos bus station02:21
kikolifeless, those are easy to produce, yeah.02:22
=== Kinnison is glad he knows exactly where he's going in Sao Carlos
lifelesskiko: I leave in 36 hours - and others have already left. could we get them up soon ?02:22
kikoyeah02:22
kikoas I said, I'll probably pick up the first batch of forriners02:22
=== stub leaves in 6 hours
=== carlos hates that we go to a city with his name in it, my computer is beeping every time you talk about it! :-P
lifelessstub: dude, thats 4am !02:23
kikoso carlos, so carlos, so carlos? 02:23
stublifeless: For a 6am flight02:23
bradbcarlos: better than sao bradb02:23
carloskiko, ;-)02:23
jameshcarlos: you could change your name or nick02:23
SteveA_so, are we done with brazil issues?02:23
stubI ordered some good weather and will be pissed if it doesn't get delivered on time02:23
kikoapparently it's looking good02:24
carlosSteveA_, what happens with code reviews / development ?02:24
carlosI think there is a week when most of the reviewers will be together there02:24
SteveA_carlos: reviews will still happen. development will still happen for people not in brazil.02:24
kikoit stops dead in its tracks02:24
cprovstub: lucky you, man ...02:24
kiko;-)02:24
kikoyeah, the weather looks nice, though cold at night02:24
carlosok02:24
=== kiko grins at jamesh
Kinnisonkiko: how cold at night?02:24
jameshkiko: what does cold mean?02:24
kikolike 10C02:25
kikoa bit windy02:25
Kinnisonkiko: dude, 10C would be a godsend02:25
stubThats like *Melbourne, and the weather here *sucks*!02:25
jameshdoesn't sound too bad02:25
=== mpt passes SteveA_ a gavel
carloskiko, can we use a credit card to paid there or is better if we have cash?02:25
kikoit's very dunny during the day02:25
SteveA_order order order02:25
Kinnisoncarlos: for food it's easier with cash02:25
stubBwahaha02:25
SteveA_ - next rollouts02:26
Kinnisoncarlos: IME02:26
kikocarlos, cash will be easier I think.02:26
SteveA_stub: next rollout happen when?02:26
carlosok, thanks02:26
stubSteveA_: Probably daily in Brazil judgind from past experience.02:26
kikolol02:26
stubSteveA_: But nothing scheduled, because I don't know what the schedule in Brazil will be.02:26
lifelessSteveA_: we need some serious time with elmo02:27
kikowe'll work out the schedule on sunday :)02:27
SteveA_so, i'll need to make a call with elmo, or get quality irc time with him, next week02:27
SteveA_Kinnison: dogfood?02:28
lifelessyes, next week. This is to activate the new server02:28
KinnisonRight02:28
=== Kinnison has taken over dogfood from Stub for the most part
KinnisonIt was updated yesterday02:28
KinnisonIf anyone relies on dogfood and wants code updates, ask me, not stub02:28
stubAnd I have a load of monitoring stuff I need to rollout, but need some updates.02:28
KinnisonAlso over the next week or so, dogfood will start ramping up with packages, builds etc, so it'll become quite an interesting place to test-bed stuff which relies on packages02:29
KinnisonI hope we'll have a small chat about dogfood in Brazil02:29
kikowhy not add it as a topic?02:30
Kinnisonkiko: I wasn't sure if it would be a topic, or just a natter over dinner02:30
lifelessKinnison: topic02:30
KinnisonOkay, I'll do that02:30
SteveA_natter over dinner didn't happen particularly in cape town02:30
KinnisonSteveA_: that's about it for dogfood, thanks02:30
lifelessKinnison: rule is - if you want it to happen: topic02:30
SteveA_any other business before we move onto three sentences?02:30
kikodinner didn't happen in cape town for the most part02:31
Kinnisonkiko: dinner happened, just..... late02:31
lifelessI'd like feedback/features on my pqm web status page02:31
carloslifeless, it rocks, thank you ;-)02:31
SteveA_i keep forgetting the invocation.  be glad when it has been elmoed into the proper web02:31
mptlifeless: Accessible from browsers other than lynx? :-)02:31
carloslifeless, perhaps a page refresh every 3-5 minutes?02:31
lifelessI've heard a little 'cool' etc - but does it deliver what brad needed, what things would folk love to see?02:31
lifelessSteveA_: find me an elmo, I'll get it up ;002:32
jameshlifeless: dates would be good02:32
kikoKinnison, I don't call that dinner02:32
bradblifeless: it's definitely a step in the right direction.02:32
kikoyeah, dates definitely are needed 02:32
carloskiko, early breakfast?02:32
carlos;-)02:32
stub$ cat ~/bin/pqmq02:32
stub#!/bin/sh02:32
stubexec ssh chinstrap lynx --dump http://localhost:8000/02:32
kikooh stub you are so leet 02:33
=== kiko uses bash's ctrl-R
Kinnisonhttps://chinstrap.ubuntu.com/~dsilvers/pqm.cgi02:33
kikoand that usually foobs02:33
kikoev1l02:33
kikolol02:33
SteveA_Kinnison: cool, link it from the wiki02:33
bradblifeless: how can pqm be modified to deal with stale lockfiles?02:34
kikoKinnison, you da man02:34
stubKinnison wins02:34
lifelessbradb: ?02:34
kikobradb, isn't the problem the lp testsuite?02:34
bradbkiko: both, i think02:34
stubpqm topic at brazil02:34
Kinnisondsilvers@chinstrap ~/public_html $ cat pqm.cgi02:34
Kinnison#!/bin/sh02:34
spivbradb: tests need to be more robust.02:34
Kinnisonecho "Content-Type: text/html"02:34
Kinnisonecho02:34
Kinnisoncurl http://localhost:8000/02:34
Kinnisonmmm evil :-)02:34
SteveA_okay02:34
SteveA_all done?02:34
lifelessbradb: pqm has a problem with lock files about once wevey 6 months02:34
bradbi think pqm should be able to run these things in such a way that it can be totally reset from the outside02:34
lifelessbradb: but lets talk later02:34
KinnisonSteveA_: I'd rather wait until it's properly elmoed02:35
cprovKinnison: indeed, but works ;)02:35
KinnisonSteveA_: In particular it ideally should be http://pqm.ubuntu.com/ or something02:35
lifelessKinnison: thats why I want elmo, have been trying to get him all week02:35
SteveA_Kinnison: voltaire, best, good, not best of friends02:35
lifelessKinnison: but can't get boo out of debconf, its like a black hole.02:35
kikoKinnison, lifeless: solutions that work now are what we want02:35
lifelesskiko: thus my lynx invocation I documented.02:36
lifelesskiko: which works just fine ;002:36
kikoKinnison's is more leet :-P02:36
SteveA_okay02:36
SteveA_time for three sentences02:36
stubDONE: Monitoring and DBA stuff02:36
stubTODO: Survive Brazil02:36
stubBLOCKED: Elmo time02:36
mptDONE: Some decruftification, many bug reports, LaunchpadHierarchyNavigation spec02:36
mptTODO: Nelson to Sao Paulo in five easy steps, specs, fixing headings02:36
mptBLOCKED: Offline until Monday02:36
SteveA_<Keybuk> TODO: more import testing, sourcerer on gina every day02:36
SteveA_<Keybuk> DONE: import testing from z-g, dyson test runs on staging02:36
SteveA_<Keybuk> BLOCKERS: none02:36
debonziDONE: Gina; Little launchpad cleanup; some work on distro/distrorelease bits on launchpad02:36
debonziTODO: Get gina merged on rocketfuel; Brazil sprint.02:36
debonziBLOCKED: Gina Review.02:36
kikoDONE: LP report (yay), linkification, malone cleanups, reviews, sprint 02:36
kikoprep, some other random crap.02:36
kikoTODO: more malone cleanups, sprint org, spec reviews (yay), LP report02:36
kikoBLOCKED: not really02:36
bradbDONE: Landed some usability fixes (autofocus issues, de-underlining action portlet links. Usability testing with jbailey; braindump and discussion on launchpad@. Small FBN fixes. 20% through lp menu integration. Code review of one of kiko's branches. pqm pain.02:36
SteveA_DONE: DPoT links, reviews, menus improvements02:36
SteveA_TODO: go to brazil, reviews, navigation class02:36
SteveA_BLOCKED: no02:36
lifelessDONE: pqm feedback, 50% of new tree format work.02:36
carlosDONE: Karma, POImport fixes, datamigration / poexport data fixes, languagepacks02:36
jameshDONE: code reviews, timezone preferences and calendar cleanups, some LaunchpadIntegration work, other bug fixes.02:36
carlosTODO: Karma, languagepacks, Rosetta cleanups, GNOME imports02:36
carlosBLOCKED: l10n-status.gnome.org update02:36
jameshTODO: code reviews, Brazil, more calendar cleanups02:36
jameshBLOCKED: none02:36
bradbTODO: Discuss the "advanced search screen" with mpt. Land the other 6 active branches I have going (probably a couple today) before thinking of starting something else.02:36
BjornTDONE: various small fixes. reviews. try to fix a bug in BBA implementation. some work on the email interface.02:36
bradbBLOCKED: mpt said "advanced search screen" when talking of Malone lp menu integration! Discussion required.02:36
jblackDONE: metric shitloads of imports02:36
BjornTTODO: more general malone work. unbreak email interface.fix email threading.02:36
BjornTBLOCKED: spec approval (BBA) from kiko02:36
lifelessTODO apply-changeset, tuninging, recording of changed revisions02:37
jblackTODO: metric shitloads of imports, travel02:37
cprovDONE: GPG/CoC merge in RF, bug trancking and minor issues for production02:37
cprovTODO: setup buildd-master stuff on DF02:37
cprovBLOCKED: slow access to DF most part of the day and DF infrastructure bits02:37
lifelessBLOCKED: nothing particular02:37
jblackBLOCKED: None02:37
spivDONE: holidays, mail catchup, sent sqlobject patches upstream, reviews.02:37
spivTODO: reviewing, sqlobject distinct/orderby issues, enumcol subsets.02:37
spivBLOCKED: no.02:37
KinnisonDONE: Dogfood preparation, molodezhnaya.buildd installation.02:37
KinnisonTODO: Get Dogfood actually using the buildd, get gina going, get uploader deployed to dogfood, get production's gina and publisher going02:37
KinnisonBLOCKED: Gina in production needs a couple more branches reviewing and merged02:37
salgadoDONE: BasicVoting (got a first round up for review), code review, lots of fixes02:37
salgadoTODO: Apply review requests into first round of BasicVoting and start the second round, get sqlobject's tests running on "make check_merge", code review, random fixes02:37
salgadoBLOCKED: None02:37
morgsDONE: RDF bugfixing, Registry Bugfixing, DoapSchemaNG02:37
morgsTODO: Bugfixing, DoapSchemaNG02:37
morgsBLOCKED: None02:37
SteveA_okay02:38
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  removed some imports from the set that get warned about by the import fascist. (patch-2101: steve.alexander@canonical.com)02:38
SteveA_let's go through the blocked items02:38
SteveA_<debonzi> BLOCKED: Gina Review.02:38
SteveA_who needs to do that?02:38
kikoI don't want to anymore02:38
lifelessbtw - pqm dates - 1121342583 - cant you read unix time ;)02:38
debonziSteveA_, don't know02:38
SteveA_can any reviewer do it?02:38
SteveA_BjornT or salgado: can you do it?02:39
SteveA_<carlos> BLOCKED: l10n-status.gnome.org update02:39
SteveA_who can unblock you, carlos ?02:39
carlosSteveA_, myself02:39
SteveA_then, you're not blocked02:39
carlosSteveA_, but it's outside work02:39
salgadoSteveA_, I don't think I can do it today. :(02:40
BjornTSteveA_: i won't have time today, but i could do it tomorrow in the morning02:40
SteveA_<bradb> BLOCKED: mpt said "advanced search screen" when talking of Malone lp menu integration! Discussion required.02:40
carlosok02:40
SteveA_BjornT: okay, please do.  thanks02:40
SteveA_mpt: can you talk with brad after this meeting?02:40
debonziThanks SteveA_, BjornT 02:40
SteveA_<BjornT> BLOCKED: spec approval (BBA) from kiko02:40
SteveA_kiko, BjornT: ?02:40
mptSteveA_: sure02:40
kikoyeah02:40
kikowill do today02:40
kikoit's been queued, not forgotten02:40
SteveA_<cprov> BLOCKED: slow access to DF most part of the day and DF infrastructure bits02:40
SteveA_Kinnison: can you help with this?02:41
kikocan't really solve the first 50% :-(02:41
KinnisonSteveA_: I imagine I can. I'll be talking with cprov for our daily soyuz meeting after this meeting02:41
SteveA_ok02:41
SteveA_<Kinnison> BLOCKED: Gina in production needs a couple more branches reviewing and merged02:41
KinnisonSteveA_: the first half is due to .br's netlink being shit02:41
KinnisonSteveA_: those are debonzi's branches02:41
SteveA_okay, so sorted02:42
SteveA_anyone have blocked items that haven't been dealt with somehow?02:42
SteveA_one more thing then,02:43
SteveA_when you run the tests, for example with: python test.py canonical02:43
cprovSteveA_: dsilvers has helped me as he can, we are in touch, very close to be precise .02:43
SteveA_look at the guff at the end, after the "OK"02:43
SteveA_see if any of it belongs to you02:43
SteveA_if so, fix it.02:43
SteveA_i fixed the last hct one today, after talking with scott02:43
SteveA_carlos has the rosetta ones on his todo list02:44
SteveA_salgado: still a few from you02:44
SteveA_morgs has the registry ones on his todo list02:44
salgadoSteveA_, really? I'll fix them today02:44
SteveA_cool02:44
SteveA_oh, next meeting?02:44
carlosSteveA_, I forgot one thing. I'm having problems with twistd2.0 and launchpad tests, I know it's not a priority but if someone that knows more about twisted than me could help there...02:44
Kinnisondebonzi: Will you take on the soyuz ones while waiting for the gina stuff to get merged?02:44
SteveA_same time next week, provisionally.  but we'll arrange in brazil.02:44
SteveA_countdown of woe02:45
SteveA_502:45
debonziKinnison, yep02:45
SteveA_402:45
SteveA_302:45
SteveA_202:45
SteveA_102:45
Kinnisondebonzi: thanks02:45
SteveA_MEETING ENDS02:45
Kinnisonwoohoo02:45
=== Kinnison bounces SteveA_ for an on-time meeting
spivcarlos: Sure, I can spend a moment on that now before I crash if you like.02:45
debonziKinnison, any special request?02:45
carlosspiv, that would be perfect, thanks02:45
Kinnisondebonzi: just run a full test suite and then check for any soyuz-related fascism warnings etc02:46
kikostub, let me ask you one thing02:46
kikowhat's this cronspam we're getting now?02:46
Kinnisondebonzi: then if you've done all those, go through the soyuz UI and check there's nothing which is going to explode horribly02:46
debonziKinnison, right.. will do02:46
mptbradb: We already have an advanced search page02:46
Kinnisondebonzi: If you need me to cherrypick fixes into dogfood for you to test, let me know02:46
mptbradb: It just happens to have a batch of results in the middle of it.02:46
Kinnisondebonzi: I don't mind being telephoned to do stuff either02:47
stubkiko: You need to be more specific - there is a lot of cronspam.02:47
debonziKinnison, cool.. thanks02:47
Kinnisondebonzi: but as a word of warning, I will be going out tonight02:47
carlosspiv, the main problem is that from time to time, twistd is not ready before we start using it (seems like the log trick is not working correctly)02:47
bradbmpt: are we committing to having a page with just the advanced search widgets on it + results show on a separate page?02:47
carlosand when it's ready, I get internal server errors02:47
Kinnisondebonzi: so if you don't catch me in the next 5h or so I'll be gone02:47
mptbradb: No.02:47
carlosspiv, if you give me some instructions about how could I debug it...02:48
debonziKinnison, right.. 02:48
kikostub, 02:48
kikopython: can't open file 'cronscripts/process-mail.py': [Errno 2]  No such file or02:48
kiko+directory02:48
carlos(I'm talking about librarian using twistd)02:48
mptbradb: The current results page can stay just as it is. (It will eventually need redesigning, but that's a separate issue.)02:48
stubkiko: That was a dud crontab entry we didn't notice for several hours because the mailing lists were blocked.02:48
kikompt, seconded02:48
kikostub, I still got some today, but I guess that's just mailman catching up02:49
spivcarlos: Hmm.02:49
bradbmpt: sure, but do you mean that we're just going to plop the screen you'd get if you clicked the "Advanced" button under "Show Reports" now instead?02:49
=== Kinnison lunches
mptbradb: All search results should be under the "Show Reports" tab anyway.02:50
bradbmpt: right, but i'm asking you about the advanced search page, not the results page.02:50
bradbmore specifically, about the page you currently get when you click "Advanced"02:51
bradb(which, tbh, looks like arse)02:51
spivcarlos: So, the current ready magic is slightly buggy.02:51
mptbradb: You were asking me if clicking "Advanced" would take you to Show Reports. My answer: You're already *in* the Show Reports section, and you stay in that section.02:52
=== spiv thinks
bradbmpt: ok, let's walk through this: 1. https://launchpad.ubuntu.com/products/malone/+bugs, as an example starting point...02:53
mptbradb: That page is in the "Malone Bugs" tab.02:53
carlosspiv, yes, I think it's because we get the log output when the process is launched02:53
bradbmpt: right, so, i immediately realize that i want to do an Advanced Search.02:53
carlosspiv, and it depends on how fast is it to start listening requests it fails or not02:53
mptbradb: MaloneFrontPages will give you an "Advanced Search" link.02:54
bradbmpt: I have the following options. "Malone Bugs", "Report a Bug", "Show Reports"02:54
carlosI suppose other people will have the same problem with twistd 1.x if the machine is not fast enough02:54
bradbi click on "Show Reports", where does it take me?02:54
salgadostub, can I nuke that person/+review page?02:54
mptbradb: To the advanced search page also.02:55
spivcarlos: actually, I don't think it's possible with twistd 1.x and the old test.02:55
spivBut more by accident than good design :)02:55
mptbradb: That's a duplicate link, which I understand is awkward, but IMO it's better than having jumping tabs.02:55
bradbmpt: right, so, is clicking on "Show Reports" going to take you to precisely the page you'd see right now if you clicked on the "Advanced" button on the link i pasted?02:55
bradb(with the Advanced/Simple button removed, of course)02:56
carlosspiv, ok02:56
mptbradb: yes.02:56
bradbmpt: if you click the "Advanced" button currently, what do you see change in your browser when the page comes back?02:57
stubsalgado: I don't know.02:57
mptbradb: There's some extra form controls down the bottom, iirc02:58
SteveA_cprov: hi02:58
salgadostub, everything that we test on that page is tested on other pages02:58
bradbmpt: doesn't it require scrolling to see those?02:58
SteveA_cprov: i see in comments in the builddmaster, you have plans to make it use zcml-for-scripts02:58
spivcarlos: So, the simplest solution is probably like this:02:58
mptbradb: Yes it does, which is bad, which is why the page needs redesigning, but as I said, that is a separate issue.02:59
bradbok02:59
SteveA_morgs, cprov, debonzi:  ProductSeriesSet, ProductMilestoneSet, SourcePackageSet are imported into browser/traversers.py from database code02:59
mptbradb: The Advanced Search page I'm suggestnig here would be that page, but minus the batched results, so it wouldn't need scrolling.02:59
spivclass ReadyService: def startService(self): log.msg("ready!"); ReadyService().setServiceParent(librarianService)02:59
SteveA_would be really great to get rid of these02:59
spivcarlos: Making sure that is the last service to be added.03:00
mptbradb: And remember, that would be an *additional* page, it wouldn't alter any existing page in Launchpad.03:00
bradbmpt: right, that's what i'd like to see too (and a lot more useful widgets)03:00
stubsalgado: If it is useless then nuke it I guess. I don't know what is on there, or if there are other tools admins can use to do stuff (eg. change peoples passwords, merge accounts, whatever).03:00
carloshmm03:01
carlosspiv, but how could we be sure that it will be last service added when using, for instance buildd?03:01
spivcarlos: So long as it's the last call to setServiceParent in the tac file, sure.03:01
carlosor in the future, if someone adds a new service that needs librarian?03:02
=== mpt [mpt@210-54-126-94.dialup.xtra.co.nz] has joined #launchpad
carlosspiv, when you talk about services, you mean inside the script? or different .tac files?03:02
salgadostub, I thought you have created it just to test the new password widget. I'm going to leave it there, then. 03:02
spivA more complex solution would be a service that does reactor.addSystemEventTrigger('after', 'startup', log.msg, 'ready!') in its startService.03:03
spivThat ought to avoid any issues with the order the service is added.03:03
mptbradb: Is that all clear as mud?03:03
mptbradb: I'm fully aware that this categorization of pages may be completely crack, but it's what I came up with in Montreal, and I've been trying to think of a better categorization since then and failed.03:04
carlosspiv, would you add it? I'm not feeling too confident I will do it correctly as twistd is completely new to me...03:05
bradbmpt: sure, it's a step in the right direction, in any case :)03:05
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Update dogfood config to be able to start trebuchet etc (patch-2102: daniel.silverstone@canonical.com)03:05
carlosalso, that will solve the timeout problem, now, I need to solve the Internal server error problem03:05
carlosany hint to get a trace?03:05
bradbmpt: we can already predict what sabdfl will say when he clicks on "Show Reports" though :)03:05
spivcarlos: Mail me about it, I'm too sleepy to do that at the moment.03:05
bradbback in a few mins03:06
carlosspiv, ok, thank you !03:07
spivcarlos: Where's the internal server error you're referring to?03:07
spivIn the librarian?03:07
carlosyesh03:07
carlosyes03:07
spivThat's easy ;)03:08
spivComment out this line in the librarian.tac:03:08
spivsite.displayTracebacks = False03:08
carlos:-)03:08
carlosthank you, will try to debug it and will send you an email if I'm not able to fix it.03:09
spivCool.03:09
spivAlso, regardless of that setting, it will log the tracebacks.03:10
carlosbut the log is removed when the test ends, right?03:10
cprovSteveA_: yes, I have plans to store some config bits for builddmaster stuff in zcml, but not exactly now (before sprint), we need to discuss and spec it out 03:10
carlosfrom /var/tmp/fatsam.test/03:10
stubsalgado: oh - ok. Don't keep it around if it is no longer useful - your call. 03:10
spivYeah.  You might want to comment out that bit of the test harness ;003:10
SteveA_cprov: i'm talking about using IFooSet rather that FooSet03:11
spivIdeally the tearDown wouldn't remove that stuff if the test failed, because it can be useful for diagnosis.03:11
carlosok03:11
spivProbably what should happen is that the directory should be removed in setUp rather than tearDown.03:11
cprovSteveA_: sure, we also need it for getUtility()03:11
spivWhich would also make the tests more robust.03:11
mptbradb: All bug report pages and task pages are in the "Show Reports" section too, btw03:12
=== mpt toddles off to bed
=== carlos -> lunch
lifelesshttps://wiki.launchpad.canonical.com/PqmRobustness03:15
lifelessfeedback solicted03:15
=== spiv -> bed
carloslifeless, will you be around tomorrow? 03:18
carlosI have a patch waiting for pqm that I need to be cherrypicked into production03:18
kikoSteveA_, duderino?03:18
SteveA_kiko: yep03:19
SteveA_i'm going to disappear for quite a while soon, to pack, do last minute stuff03:19
kikowell03:19
kikoI'm concerned about03:19
kiko> +    def _linkify_substitution(match):03:19
kiko...03:19
kiko> +            url = '/malone/bugs/%s' % match.group('bugnum')03:19
kikohadn't we agreed to use an IBugSet utility?03:20
kikobuilding the URL manually here is asking for pain03:20
SteveA_can't yet03:20
kikowhy not?03:20
kikomy code used it (AFAICT)03:20
SteveA_because it makes the code really messy when you have private bugs03:20
SteveA_that needs to be fixed first03:20
SteveA_also, we need to decide what to do about bugs that don't exist03:20
SteveA_do they get linked?  where to?03:21
kikoSteveA_, just don't linkify them, as bugzilla does.03:21
kikoit's a cheap solution03:21
SteveA_the spec needs to say these things03:21
SteveA_when i can get a canonical_url for a private bug, i'll change the code03:21
debonziSteveA_, how do I use getUtility for Interfaces were the class has an __init__? like it is on ISourcePackageSet?03:21
SteveA_does the object have state?03:21
SteveA_if so, it should not be a xxxSet03:22
kikoSteveA_, what's the reason canonical_url doesn't work?03:22
kikoI'd much rather we didn't linkify private bugs03:22
SteveA_kiko: the id attribute of the bug is private03:22
SteveA_um, forbidden03:22
SteveA_no reason for it to be so03:22
SteveA_debonzi: when i last looked at SourcePackageSet, it was bad code03:22
SteveA_it was a pun, between the singleton SourcePackageSet, and a SourcePackageSubset03:23
SteveA_it should be split into two classes, two interfaces03:23
kikoSteveA_, can't you just try/except and XXX it?03:23
kikoyou just lost bug titles in the links...03:23
SteveA_i have no idea what you're talking about03:24
SteveA_can you file a bug please?03:24
SteveA_say exactly what behaviour you want03:24
SteveA_in the bug03:24
kikoyou've already filed a bug on canonical_url03:24
kikoI can try fixing it :-P03:24
SteveA_it sounds like you want different behaviour03:24
debonziSteveA_, yep.. we talked about it.. but even them It seems that Subset will have an __init__ .. so it is not possible to use with getUtility right?03:24
SteveA_kiko: if the code works well enough as it stands, then let's fix it when the canonical_url bug is fixed.03:25
kikoSteveA_, no, I just don't want less functionality than I provided you with initially :-P03:25
SteveA_kiko: if you want different functionality, then file a bug03:25
kikoSteveA_, it hardcodes the malone URL, and it doesn't give bug titles, which the code I gave you /did/!03:25
SteveA_kiko: writing code is not the way to get functionality.  providing test cases is03:25
SteveA_my code does give bug titles03:25
SteveA_i think you need to wait for another merge03:25
kikoyeah03:25
SteveA_from pqm03:25
kikoI'm waiting03:25
SteveA_so, i'm going to get on with other stuff03:26
kikoI'll see what I can do about that hardcoded URL. evil SteveA_.03:26
SteveA_kiko: please don't change it until the canonical_url bug is fixed03:27
SteveA_i left it that way for a reason, and there's a comment in there03:27
kikowell03:27
SteveA_i don't want to see complex code to work around a problem that will be fixed soon03:27
kikohow does the canonical_url bug manifest itself?03:27
SteveA_when it makes no difference now03:27
kikois an exception raised when you call it?03:27
SteveA_kiko: you have better things to do03:27
kikoperhaps, but I am interested in the rationale, as always03:28
SteveA_the rationale is, don't add complex code (that wouldn't be tested properly) to work around a separate issue that will be fixed soon anyway03:28
SteveA_now, if you want private bugs to be unlinked03:29
SteveA_and non-existent bugs to be unlined03:29
kikothat would be a perfectly fine workaround for now03:29
SteveA_unlinked ,03:29
SteveA_then that's another issue entirely03:29
kikoI'm just asking if that wouldn't be a non-complex way of dealing with the issue..03:29
SteveA_if that is the desired behaviour, then the tests and code can be changed to accommodate that03:29
kikoI think if you can see a private bug, then it should be linked and titled. 03:30
kikoif you can't see it, then not linking is an easy way out -- as is not linking a bug which doesn't exist.03:30
kiko  CHECKSUM FILE(S) DISAGREE WITH03:31
kiko  DIRECTORY LISTING ABOUT WHAT03:31
kiko  FILES SHOULD BE PRESENT IN03:31
kiko  REVISION DIR OF ARCHIVE03:31
kikoheh03:31
kikogo baz go03:31
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: [trivial]  Agglomeration of three one-line fixes to packaging of buildd (patch-2103: daniel.silverstone@canonical.com)03:31
SteveA_kiko: file me a bug and i'll get to it later today03:33
kikook ok03:34
bradbSteveA_: any page title love?03:50
lifelessnight all03:56
lifelessif anyone wants to give me feedback on that pqm brain dump that would rock03:57
kikohey carlos?04:10
kikouhm BjornT, bradb?04:13
=== morgs goes out, will be back later
kikoI replied via email to bug 1452, but I trimmed the CC: list and replied only to the bug04:14
kikothe comment was added but no notification was sent04:14
kikois this correct?04:14
BjornTkiko: it's a bug. i'll fix that one today04:14
kikois it reported? did you know about it?04:15
BjornTkiko: it's reported indirectly. the problem is that canonical_url can't be used in scripts (which is reported).04:18
SteveA_BjornT: i told you how to fix that04:19
BjornTSteveA_: yes i know. and i'll fix it today, together with another bug as well.04:21
SteveA_cool04:21
SteveA_another bug in zcml for scripts?04:21
SteveA_another bug in canonical urls?04:21
kikobug 1441 I suspect04:24
BjornTSteveA_: no. it's when an error occurs, an error mail get sent. but the link to the message in librarian doesn't work.04:24
BjornTkiko: yes04:25
kikoyou da man04:25
kikofix and cherry04:25
SteveA_Kinnison: https://chinstrap.ubuntu.com/~dsilvers/pqm.cgi should say the charset is utf804:26
KinnisonSteveA_: done04:30
salgadoSteveA_, the problem with PersonView.assignedBugsToShow() is that it makes a query and use the result of that query in a boolean context. that then calls the result's __len__ method and that method issues a self.clone(orderBy='')04:31
salgadohow can I fix it?04:34
Kinnison:q04:34
Kinnisonfeh04:34
Kinnisonirssi != wim04:35
Kinnisonerm vim04:35
SteveA_vim venders04:35
SteveA_salgado: where'sthe code?04:35
SteveA_in the PersonView class i guess04:35
salgadolaunchpad/browser/person.py:16604:35
salgado17604:35
salgadoif I do a count() on the results of both queries inside the bool() call it will not raise the warning04:36
SteveA_okay04:36
salgadobut I don't want to do that. I think it's clearer the way it is04:37
SteveA_well, hang on04:38
SteveA_this doesn't make sense04:38
SteveA_by saying         return bool(self.mostImportantBugTasks() or self.mostRecentBugTasks())04:38
SteveA_you are calling        results = bts.assignedBugTasks(04:39
SteveA_                        self.context, orderBy=orderBy, user=self.user)04:39
SteveA_04:39
SteveA_twice04:39
SteveA_all you want to know is, are there any assigned bugtasks at all04:39
SteveA_so, there is a much simpler query04:39
SteveA_better still, 04:39
salgadoindeed. who wrote this crap code? (/me hides)04:40
SteveA_get the mostRecentBugTasks and mostImportantBugTasks earlier in the processing of the page template04:40
SteveA_with a tal:define perhaps04:40
SteveA_the tal:define would call something in the view clas04:40
SteveA_that gets and stores the results of:04:40
SteveA_ - most recent bugtasks04:40
SteveA_ - most important bug tasks04:40
SteveA_ - bool: are there any bugtasks04:41
SteveA_it would be called set_up_bug_tasks_to_show, or something like that04:41
SteveA_there's some ideas on how to structure this better04:41
SteveA_but, you know the code better then i do04:41
salgadoI can see what you're suggesting. it looks easy to do and better than what we have now04:42
salgadobut anyway, why the warning is raised in that case?04:43
salgadoif I call __len__() explicitly it won't be raised04:43
SteveA_i don't have time to look into it in detail now04:43
SteveA_launchpad seems to have stalled04:44
SteveA_seeing as i can't comment on the bug04:46
SteveA_bradb, kiko: note that 'distrorelease' is a noun.  it is a thing.  'reportedin' is not a thing.  it is a predicate or relationship, but not a noun.04:47
dilysMerge to rocketfuel@canonical.com/launchpad--devel--0: Many fixes and tests for the poimport script r=salgado (patch-2104: carlos.perello@canonical.com)04:48
kikotrue.04:48
kikowho say mpool last?04:48
bradbSteveA_: just curious: if you approached a random member of MOTU (who had some basic knowledge of ifaces) and asked "what's an IBugTask.workplace?", how likely do you think their answer will line up with what the actual meaning of that attribute is? what about if you asked "what's an IBugTask.reportedin?"04:49
kikohe didn't get off the plane he said he was going to and the people collecting him are calling me04:49
kikobradb, first, you'd need to explain to them what tasks were.04:49
kiko:)04:49
SteveA_bradb: they'd say "brad, tell me what a workplace is" or "brad, tell me what a target is", or "brad, your grammar is atrocious" (for the last one)04:49
kikoSteveA_, you're tearing 'em apart today04:50
SteveA_it's fine to use a predicate04:50
SteveA_so, "wherereported" would be okay04:50
SteveA_that's more of a noun04:50
SteveA_ if task.wherereported == myproduct:04:51
SteveA_ print task.wherereported04:51
kikoor place reported, but that is using "place" instead of target04:51
kikoif task.target == myproduct:04:51
SteveA_target is ambiguous04:51
kikoif task.workplace == myproduct:04:51
SteveA_makes me think of milestones04:51
kikoreally?04:51
kikoah, good point04:51
kikofair enough04:51
=== SteveA_ --> food
morgsIs Launchpad still pondering the meaning of life?04:56
kikothe topic is full, foo04:56
kikothe answer is "maybe"04:56
Kinnisonkiko: full?!04:56
Kinnisonstub: you there?04:57
=== lamont-away is now known as lamont
=== stub hdes
Kinnisonstub: Any chance of getting things fixed on dogfood so that the launchpad user can IDENT as any user to launchpad_dogfood?04:58
Kinnisonstub: We're kinda blocked on that right now04:58
bradbkiko: would you be willing to do a drive-by review of my absolute_url -> canonical_url cleanup branch?04:58
stubKinnison: ok04:58
kikobradb, why not?04:59
Kinnisonstub: thanks dude04:59
bradbwicked. i'll ping you when finished bazzing. thanks.04:59
Kinnisonstub: I'll buy you lunch one of the days in Brazil04:59
kikostub, you arrive here on the 15th, right? mpool seems to have gotten the dates wrong.04:59
stubI arrive on the 15th at 17:1705:00
kikookay, thanks.05:01
Kinnisonstub: do you need me to stop dogfood for the perms change or can it be done without a restart?05:02
bradbSteveA_: btw, i just asked a (semi-)random user what they guessed .workplace and .reportedin to mean. i can give you their feedback, if you think it would help choose a good name for this apparently flame-war-inducing attribute. :P05:05
kikobradb, use workplace, seriously, it's the right word05:05
stubKinnison: That should be fixed, at least for all the accounts defined in security.cfg05:05
bradbkiko: heh05:05
bradber, maybe you were seriously being serious, i dunno05:07
kikoI was!05:08
Kinnisonstub: You're a star, thanks dude05:08
bradbkiko: like pillars of launchpad serious?05:08
bradb:P05:08
kikohate!05:08
bradbright, if you guys are thoroughly convinced that workplace is the right word, i'll totally change it. sabdfl will speak up if he doesn't like it, to be sure.05:09
kikoI see your phear05:13
=== bradb twitches
bradbkiko: you've got patchmail!05:17
bradb(er, not for the attribute thing yet though :)05:18
bradbthat is provably impossible to do /that/ quickly with baz in the way05:18
salgadoSteveA_, ping05:18
=== debonzi -> Lunch
bradbis it me, or is switching to a branch you're already on an absolute disaster?05:35
bradbone might ask "why would you switch to a branch you're already on?" well, because i ran out of disk space in the middle of branch switching, of course. tree-version reported that i was on the branch i wanted to switch to, but i thought i'd clear out 2 gigs of lovely baz implementation details and run the switch command again, just to be doubly sure.05:39
salgadobradb, when a switch fails I usually do: "baz tree-version <the-version-you-were-switching-from> ; baz undo"05:40
bradbinteresting05:41
bradbfirst i have to unbreak the duplicate ids and such05:42
=== lamont [~lamont@mix.mmjgroup.com] has joined #launchpad
SteveA_salgado-lunch: 06:02
salgadoSteveA_, so, should I use a count() to get rid of the warning or can I leave a big XXX there so we'll look and find the problem later?06:37
=== forsaker [~forsaker@213-156-52-107.fastres.net] has joined #launchpad
=== forsaker [~forsaker@213-156-52-107.fastres.net] has left #launchpad ["Leaving]
jblackLaunchpad has looked down to me for a couple hours. Is it coming back any time soon?" 07:01
kikonot afaik07:24
bradbkiko: any chance i could nag you to look at that patch this afternoon? it consists of basically 1. removing two classes, 2. changing calls to absolute_url to fmt:url.07:30
salgadohttps://chinstrap.ubuntu.com/~dsilvers/paste/filey4GD0l.html07:34
Kinnisonciao dudes07:34
salgadothere's quite a few of these errors on production's launchpad.log07:34
kikobradb, you're removing two templates, too. I already did it.07:35
kikocarlos?07:36
kikocan somebody call carlos?07:36
kikothis is the suck07:36
bradbkiko: i am?07:36
kikoyeah.07:36
bradbwhere?07:36
kikolook in your inbox07:36
kikocrazy man07:36
bradbah yes, i guess i chopped those off in this branch too07:37
bradbgetting it down to 5 active branches will make my life that much easier07:38
kikoSteveA_?07:38
kikothis is so sucky07:38
kikono launchpad07:38
kikoand no admin07:38
bradband it won't get any better for 1.0, AFAIK :/07:41
kikoit will have to07:41
bradbi agree/hope07:42
kikocarlos will be around in 15"07:43
kikoerr 15'07:43
kikowe need to find somebody to productize a patch, though, which is highly unfortunate.07:44
stubkiko: Last hits to launchpad were here: https://chinstrap.ubuntu.com/~dsilvers/paste/fileU85Glj.html07:46
stubSame problem as per bug report (lockups, POSubmission)07:46
kikostub, and it's a different problem than https://chinstrap.ubuntu.com/~dsilvers/paste/filey4GD0l.html, yes?07:46
stubThere are also a load of po-attach processes hung trying to call sendmail07:47
stubkiko: No idea - I gotta go in a sec07:47
kikowhat's up with sendmail?07:47
kikothat's the suck07:47
kikostub, what do we do while you're away?07:47
kikowell, we have lifeless in 7h or so07:48
kikostub, so your workaround didn't work around the issue?07:48
stubAll killed and restarted07:49
kikoI got some poattach mail again07:49
stubkiko: The workaround (break /rosetta) was switched off. But there is still a problem that needs tracking down.07:50
kikothe broken query you reported via email?07:50
stubkiko: Robert might need to 'revoke all on posubmission from write;revoke all on posubmission from launchpad' To break /rosetta again if it happens again.07:50
kikofair enough07:51
stubkiko: Reported as a bug, critical etc.07:51
stubI gotta go - see you tomorrow or whenever (datelines confuse me)07:52
=== carlos is here
=== carlos reads the log
carlosI see the error08:07
carloskiko, that should be more or less easy, it should be related to mark's changes to move from productrelease to productseries08:07
carloskiko, you scared me! I thought production was completely broken (we talk about a production problem this mornign with stub)08:08
kikocarlos, it was completely broken for 2h08:09
kikoand it will be again very soon if we don't get traction on it08:09
carloskiko, do you think it's related to the trace salgado pasted?08:10
kikosorry, had an interview08:14
kikocarlos, I don't think so, though fixing that would be an absolute plus08:14
kikoI think stub's paste is more relevant08:14
kikoin particular:08:14
kiko127.0.0.1 - Anonymous [14/Jul/2005:16:40:47 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/distros/ubuntu/breezy/+translations HTTP/1.1" 200 68467 "https://launchpad.ubuntu.com/rosetta" "Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.7.6) Gecko/20050306 Firefox/1.0.1 (Debian package 1.0.1-2)"08:14
carloskiko, at what time was that ?08:15
salgado[14/Jul/2005:16:40:47 +0100] 08:15
carloskiko, I was talking with stub about a big performance problem08:15
carlosthis morning08:15
kikocarlos, those were the last links that anybody hit on launchpad08:16
carlosand he told me that it was an index problem and told me that I don't need to care about it08:16
kikomaybe08:16
kikohe said a critical bug was filed on it08:16
kikodo you have a bug #?08:16
salgado144408:16
carloshttps://launchpad.ubuntu.com/malone/bugs/1444 ?08:17
carlosthat's exactly the bug we talked about08:17
salgado127.0.0.1 - Anonymous [14/Jul/2005:19:16:58 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/people/lifeless HTTP/1.1" 200 5417 "" "Googlebot/2.1 (+http://www.googlebot.com/bot.html)"08:17
salgadogooglebot is back08:17
kikocarlos, can we work around this issue?08:17
kikowhat query is that one?08:18
carloskiko, well, as far as I know, the problem was an index that confused postgres parser so the queries take too long  to execute08:18
carloskiko, he told me that he removed the index and it's not a problem anymore08:19
kikowe still have a problem apparently08:19
carloskiko, before that, last thing he told me to fix it (Before remove the index) was to remove a LIMIT 1 from the query that produces it08:19
=== kiko sighs
kikocarlos, can you tell me where to look so I can see what the problem is?08:20
carlosjust a second...08:20
kikobradb, I forgot to say, did you run pyflakes on the files you changed to make sure imports were correct?08:20
carloshttps://chinstrap.ubuntu.com/~dsilvers/paste/filevre5Mc.html08:20
carloskiko, that's the method that stub told me that seems to take too long08:20
carloskiko, but we didn't change it recently08:21
bradbkiko: nope. had no idea that we were meant to do that.08:21
kikosounds unlikely, doesn' it?08:21
kikobradb, well, it will help you catch common programming errors.08:21
carlosthe main problem seems to be that it joins 4 million rows with another similar amount, and then filters out getting all related with one pofile08:22
bradbin what way does it improve upon pylint?08:22
bradb(not that i ran pylint either, but was just curious)08:22
kikobradb, it's simpler and faster08:22
kikorunning pylint is an obvious plus08:22
kikocarlos, can you ask salgado to issue the query on staging to see if it does take that long to run?08:23
carlosI can do it directly, just a second...08:23
salgadoI don't have access to staging08:23
kikoor production if we are brave08:23
salgadoneither on production08:23
salgadostub closed the backdoor I was using. 08:24
carlosbastard! :-P08:24
salgado"backdoor", even08:24
kikocarlos, tell me the results08:25
carloshttps://chinstrap.ubuntu.com/~dsilvers/paste/file2YY82e.html08:28
kikocarlos, and the select itself?08:28
kikohow long does it take to run08:28
carloshttps://chinstrap.ubuntu.com/~dsilvers/paste/filer7AkKK.html08:29
bradbSteveA_: bradb@oxygen:~/launchpad/lib/canonical/launchpad $ find . -name "*.py" | xargs pylint.python2.4 --disable-all --enable-miscellaneous=y <= I encourage you to try that.08:29
bradbby the looks of it we have way over a hundred XXX/FIXME's/TODO's in our code08:30
=== bradb absolutely get into the habit of pre-review pylinting
bradb*must* absolutely, even08:31
carloskiko, any idea? I cannot think on an easy fix for that query other that add a cached value and that's not trivial08:34
carlosand as I said, that method is not new, it has been there since long ago08:35
kikocarlos, I mean08:35
kikohow long does the /query/ take to run?08:35
kikonot the explain08:35
carloskiko, how can I rate it?08:35
kikojust run it!08:35
kikoit will say how long it took (IIRC)08:35
kikootherwise look at the pgsql log08:35
carloskiko, I get the answer altmost at the same time I press enter08:36
carlosso it's not slow at all08:36
carloskiko, https://chinstrap.ubuntu.com/~dsilvers/paste/fileEzfSVQ.html08:38
carloskiko, and https://launchpad.ubuntu.com/distros/ubuntu/breezy/+translations (the link I think you gave me like the last one that was visited) loads really fast08:39
=== lamont is now known as lamont-away
carloskiko, I need to leave to bring the car to my parent's job, will be back in about 30-45 minutes. At this moment I don't see anything I can fix without some extra information. A query that takes 1second to run does not seems like the problem here, we are missing something08:45
kikothen that's probably not the problem :-/08:45
kikookay.08:45
carlosbtw, we could apply the change jamesh suggested this morning08:45
kikoah!08:45
kikoone sec.08:45
carlosso we raise exceptions if a query tooks too long08:45
kiko<stub> There are also a load of po-attach processes hung trying to call sendmail08:45
kikocarlos, could /that/ be the problem08:45
carloskiko, hmm, not sure, does it affects launchpad?08:46
kikonot sure either08:46
kikoperhaps, because don't scripts use the lp machinery?08:47
carlosand I suppose stub means poimport08:47
kikohmmm08:47
carlosbecasue the attach one does not uses sendmail...08:47
kikoI don't quite understand the problem and stub was too busy to be helpful.08:47
carloskiko, the poimport script is broken without a patch that will be cherrypicked by lifeless tomorrow08:47
kikoah well08:47
kikoaye.08:47
carlosso it can be disabled08:47
carlosif you think it's the cause of all our problems08:48
carlosuntil tomorrow08:48
kikoI don't, really, but I don't have a lot to go on. 08:48
carlosme neither08:48
kikosalgado, can you try uncovering more details? the postgres log may contain hints08:48
salgadokiko, I don't have access to the postgres logs08:49
carloskiko, I think we should get someone from outside .au that gets some extra rights in our servers, without lifeless and stub  we are really fucked08:49
kikoyeah, it's a suicide mission08:50
kikookay, thanks for the help08:50
carloskiko, It's my job ;-)08:50
=== carlos goes out for a while
kikobradb, what's the reason to use a staticmethod instead of a regular method, if we are calling it from an instance? performance?09:02
bradbkiko: dunno if there's a good reason to use them in lp code. i never do.09:04
bradb(i can't guarantee that i've never written a staticmethod once in lp code, but if i have, it must have been done blindfolded.)09:05
=== lamont [~lamont@15.238.5.95] has joined #launchpad
salgadoaha. launchpad is gone(again)?09:19
bradbyeppers09:20
bradbit went for a beer with pqm, i think09:21
=== bradb sent a merge request to pqm 1h 20m ago. no love so far. and 2 behind me in the queue to share in my misery!
=== SnakeBite [~SnakeBite@84.242.143.64] has joined #launchpad
=== SnakeBite [~SnakeBite@84.242.143.64] has joined #launchpad
salgadonothing unusual in the logs that I have access. the same failure I pasted before09:25
kikosalgado, not even a while back09:33
kikodo you have permissions to strace or gdb?09:33
salgadono, the process is owned by the launchpad user09:34
bradbSteveA_: i've got an addform with custom widgets, like:09:40
bradb        <browser:widget09:40
bradb           field="private"09:40
bradb           class="zope.app.form.browser.CheckBoxWidget"09:40
bradb           extra="tabindex=3" />09:40
bradbhow do i set properties of the "Add" button on the form though? i want to change its tabindex.09:41
kikobradb, I have a question for you09:41
kikoyou know your suggestion for the person portlet, where you asked me to say "First reported by" and "Reported in XXX by"?09:42
kikohow do I know when it's running here or there?09:42
kikoi.e. in the bug or in the task?09:42
bradbit might be clearer as two portlets, in that case09:43
kikobradb, hmmm. there's a problem, though -- the contextname may be kind of long. what dya think?09:44
bradbyeah, that's a concern09:44
kikolet's leave that for later then.09:45
kikobradb, interesting -- is there no way of finding out who reported a task today?09:46
bradbkiko: there is on the task page. it's one of the things i added during DBABT09:47
bradbthe portlet in the top right lists the context specific details (including the date reported in that context, etc.)09:48
bradb(because that's the date that matters for things like whine mail, etc.)09:48
kikoI see09:49
kikonasty redundancy there09:49
kikoI'll look into it later09:49
bradbredundancy in what?09:49
bradbZPT-level redundancy, you mean?09:50
kikono, in terms of information09:50
kikobug #2 in ubuntu09:50
kikooccuring in Ubuntu09:51
kikoreporter: sample person09:51
kikoreported by: sample person09:51
kikosalgado, is there a trivial way of listing just the files changed? baz status tells me too much09:51
bradbkiko: interesting, when i showed mark that page, he noted that he wanted it to be ABSOLUTELY CLEAR that you're looking at bug #42 in <whatever> context. he didn't think the page i showed him had been doing that clearly enough, despite the fact that the context information was repeated in like 7 different parts of the UI.09:52
jblackIt seems as if launchpad has been down for a long while again.09:52
kikoit's just presented poortly, I think09:52
kikojblack, it's gonna be down for the next 4h or until we get elmo to kick it09:52
jblackgah! 09:53
kikoblame travel and the fact that our only admins live in .au09:53
kikoif it's urgent, wake rob up09:53
kiko:-(09:53
kikoit's like 6am there09:53
bradbjblack: considering pqm is dead (as usual), maybe it's worth waking him up?09:53
jblackRob will just have to understand that out of the eight hours that I"ve worked, its been down for 4 or 5 of it? 09:54
kikojblack, is there a trivial way of listing just the files changed? baz status tells me too much09:54
kikojblack, I guess. give him a call09:54
jblackdepends on what you want. baz status has several options. 09:54
jblackyou may be looking for --lint, or baz diff09:54
kikoI just want to list the files changed09:55
kikonothing else09:55
=== SnakeBite [~SnakeBite@84.242.143.64] has joined #launchpad
kikookay, found a way10:05
salgadolifeless, also, pqm seems to be hung on bradb's branch10:34
lifeless--- SIGTERM (Terminated) @ 0 (0) ---10:34
lifelessgetpid()                                = 333210:34
lifelessrt_sigaction(SIGTERM, {0x80e8880, [] , 0}, {0x80e8880, [] , 0}, 8) = 010:34
lifelesssigreturn()                             = ? (mask now [] )10:34
lifelessfutex(0x82928a0, FUTEX_WAIT, 0, NULL)   = -1 EINTR (Interrupted system call)10:34
lifeless--- SIGTERM (Terminated) @ 0 (0) ---10:34
lifelessgetpid()                                = 333210:34
lifelessrt_sigaction(SIGTERM, {0x80e8880, [] , 0}, {0x80e8880, [] , 0}, 8) = 010:34
lifelesssigreturn()                             = ? (mask now [] )10:34
lifelessfutex(0x82928a0, FUTEX_WAIT, 0, NULL)   = -1 EINTR (Interrupted system call)10:34
lifelessthats a strace of the librarian10:34
lifelessin the test suite10:34
lifelessafter I 'kill XXXX' it10:35
kikogood ole futex10:35
kikolifeless, I'm a /lot/ more concerned with launchpad.10:35
lifelesslooking10:36
lifelessdid someone try to wake me ?10:37
kikoI'm not entirely sure, I suggested jblack did10:38
kikowe really need to get an admin in this timezone10:38
carloskiko, did you find the problem? is it related with Rosetta?10:40
lifelesscarlos: almost certainly, lps threads are all blockd on queries10:41
lifelesscarlos:  SELECT POSubmission.id, POSubmission.origin, POSubmission.person, POSubmission.pluralform, POSubmission.datecreated, POSubmission.potranslation, POSubmission.pomsgset, POSubmission.validationstatus FROM POMsgSet, POSubmission WHERE  10:43
lifelessis the culprit10:43
carloslifeless, I executed that query on staging10:44
carlosand it took only 1 minute10:44
carlossorry10:44
carlos1 secon10:44
carlosd10:44
=== lamont [~lamont@15.238.5.95] has joined #launchpad
salgadobut this query is truncated, as stuart pointed out10:44
carlossalgado, he found a query that was not truncated10:45
lifelessthis is being run hundreds of thousands of times10:45
lifeless1 second is probably 10 times longer than we can support10:45
kikolifeless, who is running this query hundreds of thousands of time, can you find out?10:45
=== bradb recieves a crushing failure message from pqm
lifelesskiko: launchpad_prod10:45
kikohihi10:45
kikolifeless, I mean, what codepath is being triggered (and by whom)10:45
lifelesskiko: no10:46
kikois it impossible to find out?10:46
lifelesskiko: for surety yes. But I think, like stub said, its google.10:46
lifelessthis time its yahoo10:47
lifelessin all probability.10:47
kikoyahoo is hitting hundreds of thousands of pages?10:47
kikoor one page is generating hundreds of thousands of queries.10:47
lifelesswon't know until it completes10:47
lifelessand as I'm about to revoke permissions ...10:47
jblacklifeless: lp has been down all day. :( 10:49
lifelessjblack: don't worry about it.10:49
kikolifeless, won't the failure make it clear?10:49
kiko(who was triggering the issue?)10:49
jblackworried? me? worry? I never worry! 10:49
kikoi.e. we'll get millions of errors in the log?10:49
lifelesskiko: no10:49
lifelesskiko: we'll get get errors from all rosetta users10:50
lifelessoh bah, stub , bah.10:50
kikolifeless?10:51
=== lamont [~lamont@15.238.5.95] has joined #launchpad
=== lamont [~lamont@15.238.5.95] has joined #launchpad
lifelesskiko: stuff that we need for db maintenance is currently just checked out as stub10:55
lifelesskiko: so I need to check it out myself before I can run the update10:55
bradblifeless: is it safe to submit merge requests to pqm again?10:56
lifelessbradb: it was never unsafe10:56
bradbyou wouldn't be saying that if you wore my shoes ;)10:56
lifelessbradb: the queue was stalled because the librarian had crashed10:56
lifelessso the test suite deadlocked on it AFAICT10:57
carlosexcuse me I had a phone call10:57
=== lamont [~lamont@15.238.5.95] has joined #launchpad
carlosok, I will take a look at it, but I don't see an easy way to improve it other than caching the result value and it will not be a trivial change10:58
lifelesscarlos: can we just make the page not listed such that google/yahoo find it ?10:59
carlosI mean, I can do it for tomorrow, but will touch several files and I prefer if it's reviewed before cherrypick it into production10:59
lifelesscarlos: i.e. only registered users get any suggestions, or ..10:59
carloslifeless, it's not just suggestions10:59
carloslifeless, could we ban google and yahoo bots?10:59
carlosrobots.txt should do it10:59
carlosuntil we fix the bug10:59
lifelesswell, whatever it is - its probably ok-but-not-optimal for end users, but killer for bots11:00
lifelessright, what pattern should I put in there11:00
lifeless:/11:00
carlosUser-agent: *11:01
carlosDisallow: /11:01
carlosthat should ban all robots11:01
lifelessuhm, ban them all you mean. erm11:01
carloshttp://www.searchengineworld.com/robots/robots_tutorial.htm11:01
lifelessthat seems fairly harsh11:02
carloslifeless, it will be only until tomorrow11:03
carloswhile I prepare a fix, it gets reviewed and we cherrypick it11:03
lifelessbtw11:03
lifelesstible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"11:03
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:39 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/token/djCg0b1v9Gjcrb1ch6WJ HTTP/1.1" 303 2970 "" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050601 Firefox/1.0.4 (Ubuntu package 1.0.4)"11:03
lifelesslaunchpad@macquarie ~ $ tail dists/launchpad/launchpad-access.log  -f11:03
lifeless127.0.0.1 - 94 [14/Jul/2005:21:35:37 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/people/name94 HTTP/1.1" 200 5939 "https://launchpad.ubuntu.com/malone/bugs/1243" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050405 Firefox/1.0 (Ubuntu package 1.0.2)"11:03
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:37 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/robots.txt HTTP/1.1" 200 236 "" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"11:03
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:37 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/rosetta/products/wordpress/wordpress-1.5/+translate?languages=fr_CH HTTP/1.1" 500 4357 "" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"11:03
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:37 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/robots.txt HTTP/1.1" 200 236 "" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:37 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/ HTTP/1.1" 200 5174 "" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:38 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/people/ubuntumembers HTTP/1.1" 200 5232 "" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2)"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:38 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/rosetta/products/wordpress/wordpress-1.5/+translate?languages=it_IT HTTP/1.1" 500 4357 "http://www.fogliata.net/archives/2005/02/17/localizzazione-italiana-per-wordpress-15/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:39 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/malone/bugs/1399 HTTP/1.1" 200 9211 "" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:39 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/rosetta/products/wordpress/wordpress-1.5/+translate/+login?languages=es_ES HTTP/1.1" 200 7083 "" "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"11:04
lifeless127.0.0.1 - Anonymous [14/Jul/2005:21:35:39 +0100]  "GET /++vh++https:launchpad.ubuntu.com:443/++/token/djCg0b1v9Gjcrb1ch6WJ HTTP/1.1" 303 2970 "" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050601 Firefox/1.0.4 (Ubuntu package 1.0.4)"11:04
lifelessthat should give you some hints11:04
carlosthose links are to protected things...11:05
lifelessthose pages completed ok11:06
lifelessbut I imagine it was traversing out from them11:06
lifelessI can't find a robots.txt in the source, do we have one ?11:06
SteveA_for the public zope site11:07
SteveA_they use several app servers11:07
=== ddaa [~ddaa@marvin.xlii.org] has joined #launchpad
SteveA_and have one that they always sent robots to11:07
SteveA_so, robots just slow each other down11:07
lifelessright11:07
lifelesswe can do that once we get the load balancing online (if pound supports that, otherwise we might need to use squid ;0)11:07
SteveA_i know, let's rewrite squid using twisted11:08
SteveA_it won't take long11:08
lifelessif I am the one doing it, sure :)11:08
SteveA_DOIT11:08
=== lifeless clicks his fingers
lifelessDONE11:08
kikovf11:08
lifelessbut I had it on my ramdisk, which I just rebooted. soh11:09
SteveA_i'm off to bed shortly, up for a taxi at 6.20.  just copying over my stuff onto the laptop, and grabbing the latest from RF.11:09
kikoSteveA_, ping?11:09
kikojust one question11:09
lifelesshappy travels11:09
kikoSteveA_,  is there any reason for _linkify_substitution to be a staticmethod?11:10
SteveA_i'll be around for a while yet -- baz takes so long on my laptop11:10
lifelesscarlos: what I want to know is why it suddently got bad ?11:10
SteveA_kiko: yes.  it needn't be anything but.11:10
kikoSteveA_, and bonus question: are you okay with me splittine that into _linkify_bug and _linkify_url?11:10
SteveA_kiko: how do you mean?11:10
kikoSteveA_, a reason other than that.11:10
kikothe method currently does: if a: ... long section of code elif b: ... long section of code11:11
SteveA_how do you mean, splitting it into linkify bug and linkify url?11:11
kikoI'd rather they were separate for maintenence reasons11:11
SteveA_you want one method that calls one of two others?11:11
kikoright11:11
kikohmmm11:12
kikowe could also use separate regular expressions, I imagine11:12
SteveA_no11:12
kikono?11:12
SteveA_don't use separate regexes11:12
SteveA_it isn't a very long method, if you take out the comments11:12
lifelesswe shouldn't use comments, they make the code too long11:13
carloslifeless, no idea11:13
SteveA_there's about 8 lines of code for linkifying urls11:13
SteveA_and about 14 for linkifying bugs11:13
kikoideally a callable should do one thing11:13
SteveA_i say leave it as it is11:13
lifelesscarlos: well, what changed in rosetta from the last release to this? Was it adding a link as part of googleification ?11:13
kikoSteveA_, what's the problem with using separate regexps?11:14
SteveA_jamesh already demonstrated11:14
carloslifeless, I didn't change anything, I suppose it's related with Mark's changes11:14
kikoI see11:14
carlosbut that method is not new at all11:15
lifelesssabdfl kills launchpad news at 11.11:15
carlosso I suppose that for any reason it's not called a lot11:15
SteveA_kiko: save it until i'm in brazil11:15
SteveA_we can look through it then much more easily11:15
=== carlos -> dinner
carloslifeless, do you need anything from me (other than the patch to reduce the time of that method)11:15
carlos?11:15
kikothe issue is a URL containing "bug XXX", i guess (which is impossible but..)11:15
kikoah,11:16
kikoURLs to malone bugs should also be linkified :)11:16
kiko(specially)11:16
kikothat throws a twist in.11:16
bradbSteveA_: i have an addform with custom widgets A, B and C. the tab order of A, B and C is 1, 2 and 3, respectively. how do i set the tabindex of the "Add" button itself to be 4, so that when I tab out of widget C, I landed on the "Add" button?11:17
SteveA_bradb: i have no idea.11:17
SteveA_i think there's a way to override how the button is presented11:17
SteveA_dunno what it is, without going and reading the source11:18
kikoyeah.11:18
kikowe'll let you read it for free bradb 11:18
bradbHEH11:18
lifelessyou are so full of compassion11:18
bradblost in the bowels of Z3...he must be working on something really deep and complex! what do you mean "all he wanted to do was change the tabindex of a button?"11:19
kikowelcome to the world of autogen forms11:19
bradbit takes forever to hand-write forms though too, unfortunately11:20
SteveA_i thought that's what outsourcing was all about11:21
bradbparticularly with error handling, value persistence, consistent presentation and labelling, etc.11:21
lifelesscarlos: could https://launchpad.ubuntu.com/distros/ubuntu/hoary/+translations be the problem ?11:23
lifelessoh hohoho11:24
lifelesslaunchpad doesn't recover from db bounces yet11:25
lifelessok11:28
lifelessrosetta pomsgset disabled11:28
lifelesslp will no longer go down11:28
=== ChanServ [ChanServ@services.] has joined #launchpad
=== ddaa [~ddaa@marvin.xlii.org] has joined #launchpad
=== lamont-away [~lamont@mix.mmjgroup.com] has joined #launchpad
=== salgado [~salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== debonzi [~debonzi@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== lamont [~lamont@15.238.5.95] has joined #launchpad
=== SteveA_ [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
=== jamesh [~james@203-59-251-126.dyn.iinet.net.au] has joined #launchpad
=== sivang [~sivang@box79162.elkhouse.de] has joined #launchpad
=== BjornT [10183@82-135-221-189.ip.takas.lt] has joined #launchpad
=== Nafallo [nafallo@nafallo.user] has joined #launchpad
=== asmodai [~asmodai@sakko.demon.nl] has joined #launchpad
cprovehh? freenode kicks ass 11:36
=== lamont [~lamont@15.238.5.95] has joined #launchpad
=== SteveA_ [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
=== lifeless [~robertc@dsl-211.17.240.220.rns02-kent-syd.dsl.comindico.com.au] has joined #launchpad
=== bradb [~bradb@modemcable082.64-130-66.mc.videotron.ca] has joined #launchpad
=== jamesh [~james@203-59-251-126.dyn.iinet.net.au] has joined #launchpad
=== sivang [~sivang@box79162.elkhouse.de] has joined #launchpad
=== BjornT [10183@82-135-221-189.ip.takas.lt] has joined #launchpad
=== Nafallo [nafallo@nafallo.user] has joined #launchpad
=== asmodai [~asmodai@sakko.demon.nl] has joined #launchpad
=== JanC [~janc@JanC.member.lugwv] has joined #launchpad
=== morgs [~morgan@wblv-146-236-76.telkomadsl.co.za] has joined #launchpad
=== jblack [jblack@static-209-158-45-74.scr.east.verizon.net] has joined #launchpad
=== superted_ [~superted@213.167.101.222] has joined #launchpad
=== ChanServ [ChanServ@services.] has joined #launchpad
=== bob2 [~rob@crumbs.ertius.org] has joined #launchpad
=== ddaa [~ddaa@marvin.xlii.org] has joined #launchpad
=== lamont-away [~lamont@mix.mmjgroup.com] has joined #launchpad
=== salgado [~salgado@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== debonzi [~debonzi@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== carlos [~carlos@69.Red-80-33-181.pooles.rima-tde.net] has joined #launchpad
=== dilys [daf@muse.19inch.net] has joined #launchpad
=== Kinnison [~dsilvers@haddenham.pepperfish.net] has joined #launchpad
=== debonzi [~debonzi@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
=== spiv [~andrew@fuchsia.puzzling.org] has joined #launchpad
=== lamont [~lamont@15.238.5.95] has joined #launchpad
=== SteveA_ [~steve@adsl-213-190-44-43.takas.lt] has joined #launchpad
=== jamesh [~james@203-59-251-126.dyn.iinet.net.au] has joined #launchpad
=== sivang [~sivang@box79162.elkhouse.de] has joined #launchpad
=== BjornT [10183@82-135-221-189.ip.takas.lt] has joined #launchpad
=== Nafallo [nafallo@nafallo.user] has joined #launchpad
=== asmodai [~asmodai@sakko.demon.nl] has joined #launchpad
=== cprov [~cprov@200-171-140-32.dsl.telesp.net.br] has joined #launchpad
bradblifeless: er, wait, did you bounce pqm earlier or not then? i got the impression that you did, but it's hung again.11:53
SteveA_kiko: see you tomorrow!11:54
lifelessbradb: I did, new hang11:56
bradbah11:56
lifelesspython cronscripts/rosetta-poimport.py -q was hung and needed a kill -911:56
bradblifeless: is there anyway pqm can run the request command in a little box, and for us to be a given a big red button that can tell pqm to "reset" itself, which includes completely resetting the box to its default state?11:57
bradbs/request/requested/11:58
=== terrex [~terrex@84-122-73-155.onocable.ono.com] has joined #launchpad
bradbi'm not sure if a chroot jail is usable for this purpose or not11:58
lifelessbradb: please give me feedback on my PqmRobustness BrainDump11:58
=== bradb looks

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