/srv/irclogs.ubuntu.com/2012/11/22/#launchpad-dev.txt

bigjoolsthe text formatter is broken then, it linkifies bug\nNNN00:00
wgrantbigjools: It deliberately does that, to cope with wordwrapped emails00:06
bigjoolssee my text in bug 108183400:06
_mup_Bug #1081834: When setting a milestone on a bug task, the edit icon ends up as the "broken graphic" <Launchpad itself:New> < https://launchpad.net/bugs/1081834 >00:06
bigjoolsI say tough titty if it's word wrapped00:07
bigjoolscoz now you have a broken link00:07
wgrantIt's probably less bad to have that extra link than it is to miss some00:08
bigjoolsI disagree00:09
wgrantWhy?00:09
wgrantYou can just not click on that link :)00:09
bigjoolstell that to oops reports00:09
bigjoolsyou can just type a bug number too00:09
wgrantBut I can just as easily generate a bad link malevolently by typing "bug 2" in a comment00:10
wgrantThose sorts of things should be (but aren't presently) excluded from OOPS reports00:10
bigjoolswhy is it even linked if it doesn't exist?00:10
wgrantBecause user error can cause them00:10
bigjoolsit's ab ug00:10
bigjoolsshould not be linked00:10
wgrantIt's turned grey by JS if it doesn't exist.00:11
bigjoolsa start, I suppose00:11
wgrantUsers can type bad URLs00:11
wgrantThey can type bad bug numbers too00:11
bigjoolswell it doesn't go anywhere, I thought it was a real link, so it's opk00:12
wgrantIt is a real link until the JS detects that it doesn't actually exist00:12
wgrantWhich isn't ideal, but I think it's a reasonable compromise00:12
bigjoolsso robots will still click it then00:12
wgrantYes00:12
bigjoolsI am sure there was code in the formatter to not linkify non-existent bugs00:13
wgrantThere was, but we removed it00:13
wgrantBecause it was completely terrible00:13
bigjoolslet me guess ...00:13
wgrantMaking a separate query for each bug reference00:13
bigjoolsyeah00:13
wgrantAnd it's difficult to do otherwise without a multi-pass template system, which TAL is not00:13
bigjoolsI remember it being a problem on changelogs00:13
wgrantAnyway00:14
wgrant"bug 2" is just a special type of URL00:14
wgrantUsers can type bad URLs00:14
bigjoolsand when I wanted to remove it to fix performance, all of Ubuntu screamed like a thousand voices in the night00:14
wgrantWe still linkify them00:14
wgrantWhy not do the same with bugs?00:14
wgrantIt's not harming anyone00:14
bigjoolsok, you're on maintenance :)00:15
wgrant404s are a discretionary sort of OOPS, since users will always be able to generate them simply by typing a bad URL somewhere on LP00:15
* StevenK stabs gina.txt and twists the knife.00:15
wgrantThey don't unconditionally fall under ZOP00:15
bigjoolsok00:15
wgrantAnd they don't degrade user experience00:15
wgrant=> meh00:15
bigjoolswell at least you thought about it00:16
wgrantThe linkification of bullets isn't ideal, but there's not much we can do about it without breaking other cases00:17
wgrantOf course, if you used punctuation properly it wouldn't be a problem :P00:17
bigjools=> meh00:18
bigjoolsDWIM etc etc00:18
wgrantHeh00:18
StevenKwgrant: Hmmm, what about bug 837563?00:24
_mup_Bug #837563: language-pack-exporter script raised a KeyError <lp-translations> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/837563 >00:24
StevenKI thought OOPS prefixes were long dead00:25
wgrantStevenK: Sure, the REPORTIFSEEN part of that bug is no longer relevant00:26
wgrantThe underlying OOPS is00:26
bigjoolshmmm, why would ^\s not work in my sed expression01:47
StevenK\s as in 'any whitespace' ?01:48
bigjoolsyup01:48
bigjools^\s should be leading whitespace01:48
bigjoolsyet it matcheth not01:49
lifeless\\s ?01:49
bigjoolsnope01:50
bigjoolsremoving the ^ matches but I want to be more specific01:50
cjwatson[[:space:]]01:51
cjwatson\s is a perl-regex-ism01:52
bigjoolsit's in the sed man page :)01:52
cjwatsonnot in the one I have here it's not01:52
cjwatsonanyway, [[:space:]] is the POSIX form01:52
bigjools^[[:space:]] didn't work01:53
cjwatsonfull example please01:53
bigjoolssed -ri "s|^[[:space:]]generator:\shttp://.*:5243/|  http://bar:5243/|" test.tmp01:54
cjwatsonyou still have a \s there01:54
cjwatsonand I think perhaps you mean [[:space:]]* for zero or more whitespace characters?01:55
bigjoolsmakes no difference if I change it01:55
cjwatson[[:space:]] (or \s in regex engines that support that) means exactly one whitespace character01:55
bigjoolsI want a + actually, I'll change it01:55
bigjools\o/01:55
bigjoolsthanks cjwatson01:55
cjwatsonyw01:56
bigjoolsI really hate regex01:56
StevenKbigjools: You now have two problems.01:56
bigjoolsexactly01:56
StevenKOr three, if you're also dealing with mod_rewrite01:56
bigjoolsheh01:57
StevenKwgrant: Can't find OOPS-8e259d8c3b45707c6a37f986d3c8127d on carob's filesystem. :-(01:58
StevenKwgrant: I wonder if we can just destroy the branch puller02:00
wgrantmwhudson had plans :)02:04
lifelessand doesn't now ?02:05
mwhudsoni just don't have time now02:09
mwhudsonwgrant: actually i futzed a little on the flight to linaro connect about this and wanted to talk to someone (probably you!) about this02:09
mwhudsonwgrant: my plan went something like this:02:11
mwhudsonset up a launchpad user on each importd02:11
mwhudsonhave a fkey from codeimportmachine to this user02:11
mwhudsonchange _canWrite to something like this:02:11
mwhudson+        elif branch.branch_type == BranchType.IMPORTED:02:11
mwhudson+            job = branch.code_import.import_job02:11
mwhudson+            if job.machine:02:11
mwhudson+                return job.machine.user == requester02:11
mwhudson+            else:02:11
mwhudson+                return False02:11
lifelessmwhudson: so did you decide to stay w/Linaro or move back into Canonical ?02:11
wgrantmwhudson: That's probably the cheapest way to do it, but ideally we'd also solve stacking at the same time02:13
mwhudsonchange things around so that a lp:// url rather than a escudero url gets passed to the worker02:13
mwhudsonwgrant: "solve stacking"?02:13
wgrantmwhudson: Stacking imports would sometimes be nice.02:13
mwhudsonoh right02:13
wgrantWhich means access to more than just that branch02:14
wgrantWhich gets messy02:14
mwhudsonwell02:14
mwhudsonimports would end up stacked on the project trunk in this case02:14
mwhudsonbut they would get imported from scratch first02:14
mwhudsonwhich would not be so ideal02:14
wgrantWell02:14
wgrantThey might end up using /+branch-id, which wouldn't stack02:15
mwhudsonoh true02:15
mwhudsonand indeed, that would be easiest02:15
wgrantAnd safest02:15
mwhudsonso the fix is to make pushing to +branch-id stack?02:16
wgrantMaybe02:16
wgrantOr just ignore stacking02:16
mwhudsoni don't think attempting to solve stacking at the same time seems especially sensible02:16
wgrantIndeed, perhaps not02:17
wgrantBut it should be kept in mind as a future consideration, perhaps02:17
mwhudsononce imports don't need the puller, converting mirrored to imported branches should be trivial02:17
mwhudsonand then one can rm -rf lib/lp/codehosting/puller02:18
mwhudsonwhich would get you lots of LOC credit :-)02:18
wgrantYep02:18
wgrantThat's why I haven't converted mirrors yet02:18
wgrantBecause of the escudero mess02:18
mwhudsonright02:18
mwhudsonsomeone should delete all the codeimportevent mess too :(02:19
mwhudsonthat was mostly ddaa really but i feel bad for letting it happen02:19
wgrantWhat's the mess there?02:19
wgrantI admit I don't know those corners of the model well02:19
mwhudsonwell, the whole concept is stupid02:19
mwhudsonnot stupid02:19
mwhudsonbut should have been YAGNIed before implementation02:20
wgrantOh02:20
wgrantThat's distinct from codeimportresult... I... seee02:20
mwhudsonyeah02:20
lifelessthats hardly unique in LP02:20
wgrantAh02:21
wgrantSo CodeImportEvent is an audit log, basically02:21
mwhudsonyes02:21
mwhudsonthat you mostly can't read02:21
lifelessauditor being the now extant answer for that02:21
wgrantWell02:21
wgrantExcept it isn't extant yet :)02:22
lifelessENODEPLOY ?02:22
mwhudsonand that means that standard methods are not used to mutate them, which means that e.g. field validators don't run02:22
wgrantYeah02:22
mwhudsonwgrant: https://code.launchpad.net/~mwhudson/launchpad has a few branches at the top if that's useful at all02:22
mwhudsoni can't really remember how far i got, i was looking at changing the worker invocation code when i got discouraged i think02:23
wgrantHmm, have you made a terrible mistake...02:24
wgrantI guess we'll see02:24
wgrant(pushing a series of branches which will each want to create the same new revisions, and they'll be scanned concurrently now...)02:25
mwhudsonoh02:25
mwhudsonheh02:25
mwhudsonthey certainly don't seem to be being scanned02:25
wgrantIt takes a 80s at best to do a fresh scan of an LP branch nowadays02:25
wgrantOften a few minutes02:26
wgrantYeah, they all OOPSed02:28
mwhudsonsigh02:29
wgrantThe branch scanner does not win any points for considering locks or using sensible transaction sizes :(02:30
StevenKlifeless: We don't have the staging instance deployed yet, let alone think about production.02:34
StevenKwgrant: http://pastebin.ubuntu.com/1376306/ but I'm not sure how to test it02:46
wgrantUm no02:47
wgrantTransaction management does not go in DB model classes :)02:47
StevenKWrap the generateIncrementalDiff in BMPJ run() ?02:48
StevenKwgrant: http://pastebin.ubuntu.com/1376309/02:50
StevenKThat I can test, if I can patch out generateIncrementalDiff()02:51
wgrantWell02:51
wgrantWe in general need a strategy for handling conflicts in jobs02:51
wgranteg. what mwhudson just ran into02:52
wgrantIgnoring all IntegrityErrors is probably not it :)02:52
StevenKwgrant: Hmmm, it looks like cronscripts/rosetta-export-queue.py already uses the slave DB and based on the logs it isn't getting reaped. bug 50482103:18
_mup_Bug #504821: poimport (export)_uses a single long transaction, gets reaped <lp-translations> <oops> <Launchpad itself:Triaged> < https://launchpad.net/bugs/504821 >03:18
wgrantIt's still vile03:20
wgrantBut indeed, I haven't seen reaping in quite some time03:20
StevenKwgrant: Downgrade or close?03:21
wgrantInvalid until we have reason to believe otherwise03:21
wgrantIt's still something we need to adjust eventually, but it's not causing any trouble today03:24
wgrantAnd it's not actively a problem until we ratchet our paranoia up another notch03:24
wgrantStevenK: In what circumstances does one not have an id?03:26
StevenKI'm guessing when we get a error page or something like that03:31
StevenKThere are a whole stack of oopses on neem03:31
wgrantRight, they certainly happen03:31
wgrantBut we should work out why03:31
wgrantBlindly bypassing an error condition without understanding it is not the way to fix criticals, sadly03:32
wgrant(unless we have no other choice)03:32
StevenKI just noticed the OOPSes while looking if there was a langpack export OOPS03:34
StevenKChecking if they're all the same bugtracker03:35
wgrantSure03:35
wgrantIt's been happening for a while03:35
wgrantAnd it's likely to be a simple fix03:35
wgrantBut we need to understand why03:36
lifelessusing the slave db is now pointless03:36
lifelessas transaction bloat is propogated back to the master03:36
wgrantlifeless: Pointless for bloat03:37
wgrantNot pointless for load03:37
lifelessnot terribly interesting either ;>03:37
wgrant(not that load is an issue on any system today)03:37
wgrantright03:37
StevenKOh, hah04:00
StevenKmercurial has replaced their roundup instance with bugzilla and are redirecting04:00
wgrantAh04:00
StevenKwgrant: Right, there's mercurial fixed, two link farm bugtrackers deleted and I yet to figure out what setuptools is doing04:05
wgrant:)04:06
adeuringgood morning08:30
czajkowskialoha09:15
czajkowskicjwatson: ello how do you want this triaged, https://bugs.launchpad.net/launchpad/+bug/108186010:22
_mup_Bug #1081860: uploads to oneiric/partner are redirected to oneiric-proposed/partner <Launchpad itself:New> < https://launchpad.net/bugs/1081860 >10:22
cjwatsonczajkowski: I stole it for ubuntu-archive-tools10:29
cjwatsonSo you won't have to care :)10:29
czajkowskioki dokie :)10:29
czajkowskithanks colin10:29
=== matsubara is now known as matsubara-lunch
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== matsubara-lunch is now known as matsubara
czajkowskicjwatson: me again :) can you moderate a mail if you get a chance later on to devel17:31
czajkowskireally find it hard to type devel without going devil :/17:32
cjwatsonczajkowski: done17:33
czajkowskicjwatson: thank you17:34
=== cyclicflux is now known as Guest70182
jmlis there a secret way of only retrieving certain keys when GETting Launchpad API resources?18:18
jmlsome code_review_comments are really, really big.18:18
jmlfurther, the size of the download is 2x the size of the comment, because as_quoted_email is included in the dict18:20
jmlalso, they both get stored in memory as unicode objects, which take up 4x as many bytes as the string has characters18:21
jmlbringing us up to 8x18:21
jmlthen, if you are getting it as part of a collection, the naive way of using it (looping through), will give you a copy of the data in the collection _and_ a copy in the entry object18:22
jmltaking us up to 16x18:22
jmlfor this use case, I don't care about the comment body at all. All I want is the dates.18:23
czajkowskijml: most of the devs are off today as USA based18:35
jmlczajkowski: so I should try to avoid having hard problems today and tomorrow?18:42
czajkowskijml: most are back tomorrow tbh, or leave a message for wgrant he'll be back online shortlyish19:30
czajkowskijml: adeuring will be back jtv bigjools, or gmb19:31
wgrantjml: Well, you can retrieve individual attributes directly, but you can't retrieve a subset of elements that isn't either the whole lot or a single one.22:26
wgrantlazr.restful unfortunately provides no more advanced facility22:26
wgrantjml: You should upgrade to Python 3.3 :)22:26
abentleyjml: Are these really, really big code_review_comments full of test results?22:28
james_w`abentley, yes23:15

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