/srv/irclogs.ubuntu.com/2010/06/16/#launchpad-dev.txt

=== Ursinha-afk is now known as Ursinha
wgrantstub: Yes yes yes kill BST.04:13
stubAnnoying DBA's since 200604:22
stubspurious-apostrophes-is-us04:23
lifelessBST ?04:31
stubBull Shit Time04:36
stubBetter to run in Unambiguous Computer Time04:37
lifelessheh04:37
lifelessI know what it meant, I was wondering what the impact was04:37
lifelessdidn't you set the test tz to be argentina or something ages back ?04:37
stubLaunchpad copes, but it confuses users. wgrant was referring to the recent bug that revision timestamps are in BST (and we don't display the timezone either).04:47
stubhttps://bugs.edge.launchpad.net/launchpad-code/+bug/59459104:48
_mup_Bug #594591: What timezone does codebrowse display? <Launchpad Bazaar Integration:New> <https://launchpad.net/bugs/594591>04:48
lifelessoh04:48
lifelessin loggerhead or lp core ?04:49
lifelesssounds like loggerhead04:49
stubYer. Elsewhere we use 'x hours ago' or just the date, which is human friendly I guess but not cache friendly.04:51
lifelessits friendly enough04:54
lifelesspull the cached object, format, ship04:54
stubNot when you are trying to cache the formatting04:54
lifelessthats true, but formatting single revs isn't where the bottlenecks for loggerhead are04:55
lifelessits also cachable for the granularity of your format04:55
lifelesse.g. 60 seconds for 'last X minutes04:55
lifeless'60 minutes for 'last Y hours04:56
lifelessand days for 'Z days ago'04:56
lifelessif you're getting multiple requests a second, a 60 second cache is plenty04:56
lifelessparticularly as its self bounding - after an hour it will scale back, and so on04:57
stubI'm thinking more about Launchpad. Marking up out content is slow.05:13
wgrantDo we have a good analysis of where time is spent?05:15
stubLess so now that thumper switched off bug-link tooltips so rendering text containing a bug tag no longer issues database queries05:15
thumperstub: it does for faq references still05:15
stubThere is a dropin TAL replacement called Chameleon, but unfortunately isn't dropin-enough so we are still using the default TAL rendering engine.05:16
wgrantstub: That sounds like it could easily be done with memcached...05:16
stubthumper: it won't when I get done05:16
wgrantAlthough python-memcached seems to be very slow.05:16
thumperlifeless: I'm in general agreement with you about privacy05:16
thumperlifeless: I think we need careful analysis of it as it will touch everything05:16
lifelessstub: understood; I don't want to make things slow :). We could still get 60 second caches out using the above strategy for LP.05:16
stubwgrant: Still sucks the first time you render it, unless you prepopulate memcache and have some way of ensuring objects don't get evicted.05:16
* thumper is still trying to do personal 360 reviews even though they are late05:17
wgrantstub: Right.05:17
lifelessthumper: year, I had two 360's turn up late, forgot about em, and remembdered today05:17
lifelessbetter todo than not todo05:17
thumperlifeless: do you have a few minutes for a skype call?05:30
lifelesssure05:30
lifelesslet me grab my mic from lynne so you don't get feedback05:30
thumperok05:30
=== jamesh_ is now known as jamesh
lifelessthumper: you have mail05:55
mtaylordon't use python-memcached06:21
mtayloryou want to use the one based on libmemcached06:21
lifelesswhat is it called?06:24
mtaylorpython-libmemcached I think06:26
mtayloralso, I started a new one at one point - can't remember if I ever released it06:26
lifelesshave you played with gizzard /06:27
mtaylorno...06:35
mtaylorew. they're using thrift06:37
stubThe other memcached library seemed flakier than python-memcached. Not sure what the performance issue is - it seems very thin.06:38
stubIt would be trivial to switch though - we are only using the minimal API at the moment if they are different (get/set single keys at a time)06:40
mtaylorthe main reason to switch would be getting distributed support that's in libmemcached06:40
stubPossibly because of versions of libmemcached in hardy too - not sure what is there.06:41
mtaylorthat's where all the partitioning/load-balancing is handled  - oh you need hardy06:41
mtayloryeah, that's gonna be old06:41
mtaylorI've got libmemcached backports in my ppa I believe06:41
mtaylorI may have deleted hardy though...06:41
=== Ursinha-afk is now known as Ursinha
mtayloryeah, sorry. no hardy06:42
stubIf it is worth upgrading we can worry about it after the lucid upgrade.06:42
stubWhat is the distributed support?06:42
mtaylorthe key hashing algorithms to distribute across multiple memcached's is implemented in libmemcached rather than server side06:43
mtaylorit's conceivable that the pure-python one could have re-implemented all of the hashing stuff, but rather unlikely06:43
stubThe pure python library calculates the hashes client side, and there is a hook to enable server side if you want.06:45
stubno... all client side. that hook is to be compatible with an older server I think.06:46
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
gmbMorning kids.08:00
spmyo dad08:01
wgrantgmb: Morning.08:01
gmbspm, This morning, I feel old enough to be your dad.08:02
gmbMorning wgrant.08:02
spmgmb: that's a scary scary place to be, given how old my dad actually is08:02
wgrantDid you get an email from that ec2 test of mine you ran?08:02
wgrantBecause it landed.08:02
wgrantBut I didn't get an email from it.08:02
wgrantNor the other one, which probably failed.08:03
gmbwgrant, Yes, I did; I misspelt your email on the command line, that's why you didn't get one :).08:03
gmb(I wrote wrant, it turned out)08:03
wgrantgmb: Ah. So maybe mars just didn't fire my other one off, and EC2 isn't being crap again.08:03
spmwrant seems more accurate somehow...08:03
wgrantHeh.08:04
gmbwgrant, Possibly. You have to deliberately put emails in as CLI arguments, so maybe he ran the tests but forgot to add you as a recipient.08:04
wgrantgmb: Doesn't ec2 land do that automagically?08:04
* spm is depressed he hasn't noticed that potential childish name misspelling tease. right under his nose all this time. shame.08:04
wgrantspm: Maybe I need to get wgrant.com, and start a blog named WG-rant.08:05
spmBWHAHAhahahahahaha08:05
gmbwgrant, Yes, but I ran (and I suspect mars ran) ec2 test, just out of habit when running others' code through ec2.08:05
gmbwgrant, That would be full of win.08:05
gmbYou could have a deathmatch with Matt Garrett.08:05
wgrantHe'd surely win.08:06
gmbStarbucks appear to have picked "bizaare Ska tracks" as their CD this morning. Time for Rhythmbox.08:10
adeuringgood morning08:14
stubI need some crappy javascript to sort tables by clicking on the column headers08:42
stubOr some good javascript - I'm not fussy.08:42
lifelesswe had that08:42
lifeless5 years back, just uncommit08:42
lifelessin fact, I think some tables *still* have it08:42
stubBut I'll worry about that after a swim08:44
wgrantCan someone please ec2 land https://code.edge.launchpad.net/~wgrant/launchpad/bug-592935-hide-disabled-ppas/+merge/27411 and https://code.edge.launchpad.net/~wgrant/launchpad/bug-592914-recipe-distroseries-order/+merge/27415?08:58
jelmerwgrant: sure08:59
wgrantjelmer: Thanks.08:59
mrevellGood morning09:09
noodles775Hi stub (or anyone with sql-foo), if you have a chance, can you take a look at the following options and let me know which of the two (left join or except) would be better? http://pastebin.ubuntu.com/450490/09:13
noodles775erm, sql-fu ;)09:14
noodles775(with both queries the result will be limited to a batch)09:15
gmbRight. Modules without an __all__, which are used in indirect imports, first against the wall when I become President of the World, okay?09:17
wgrantYou have my vote, as long as removing all glob imports is also one of your core promises.09:19
lifelesswhere is the ec2 land code these days ?10:51
james_w./utilities/ec210:52
james_w./lib/devscripts/ec2test for the meat.10:53
lifelessI meant as a branch url )10:54
lifelesswhat branch is that in10:54
james_wit's in the launchpad codebase10:55
lifelessthanks10:55
james_whttp://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/files/head:/lib/devscripts/ec2test/10:56
lifelesshah10:59
lifelessbad mime type, naughty bobo10:59
lifelessor,.11:00
lifelessemail module being confusion, no worries11:00
jtvhnyarg testfix mode?12:36
wgrantbigjools: Is the package metadata thing being designed with the PPA index page as a possible future use case?12:37
bigjoolsno12:38
wgrant:(12:38
bigjoolsbut it would be easy to do12:39
bigjoolsjust not a priority12:39
wgrantWell, as long as the format isn't unowkrable.12:39
noodles775It'd be great to be able to say, if the meta data is there describing the apps, use it, otherwise use the installable binaries...12:40
wgrantExactly.12:40
jtvAnyone got time to testfix lp.code.browser.tests.test_sourcepackagerecipe.TestSourcePackageRecipeView.test_request_builds_page?12:42
wgrantThe order thing?12:43
jtvwgrant: looks like12:44
jtvWarty & Secret changed places in some test output.12:44
wgrantI have a branch in EC2 which orders by distroseries.version. I wasn't aware the order wasn't stable... I was just irritated over the weekend that it was arbitrary.12:44
wgrantSo it will probably be rejected for the thing that it fixes :(12:45
jtvwgrant: the irony.12:45
jtvwgrant: I guess this was Aaron's branch, and he's not here yet...  any other interesting background you can give me?12:46
wgrantI don't know why it's just started breaking now.12:47
jtvwgrant: hmmyeah... I don't see anything in the past day of changse that would particularly have effected this.12:49
jtvIt may be an indeterminate ordering.12:50
jtvWhat was that sound?  Ah, darkness fell.  Goes so fast here.12:50
wgrantOh.12:50
wgrantOh. I hate you.12:51
wgrantGaaaah.12:51
wgrantSo, I was told to use attrgetter('name.version') rather than lambda ds: ds.name.version12:51
wgrantThat worked locally, although I was surprised.12:51
wgrantAnd it just failed ec2.12:51
jelmerwgrant: did you see those emails?12:51
wgrantTurns out that python2.5 doesn't like that.12:51
wgrantpython2.6 is fine with it.12:51
wgrantGahl12:51
wgrantSo, https://code.edge.launchpad.net/~wgrant/launchpad/bug-592914-recipe-distroseries-order/+merge/2741512:52
jtvwgrant: errr when you say "I hate you," who exactly are you talking to?12:53
wgrantThat should work on 2.5.12:53
wgrantjtv: Python.12:53
jtvah :)12:53
wgrantDoes anybody have a 2.5-using system that they can test that on?12:54
wgrant'bin/test -t sourcepackagerecipe' is sufficient.12:54
jtv(silence)12:56
* mwhudson thinks attrgetter is an abomination12:56
jtvwgrant: I can run it through ec2, and then just land it12:57
* jtv wonders: if it works for "foo.bar" will it also work for "foo.invokeSomeMethod(param, arg).bar"?12:57
wgrantmwhudson: This new variant seems to be.12:58
wgrantThe old one wasn't too bad.12:58
mwhudsonmaybe i exaggerated12:58
mwhudsons/abomination/solution to a non-problem/12:59
wgrantWhat, you don't hate lambdas like Launchpad policy does?12:59
mwhudsoncorrect12:59
wgrantGood.12:59
jtvnoodles775, I'm sure you know this: can I give utilities/ec2 options like bin/test's -t to control which tests will run?13:09
noodles775I don't actually... I'd use the source to find out...13:10
jtvI did that, but it's not incredibly transparent.13:10
noodles775jtv: utilities/ec2 --help test13:12
noodles775Shows how to pass test options.13:12
maxb<wgrant> So, I was told to use attrgetter('name.version') rather than lambda ds: ds.name.version13:12
maxbWhat is the rationale for that? The lambda looks so much nicer to my mind13:12
jtvnoodles775: damn, I should've thought of that.  :)  Thanks.13:12
wgrantmaxb: The style guide just about forbids lambdas.13:12
jtvAnd the exception to that is recent.13:13
* noodles775 thinks it's another case of "use it sensibly"13:13
noodles775s/it's/it should be/13:13
wgrantIt explicitly says that one should use attrgetter instead if possible.13:13
maxbAnd fails to provide plausible rationale for this :-(13:14
noodles775which broke your test on 2.5 :/13:14
jtvISTR the review docs on the old wiki saying something about attrgetters as well...  something about them being unsafe?  Never really got what it was about.13:15
maxb"Use of the built-in hasattr function should be avoided since it swallows exceptions." ?13:31
wgranthttp://bugs.python.org/issue50471413:33
marswgrant, I did not get a mail for that branch.  Not sure why, maybe the run itself did not start, and I no longer have the console I started it in.13:58
marswgrant, do you need me to do another run?  Or did gmb pick it up?13:59
gmbmars, I didn't pick it up since I didn't know what happened to it.13:59
gmbProbably best to run it again.13:59
wgrantmars, gmb: jelmer reran it.14:02
wgrantBut it failed.14:02
wgrantSince attrgetter('foo.bar') doesn't work on Python 2.5.14:02
wgrantSo I've reverted to the lambda.14:03
marswgrant, yeah, I thought of that when I saw your reply later that night14:03
wgrantBut now devel is in testfix.14:03
marsI have a hard-earned "check in Python2.5" mental switch after trying to work in 2.6 for a while14:03
mars2.6 has a surprisingly large number of obviously useful features that are not in 2.5.  You get addicted to them.14:04
wgrantHeh.14:04
wgrantYes...14:04
wgrantI think 2.4->2.5 might have been worse, though.14:05
wgrantBut we can do away with 2.5 in a month or two...14:05
marsyes, looking forward to that14:05
wgrantHm.14:08
wgrantSomeone has landed that branch now, anyway.14:08
wgrantjtv: Was that you?14:08
jtvwgrant: yes14:08
jtvlike I said14:08
wgrantThanks.14:08
jtvThank _you_.  Easy testfix.  :)14:09
maxbooi, do we know when we will know when LP datacentre machines start going lucid?14:24
wgranthttps://code.edge.launchpad.net/~wgrant/launchpad/bug-592935-hide-disabled-ppas/+merge/27411 failed EC2 because of the devel breakage.14:27
wgrantCan somebody please send it back?14:27
=== henninge_ is now known as henninge
marswgrant, I'll try and lp-land it14:34
wgrantI wonder if it will bother to email anybody this time.14:35
marswgrant, it is on its way14:49
marsbut the buildbot pass is a while away - 7 hours14:50
wgrantBut it should be untestfixed already, right?14:52
marsyes14:53
marsjtv's branch did that14:53
jtvmars: it was wgrant's branch... I just landed it as a testfix14:53
sinzuigary_poster, flacoste: I need help with a CheckBoxWidget: http://pastebin.ubuntu.com/450614/15:42
=== matsubara is now known as matsubara-lunch
gary_postersinzui: not sure.  I'll look at setUpWidget.15:44
sinzuigary_poster, flacoste: I neglected to mention that I am using GhostWidget to suppress rendering. I now think (after making my failure public) that the problem is that GhostWidget is really a text widget, it does not covert values of 'on' to True15:45
sinzuiThat must be the case. I should subclass the GhostWidget or implement a BooleanGhostWidet15:46
gary_postersinzui: that jibes with the suggestion that I was trying to validate before making: make the widget handle the value.15:46
gary_posterso, agree15:47
sinzuithanks gary15:47
flacostesinzui: why do we need a ghostwidget in the first place?15:47
gary_posterwelcome15:47
sinzuiflacoste, it is a mechanism we use to allow a form to manage manage a field in a normal fashion, but permit another widget to do the rendering. We do this when we want to compose a compound widget that interleaves subordinate fields into the widget's primary field15:49
sinzuiflacoste, eg, we show the licence_info field adjacent to the license widget because it is only relevant when the user choose two of the 25 items15:50
flacosteok15:56
sinzuisweat a 6 line fix by converting the Ghost into a mixin15:57
sinzuiow sweet. I hate English15:58
=== matsubara-lunch is now known as matsubara
=== jtv is now known as jtv-afk
=== salgado is now known as salgado-lunch
=== EdwinGrubbs is now known as Edwin-lunch
jmlhow do I disable edge redirection17:49
jpdsjml: Footer of any page on the right: "Disable edge redirect".17:50
jmljpds, thanks.17:51
=== Ursinha is now known as Ursinha-lunch
=== beuno is now known as beuno-lunch
=== henninge is now known as henninge-afk
mrevellnight18:20
=== salgado-lunch is now known as salgado
=== beuno-lunch is now known as beuno
=== henninge-afk is now known as henninge
=== Ursinha-lunch is now known as Ursinha
=== Edwin-lunch is now known as EdwinGrubbs
henningematsubara: you were saying you something like bug 595163 fixed elsewhere? Do remember where?19:36
_mup_Bug #595163: TypeError raised when query string contains a list <oops> <Launchpad Translations:New> <https://launchpad.net/bugs/595163>19:36
matsubarahenninge, just a sec. let me find it19:36
matsubarahenninge, https://bugs.edge.launchpad.net/bugs/21336619:41
_mup_Bug #213366: OOPS in +builds page passing a list as the query string <oops> <Soyuz:Fix Released by cprov> <https://launchpad.net/bugs/213366>19:41
henningematsubara: so, that fix turns the TypeError into an UnexpectedFormData. Is that an acceptable fix?20:12
matsubarahenninge, yes, I think so. that way the user will be informed that what he's trying to do is wrong and we won't record an oops for it20:13
henningeok, cool ;-)20:14
henningematsubara: thanks, that's really easy now.20:14
henningeI hope20:14
henninge;)20:14
matsubara:-)20:21
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
maxbthumper: Hi. Given the status of bug 327126 is it OK if I go ahead and create a small bzr-svn import from apache.org ?22:14
thumpermaxb: yep22:14
maxblets give it a go... (I have doubts)22:15
=== salgado is now known as salgado-afk
maxbbzrlib.errors.NotBranchError: Not a branch: "/subversion/trunk/subversion/tests/cmdline/svntest".22:18
maxbboo22:18
maxb(yes I did want just the svntest library in its own branch)22:18
thumpermaxb: we do have some apache imports working22:21
maxbyeah, I think I've been caught out by bzr-svn being too clever for its own good22:21
lifelessskynet is on the way22:25
=== matsubara is now known as matsubara-afk

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