=== magcius_ is now known as magcius | ||
wgrant | OOPS-1575B227 | 02:52 |
---|---|---|
wgrant | Probably a DB locking issue. | 02:52 |
wgrant | Can somebody please tell me the problematic statement? | 02:52 |
wgrant | Alternatively it could be taking ages to close the several bugs attached. | 02:56 |
wgrant | It would be handy to know which. | 02:56 |
cody-somerville | wgrant, TimeoutError: 'SELECT PackageUploadSource.id, PackageUploadSource.packageupload, PackageUploadSource.sourcepackagerelease FROM PackageUploadSource WHERE PackageUploadSource.packageupload = %s ORDER BY PackageUploadSource.id', [<storm.variables.IntVariable object at 0x2aaaadddca28>] | 03:44 |
wgrant | Gnargh not that one again. | 03:45 |
wgrant | cody-somerville: How long did it take? | 03:45 |
wgrant | That particular query, that is. | 03:46 |
cody-somerville | As long as what ever the timeout value is I assume | 03:48 |
wgrant | cody-somerville: Basically I'm wondering if that query was the straw that broke the camel's back, or if it took a long time on its own. | 03:49 |
cody-somerville | wgrant, It doesn't show up in the long SQL statements list. | 03:49 |
cody-somerville | wgrant, although it does show up in the repeated SQL statements | 03:50 |
cody-somerville | and its a subselect for a lot of repeated queries too | 03:51 |
wgrant | cody-somerville: Can you see how long the final statement in the query log took? | 03:51 |
cody-somerville | 4ms | 03:52 |
wgrant | OK. Thanks. | 03:53 |
cody-somerville | "SELECT BugJob.json_data, BugJob.bug, BugJob.id, BugJob.job, BugJob.job_type FROM BugJob, Job WHERE BugJob.bug = %s AND BugJob.job_type = %s AND BugJob.job = Job.id AND Job.id IN (SELECT Job.id FROM Job WHERE Job.status = %s AND (Job.lease_expires IS NULL OR Job.lease_expires < (CURRENT_TIMESTAMP AT TIME ZONE 'UTC')) AND (Job.scheduled_start IS NULL OR Job.scheduled_start <= (CURRENT_TIMESTAMP AT TIME ZONE 'UTC'))) LIMIT 1" a | 03:53 |
cody-somerville | ppears very costly. 432.0 and repeated 7 times. | 03:53 |
wgrant | Ahhh. | 03:53 |
wgrant | so it *is* the bugs. | 03:53 |
wgrant | But 432ms each? Seriously? | 03:54 |
cody-somerville | thats the average | 03:57 |
cody-somerville | some take longer | 03:57 |
cody-somerville | one took 632ms | 03:57 |
cody-somerville | 'TypeError: Only a read-only field can have a mutator method' <-- I guess sinzui was wrong about bug_supervisor being read only already :P | 03:58 |
wgrant | cody-somerville: He was right, and I was right. | 03:58 |
wgrant | There are two aspects to read-onlyness: | 03:58 |
wgrant | - the schema in the interface. Currently writable, and what lazr.restful looks at. | 03:59 |
wgrant | - The attribute security, in configure.zcml. Currently read-only. | 03:59 |
cody-somerville | Did I mention I hate zope? | 03:59 |
wgrant | It goes without saying. | 03:59 |
wgrant | Although, well, for what LP is it could be worse. | 04:00 |
cody-somerville | but clearly in the context I was talking about earlier I was referring to the former and not the attribute security. | 04:00 |
cody-somerville | but maybe it doesn't matter and he just assumed I'd understand what he meant. | 04:01 |
wgrant | He was clearly misunderstanding and speaking about the ZCML, though. | 04:01 |
cody-somerville | oh well, in the end it meant I learnt something new so all good. | 04:02 |
cody-somerville | so I assume if I set the attribute to readonly its not going to cause problems since the attribute security already makes it readonly? | 04:02 |
cody-somerville | doh, I was afraid I'd run into this: TypeError: A mutator method must take one and only one non-fixed argument. setBugSupervisor takes 2 | 04:03 |
wgrant | That's OK. | 04:03 |
wgrant | You just need to use something (operation_parameters()? I forget) to pre-populate the second argument with REQUEST_USER. | 04:03 |
wgrant | grep around for REQUEST_USER if you're unsure of details. | 04:04 |
* wgrant lunches. | 04:04 | |
cody-somerville | wgrant, I already do | 04:05 |
cody-somerville | wgrant, @call_with(user=REQUEST_USER) | 04:05 |
wgrant | cody-somerville: You removed the incorrect self argument? | 04:06 |
cody-somerville | wgrant, yup | 04:06 |
wgrant | cody-somerville: paste(bin) all your decorators and the method definition itself? | 04:07 |
cody-somerville | wgrant, https://pastebin.canonical.com/31276/ | 04:08 |
wgrant | cody-somerville: EPERM | 04:08 |
cody-somerville | oops | 04:08 |
cody-somerville | http://pastebin.ubuntu.com/421428/ | 04:09 |
wgrant | cody-somerville: You might need to export_write_operation too, and all the other examples I'm looking at have mutator_for first (ie. executed last) | 04:10 |
wgrant | Anyway, really lunching now. | 04:10 |
cody-somerville | true true | 04:11 |
cody-somerville | looks like that works | 04:11 |
cody-somerville | woot. works. Now I just need to write tests. | 04:14 |
* wgrant returns. | 04:25 | |
=== magcius__ is now known as magcius | ||
mwhudson | woo all tests pass in no-hosted-area | 08:49 |
wgrant | mwhudson: Nice! | 08:52 |
mwhudson | not sure the very last test fixes will pass review but i guess there's monday for that | 08:57 |
thumper | mwhudson: congrates | 08:57 |
thumper | :) | 08:58 |
thumper | please ignort that last typo | 08:58 |
thumper | had almost a bottle of wine | 08:58 |
mwhudson | haha | 09:00 |
magcius | Where exactly in the code is the source for the launchpad.net landing page and project pages on there? What is the "app" name for the "Overview" section of a project page? | 20:07 |
adiroiban | magcius: launchpad.net landing page? Can you please add an URL of that page? | 20:15 |
adiroiban | I don't know exactly about what page are you talking about | 20:15 |
magcius | adiroiban: something like http://launchpad.net or http://launchpad.net/bzr | 20:15 |
adiroiban | http://launchpad.net/bzr | 20:15 |
magcius | adiroiban: what subapp is that? | 20:16 |
adiroiban | is the IProduct +index page | 20:16 |
adiroiban | it should be registry | 20:16 |
magcius | ah, registry | 20:16 |
adiroiban | I am not sure about the launchpad.net start page ... let me check | 20:16 |
adiroiban | I usualy just look at some text on that page | 20:16 |
adiroiban | and do a full text search on all files | 20:17 |
magcius | heh | 20:17 |
magcius | what I'm really looking for is the timeline graph JavaScript code | 20:17 |
adiroiban | magcius: the one under „Series and milestones” ? | 20:18 |
magcius | adiroiban: yes | 20:18 |
adiroiban | registry/templates/timeline-macros.pt | 20:21 |
adiroiban | magcius: that should be the starting point... then look for javascript code in lib/canonical/launchpad/javascript/registry | 20:23 |
magcius | adiroiban: alright, thank yo | 20:23 |
adiroiban | or if it was moved... in lib/lp/registry/javascsript | 20:23 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!