/srv/irclogs.ubuntu.com/2011/06/22/#launchpad-dev.txt

lifelessah, so the problem is that milestones are not unique00:00
sinzuiStevenK, wgrant, mumble?00:01
lifelesssinzui: hi00:03
lifelesssinzui: milestones00:03
lifelesssinzui: are they meant to be per-series ?00:03
sinzuilife no, their name space is per project, their parent is a series00:04
sinzuilifeless, ^00:04
lifelessso its expected folk may have one bug, with two tasks on different series, and the same milestone  on both tasks?00:04
lifelessor would that be an unusual use ?00:05
sinzuiIt is possible. the milestone is the release version. Project release versions are uniqu00:05
lifelesssinzui: so, when you're done with that call00:10
lifelessI'd like to talk through this with you00:10
lifelessto help me solve a quandry00:10
sinzuilifeless, I will be available to talk in ~30 minutes00:12
lifelessexcellent00:12
lifelessI will fiddle with lxc containers until you ping me00:12
LPCIBotProject windmill-devel build #261: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/261/00:14
wgrantsinzui: http://paste.ubuntu.com/630585/00:23
LPCIBotProject db-devel build #653: STILL FAILING in 6 hr 9 min: https://lpci.wedontsleep.org/job/db-devel/653/00:26
wgrantsinzui: http://paste.ubuntu.com/630589/00:32
sinzuiwgrant, thanks00:33
LPCIBotProject windmill-db-devel build #413: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/413/00:35
wallyworld_sinzui: i get this when i try the yui tests - https://pastebin.canonical.com/48843/00:38
wgrantwallyworld_: Upgrade.00:39
lifelesssinzui: ping me whenever you are ready00:56
timrcjcsackett, woo00:57
sinzuilifeless, okay00:57
lifelesssinzui: is skype working for you atm ?00:58
sinzuilifeless, I suspect so00:59
sinzuiI have sip too00:59
lifelesscan we use skype?00:59
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK | Critical bugs: 205 - 0:[######=_]:256
lifelesssinzui: I'd prefer skype unless you have a different preference - its echo cancellation is very good01:00
timrclifeless, this is not OEM-blessed work, but would it be valuable to remove buildd_secret from the web view? I'd be willing to look into it01:14
lifelesstimrc: I think its only visible to admins atm, and useful for debugging01:15
lifelesstimrc: IMBW01:15
timrclifeless, that's a good point01:15
lifelesssinzui: if another time would be better, thats fine with me; I'm a little blocked till I resolve this however01:22
sinzuilifeless, We love to talk01:23
lifelesssinzui: I cxan't see you on skype01:23
sinzuilifeless, coming online  now.01:25
wallyworld_wgrant: sorry, i exited prematurely. you were still talking01:25
wgrantwallyworld_: Just complaining that libwebkitgtk-3.0-0-dbgsym is 250MB.01:26
wallyworld_that's quite large for sure01:27
cody-somervilletimrc, furthermore, its the only mechanism to change the buildd_secret if it were to get leaked without having to use SQL.01:27
cody-somervilletimrc, but more importantly, congratz on getting your first change landed! :)01:27
LPCIBotProject devel build #824: STILL FAILING in 6 hr 32 min: https://lpci.wedontsleep.org/job/devel/824/01:30
=== mwhudson_ is now known as mwhudson
lifelesswgrant: I'm available to talk whenever you want about ubuntu disclosure / security bugs [sinzui says you know what this is about but he'll be email you regardless]02:04
wgrantlifeless: I shall await the email.02:05
wgrantsinzui: I have a somewhat symbolised backtrace now.02:08
wgrantsinzui: http://paste.ubuntu.com/630607/02:17
lifelesshah02:27
lifelesssinzui: http://pastebin.com/85p07rfv makes my test pass; there is no sample data with series milestones outside of debian. ok with this?02:30
sinzuilifeless, I am02:31
sinzuiwgrant, thank you very much02:32
lifelesswoohoo, its lp-land time02:33
wgrantlifeless: It seems we have a regression.02:33
wgrantlifeless: Probably in flacoste's branch.02:33
wgrant00134-09052@SQL-launchpad-main-master SELECT SourcePackagePublishingHistory.ancestor, SourcePackagePublishingHistory.archive, SourcePackagePublishingHistory.component, SourcePackagePublishingHistory.datecreated, SourcePackagePublishingHistory.datemadepending, SourcePackagePublishingHistory.datepublished, SourcePackagePublishingHistory.dateremoved, SourcePackagePublishingHistory.datesuperseded, SourcePackagePublishingHistory.distroseries, ...02:33
wgrant... SourcePackagePublishingHistory.id, SourcePackagePublishingHistory.pocket, SourcePackagePublishingHistory.removal_comment, SourcePackagePublishingHistory.removed_by, SourcePackagePublishingHistory.scheduleddeletiondate, SourcePackagePublishingHistory.section, SourcePackagePublishingHistory.sourcepackagerelease, SourcePackagePublishingHistory.status, SourcePackagePublishingHistory.supersededby FROM Archive, ...02:34
wgrant... SourcePackagePublishingHistory, SourcePackageRelease WHERE SourcePackagePublishingHistory.archive = Archive.id AND Archive.distribution = 1 AND Archive.purpose IN (1, 4, 7) AND SourcePackagePublishingHistory.sourcepackagerelease = SourcePackageRelease.id AND SourcePackageRelease.sourcepackagename = 31856 AND SourcePackagePublishingHistory.status IN (2, 1) ORDER BY SourcePackagePublishingHistory.id DESC LIMIT 102:34
lifelesswgrant: doing what?02:34
lifelesswgrant: it looks like it could be bug 72164302:35
_mup_Bug #721643: BugTask:+editstatus-page timeout changing source package <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/721643 >02:35
wgrantlifeless: It was editstatus, yeah.02:35
lifelesswgrant: changing the source package?02:35
wgrantlifeless: Indeed.02:36
wgrantBut the query is different.02:36
wgrantI wonder if the archive join is killing it.02:37
wgrantPreviously it named the IDs explicitly.02:37
lifeless15K archives02:38
lifelessplenty of room for wtfs02:38
wgrantCould you perhaps explainalyze it on staging?02:39
lifelesspastebin the q somewhere for me ?02:39
lifelessor gimve me the oops id ?02:39
wgranthttp://paste.ubuntu.com/630614/02:40
lifelesswgrant: its going to be -terrible- cold02:44
lifelesswgrant: its been running for 4 minutes now02:44
wgrantlifeless: What if you drop the archive join and replace it with archive IN (1, 534)?02:44
lifelesshttp://paste.ubuntu.com/630616/02:45
lifelesswgrant: 1.8 seconds hot02:45
lifelesswithout changing the q02:45
wgrantlifeless: That's still pretty slow.02:46
wgrantlifeless: What if you do change it?02:46
lifelessits not brillirant02:46
lifeless74ms02:47
lifelesshttp://paste.ubuntu.com/630617/02:47
StevenK74ms isn't brilliant?02:48
lifeless1800ms isn't brilliant02:48
sinzuiwgrant, lifeless would the editstatus timeouts be less of an issue if we completed this bug: https://bugs.launchpad.net/launchpad/+bug/39975602:49
_mup_Bug #399756: Remove the inline bugtask edit form <javascript> <lp-bugs> <tech-debt> <ui> <Launchpad itself:Triaged> < https://launchpad.net/bugs/399756 >02:49
wgrantsinzui: Only marginally.02:49
wgrantsinzui: This query is enough to make a single AJAX request timeout anyway.02:49
lifelesssinzui: I don't think they are related02:49
lifelesssinzui: the inline form doesn't do that much more work02:50
lifelesswgrant: rollback time ?02:50
lifelesswgrant: or hotfix?02:50
lifelesswgrant: (you've looked at flacostes patch already I presume; I haven't)02:50
wgrantlifeless: It's >1000 lines, IIRC.02:51
wgrantSo... Hm02:51
wgrantPossibly it's even the 2300 line branch.02:52
wgrantYay02:52
* wgrant goes digging.02:52
wgrantAh, mostly lint fixes.02:55
wgrantBut so many :(02:55
wgrantlifeless: So, hotfix is tiny, if we want to.02:57
wgrantI'm not sure if we really want to roll back.02:57
wgrantGiven the fun.02:57
lifelessno, its been traumatic02:57
lifelesslets hotfix02:58
wgrantk02:58
wgrantPreparing branch.02:58
lifelesspreparing incident report02:58
wgrantThanks.02:59
lifelessbug # ?03:03
wgrantNone as yet.03:03
wgrantWill file if you want.03:03
wgrantBut you seem to be handling the paperwork fine :P03:03
lifelessthanks :(03:03
lifelessand today I was finally hoping to do microservices.03:03
wgrantWell, what did you expect after 6 days :(03:04
lifelessepic fail?03:04
wgrantYes.03:04
lifelesswhat rev broke stuff?03:04
lifelessand whats the OOPS id you have?03:04
wgrant13263, OOPS-1999DR1503:05
wgrantProbably not synced yet.03:05
wgrantBut carob:~wgrant/logs/soybean/2011-06-22/05353.DR15, if you want it.03:05
lifelessnah03:06
lifelessjust for the paperwork03:06
lifelessbug 80048503:06
_mup_Bug #800485: timeout changing sourcepackage names in bugs <regression> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/800485 >03:06
wgrantThanks.03:06
wgrantTests pass with the fix, unsurprisingly.03:07
wgranthttp://paste.ubuntu.com/630623/03:07
lifelessdiff ?03:07
lifelessthanks03:07
lifelessdoit03:07
lifelessthis may help that other timeout? or is it undoing a spurious change flacoste made?03:08
wgrantThe latter.03:08
wgrantHe Stormified the query, and changed it to use a nice join instead of nasty all_distro_archive_ids.03:09
wgrantBut again, it has caused a performance issue :(03:09
wgrantProbably because SPPH is so skewed.03:09
lifelessah03:10
wgrantsinzui: And what about apport bugs? :)03:53
sinzuiwgrant, I do not know. Some or public some are private. I do not know its rules,, but I do not need to know why some of my bugs are private if we make apport behave like the current web UI03:55
StevenKThe bugs are created private since the backtrace may contain private information.03:55
sinzuiI wish apport was smart enough to know I do not have personal information in the bug an I really do want someone to see it03:56
wgrantThe bugs start with only the robot subscribed. It processes the coredump into a retracted backtrace.03:56
wgrantIt then makes a decision as to whether the backtrace should be kept private.03:57
wgrantIf so, it subscribes the crash bug triagers.03:57
sinzuiSo apports  visibility rules are not directly affected since they are not flagged as secuirty03:57
wgrantif not, it makes the bug public.03:57
wgrantsinzui: Right, but this would give Ubuntu owners direct access to sensitive passwords.03:57
wgrantSo it is a change of behaviour.03:57
sinzuiall six people?03:58
LPCIBotProject parallel-test build #58: STILL FAILING in 1 hr 1 min: https://lpci.wedontsleep.org/job/parallel-test/58/03:58
sinzuiwgrant, how can they not see them now? because they are not bug supervisors? They can change that at any moment03:59
wgrantsinzui: Hm?03:59
wgrantsinzui: Apport reports bugs with only the robot and the reporter subscribed.03:59
wgrantNo bug supervisor is involved.03:59
sinzuiah, sorry. I misunderstood that.03:59
sinzuiThis somewhat relates to the IRobot discussion. I think the case here is that bug report is not finalised so is not in a full state.04:01
wgrantIt's more similar to the security case.04:01
wgrantWhich suggests that the security case is not really that special.04:01
wgrantWhich suggests that it should not be much of a special case.04:02
cody-somerville"Launchpad requires that the project maintain(er) be a member of bug supervisor team." <-- I don't believe this is currently true. Are you proposing it become true?04:03
sinzuiI think privacy mean personal data, which is the cited reason for hiding the bugs.04:03
sinzuicody-somerville, it is true, but I know how to break the rule. We have lots of orphaned bugs because the maintain changed *after* the bug supervisor was set04:04
wgrantIt is not true.04:04
wgrantThe fields are unrelated.04:04
wgrantExcept that the maintainer can change the bug supervisor.04:04
sinzuiI can set the supervisor to myself or a team I am in. I cannot set it to another team04:05
lifelessback04:05
sinzuiNope still cannot make ~zeitgeist mange the bugs in py projects04:07
lifelesssinzui: or a team you own ?04:07
sinzuilifeless, I must be a team admin04:08
lifelesssinzui: ownership grants Launchpad.Admin04:08
sinzuiYes, that also mean I can make myself a member when ever I chose. I did that two weeks ago and bac could not stop me04:09
lifelesssinzui: yup, thats what we agreed on wasn't it ?04:09
sinzuiyes it was.04:10
lifelessI do wonder, perhaps project owners should be able to set any team as supervisor04:10
sinzuiI have all the access I want04:10
lifelessbut thats a different discussion04:10
lifelesstestblahblah might be a junk project :(04:11
sinzuiI think users need to say they need to do that. Ubuntu and canonical projects use bugs and security differently than everyone else04:12
LPCIBotProject windmill-db-devel build #414: STILL FAILING in 1 hr 13 min: https://lpci.wedontsleep.org/job/windmill-db-devel/414/04:24
lifelesssinzui: I have replied04:27
lifelesssinzui: I have some bits I don't understand yet04:27
lifelesssinzui: and perhaps some confusion04:27
lifelesssinzui: I think apport is quite easily fixable in the very short term, with a crash db being the long term fix.04:28
wgrantPeople don't read :(04:33
wgrant/projects/+new says "You do not need to register a project to: [...] Activate a PPA"04:33
jtvStevenK, wgrant: mind if I restart the appserver on dogfood?04:49
wgrantjtv: Please do.04:51
jtvthanks04:51
wgrantlifeless: The primary archive does use a-f.04:55
lifelesswgrant: the bug is about ppas04:56
wgrantlifeless: But the slowness that Julian speaks of is a-f.05:03
lifelessyes05:04
lifelessI read the cache comment as 'can you not jus tuse a-ft with a cache db to get ppa contents.gz working05:04
lifeless'05:04
lifelessto which the answer is no, we don't use a-f for ppa contents.gz05:04
lifelesswgrant: do I have something wrong in that logic?05:07
LPCIBotProject windmill-devel build #262: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/262/05:07
StevenKlifeless: Right, we do not use a-f for PPAs05:08
StevenKlifeless: Who is asking about Contents for PPAs?05:08
lifelessthere was a comment in the bug about it05:08
StevenKhttps://bugs.launchpad.net/launchpad/+bug/796997 is tracking my work on it, but it *will* be slow going.05:09
_mup_Bug #796997: Contents generation should be done from the database <qa-untestable> <soyuz-publish> <Launchpad itself:In Progress by stevenk> < https://launchpad.net/bugs/796997 >05:09
lifelessStevenK: yeah, its fine05:09
lifelesshe was suggesting using a-f with the cache switch, which is just irrelevant for contents.gz w/ ppas05:09
StevenKI doubt I can populate BRPC for a bit. 6.6 million BPRs with unexpired .debs05:10
lifelessyeah05:10
lifelessits pending the disk space increase as much as anything05:11
StevenKRight05:11
StevenKI figure I can take it slow, wait for db-stable to get merged into devel, and work from that.05:11
lifelesssure05:11
lifelessthough if you are not modifying existing tables, you can add the new ones live05:11
lifelessno downtime05:11
* StevenK shrugs05:12
StevenKMy brain is hardwired for "any changes to the db == db-devel"05:12
lifelesshopefully that will be history in a few weeks.05:13
StevenKExcellent. Then I can progres to "any change to the db == " *SEGV*05:13
StevenKI have a play branch, I'll be hitting up mawson probably at the sprint05:14
wgrantHahaha06:08
StevenKHmm?06:10
wgranthttp://people.canonical.com/~wgrant/launchpad/big-plans.png06:10
wgrantShould I be scared?06:10
StevenKBwahaa06:10
wgrantGrar.06:10
wgrantRT06:11
wgrantDIE06:11
wgrantI can't Cc myself to stuff :(06:11
wgrantSo, let's see this query plan.06:11
wgrantIt is obscene.06:11
wgrantPerhaps we just want to bite the bullet and create a summary table.06:12
lifeless40406:15
lifelesswgrant: what situation ?06:16
wgrantlifeless: Efficient querying of binary and source publication presence and overrides.06:17
wgrantlifeless: By name.06:17
wgrantAt the moment we have to join through BPR to BPPH.06:17
lifelessyes06:17
wgrantSince there's no name on BPPH.06:17
lifelessCan denorm that onto it06:17
wgrantProbably.06:17
lifelessif that will fix the queries, its a perfectly cromulent solution06:17
wgrantGuess it wouldn't be that big.06:17
wgrantLet's see what happens...06:18
lifelesswgrant: what was the png ?06:19
wgrantlifeless: A half-fullscreen terminal.06:20
StevenKAmusing, is what it was.06:20
wgrantThe top half has the word QUERY in it.06:20
wgrantThe bottom half was the seperator at the top of the table.06:20
lifelessheh06:20
wgrantNone of the actual plan fit on the screen.06:20
wgrantBecause it is so hideous.06:20
wgrantHIDEOUS06:20
wgrantLet's see if mawson melts...06:20
LPCIBotProject db-devel build #654: STILL FAILING in 5 hr 58 min: https://lpci.wedontsleep.org/job/db-devel/654/06:24
LPCIBotYippie, build fixed!07:07
LPCIBotProject devel build #825: FIXED in 5 hr 37 min: https://lpci.wedontsleep.org/job/devel/825/07:07
wgrantHm.07:10
wgrantSo those two persistent codeimport failures are gone?07:10
StevenKI think they've moved from persistent to spurious07:12
StevenKWait, wrong word :-/07:12
wgrants/spurious/intermittent/?07:12
StevenKRight07:12
jtvStevenK, wgrant: either of you willing to offer a shoulder to cry on?  Got a bit of a soyuz question.07:43
wgrantjtv: Fire away07:43
jtvThanks.  It's about how the +queue view batch-loads the various items associated with a batch of PackageUploads.07:44
wgrantOh dear.07:44
wgrant"Slowly"07:44
wgrant"Awkwardly"07:44
jtvAFAICT it retrieves the PackageUploadBuilds in self.builds_dict.07:44
jtvThat starts with BinaryPackageReleases.07:45
nigelbI guess working on LP eventually does eventually need a shoulder to cry on.07:45
jtvFrom there, it collects the builds.07:45
* jtv looks up what those are07:45
wgrantnigelb: Particularly Soyuz, yeah.07:45
wgrantjtv: Odd, it shouldn't be able to start with BinaryPackageReleases.07:45
jtvBinaryPackageBuilds.07:45
nigelbwgrant: And here I thought Blueprints were bad.07:45
wgrantjtv: Since it goes PU -> PUB -> BPB -> BPB07:45
wgrantBPB -> BPR, sorry.07:45
jtvDon't worry, I hadn't gotten that far yet.  :)  What's the correct line then?07:46
wgrant?07:46
jtvPU → PUB → BPB → BPR?07:46
wgrantYes.07:46
* jtv decodes07:46
jtvAh yes07:46
jtvIn my case, I'm more interested in the SPR than the BPR but it's much the same story otherwise.07:47
wgrantPUS → PUS → SPR07:47
wgrantGrar07:47
wgrantPU → PUS → SPR07:47
jtvI thought the FKs go PU ← BUB → BPB → SPR07:47
StevenKOne of your arrows is backward07:47
wgrantNo, it's right.07:47
jtvDon't worry about the PUS; I think those aren't related to my current problem.07:48
wgrantPU ← PUB → BPB ← BPR07:48
jtvI'm interested in the chain from PUB to SPR.07:48
wgrantWhy?07:48
wgrantThat's not normally something you want to do.07:48
* jtv images the rest of the LP team looking on in bafflement07:48
jtvIn this particular case, I need to find the PS.07:49
jtvPackageset, sorry.07:49
wgrantNormally it'd be PU ← PUS → SPR → SPR07:49
wgrantAh.07:49
StevenKSPR -> SPR? WTF?07:49
jtvStevenK: ISWYM07:49
wgrantStevenK: SourcePackageRelease → SourcePackageRecipe07:49
wgrantExcept I am wrong.07:49
jtvOIC — WTF indeed07:49
wgrantPU ← PUS → SPR → SPRB → SPR07:50
StevenKRight07:50
wgrantjtv: So, for a source upload you wouldn't go near PUB.07:50
wgrantWhy are you trying to?07:50
jtvI'm not saying it has to be a source upload.07:51
StevenKAssertionError: [] is not []07:51
jtvWhy would there even be a PUB for a source upload?07:51
StevenKSorry?!07:51
wgrantjtv: There wouldn't be. But I'm not sure we care about Packagesets for binary uploads now.07:51
jtvStevenK: you're creating empty list objects with different identities.07:51
wgrantjtv: If you want to, it's PU ← PUB → BPB → SPR07:51
StevenKOh, right07:51
StevenKSigh07:51
StevenKStupid Python07:51
jtvwgrant: true—maybe I should go back to what my real problem is.07:52
jtvWhich is that I'm missing the packageset "core" for a PU for netapplet 0.99.6-1 in the sample data.07:52
jtv(Fun with doctests)07:52
wgrantjtv: What have you changed?07:53
wgrantIs it a mixed upload?07:53
jtvI'm not sure.  It's listed as (source) but that may be sort of a straw to clutch at.07:53
jtvThe packagesets do work for alsa-utils, which also says it's (source).07:54
jtvAnd the packgesets look pretty simple to me, when it comes to source uploads.07:54
jtvAhhh, maybe they're not actually.07:54
jtvBecause again, the view doesn't go straight through the PUS to get the SPR.  It goes through SPRF.07:55
wgrantHm? SPRF is at the end.07:55
wgrantAfter SPR07:56
jtvShould be, yes.07:58
jtvThat's what you get when documentation simply says things like "a list of SPRs" without being precise about which ones they are.07:59
wgrantHm?08:00
adeuringgood morning08:01
jtvhi adeuring08:02
adeuringhi jtv!08:02
jtvwgrant: I can see now that the view probably needs a bit of tightening up of these access routes.  It should bulk-load classes in a more sensible step-by-step manner, following the primary access paths.08:03
wgrantjtv: Indeed. It was one of the earlier places to do preloading.08:03
jtvI think I walked into a trap because I wasn't familiar with the "natural" access paths.  That's going to be a growing risk, or source of friction, with squads.08:04
wgrantMm.08:05
wgrantEveryone will be familiar with the model eventually.08:05
jtvBut how long will it take and how hard will it be?08:08
wgrantA while and not terribly.08:08
wgrantI even know translations somewhat now.08:09
jtvI suspect the rest of LP is relatively easy when you started with soyuz!08:09
wgrantFair point.08:09
jtvAlso, I'm pretty sure that a lot of the Soyuz knowledge will suffer from degrading memory _and_ code changes after a few rotations on other stuff.08:10
wgrantI don't know about others, but it's pretty irrevocably scarred into my mind.08:11
jtvGood, that's one innocence ruined; who's next?08:11
jtvI think an investment in clarity here would pay off handsomely, both in terms of performance and in terms of developer effectiveness.08:11
jtv\o/ got that test passing!08:12
jtvWonder how many others I broke.08:12
wgrantWhat criminal act have you performed on the view?08:12
jtvBulk-loaded PUS, SPR, Packageset.08:13
jtvAlso, we have put…  a bag over its head.08:13
wgrantAh, excellent.08:13
jtv(Because the Blackadder angle was just too good to resist)08:13
wgrantI had a branch that trialled that long, long ago. Before it was accepted that we could bulk-load collections.08:14
wgrantBecause it issues so many queries :(08:14
jtvQuite.08:14
jtvI suspect some of the complexity would evaporate from that view if we would just take the bulk-loading one step at a time.08:14
wgrantIt needs to be ripped out and replaced.08:15
jtvRight now there's a fair amount of "I've got objects at step 1 in the reference chain; get me the ones at step 3."08:15
wgrantThe bulk-loading is rather messy.08:15
wgrantNeeds to be redone with helpers.08:15
jtvWell yes, ripping out would feel good too.08:15
wgrantAnd sense.08:15
jtvOne thing that bothers me about the whole thing is that we _could_ fetch the PUS/PUB/PUC and so on in Ajax as you fold open one queue item in the UI, _but_ we still need to know that they're there so we can decorate each with the right icons.08:16
jtvWhich reminds me…08:16
wgrantYes.08:16
wgrantThey're very cheap to get, though.08:16
wgrantJust have to remove the scaling.08:16
jtv…do we have any icon that we might use to represent a package sync?08:16
wgrantWe do not.08:16
wgrantI think Julian was going to talk to Huw about that.08:16
wgrantOr something.08:16
wgrantbut it's been a while.08:16
wgrantYou see we're sort of scratching for icons already.08:17
wgrantWhich is why we use the Ubuntu logo for translations...08:17
wgrantMaybe not translations.08:17
wgrantMaybe it was dist-upgraders and debian-installerse.08:17
jtv(The page could also do with some sprites)08:17
wgrantBut something that shouldn't have the Ubuntu logo, anyway.08:17
jtvYes, saw some of that.08:17
jtvActually it's quite easy to see in my new code:08:17
jtvI've got a method that says "here's a list of icons you may need; for each you get condition, alt, title, image name.  Now spit out HTML for the ones that apply."08:18
wgrantExcellent.08:18
jtvI'm hoping that a future step could also notice that "hang on, I have a sprite for this somewhere."08:19
jtvEven further into the future though, maybe we could just render PUs though and have the icons filled in asynchronously.08:19
jtvwgrant: you wouldn't be interested in reviewing my view change by any chance?  It's about a thousand lines, but it might give you some satisfaction.08:20
wgrantjtv: It would be quite satisfying to review cleanup of that view.08:20
jtvIt's not a full cleanup by any stretch of the imagination, but I hope a step in the right direction.  I'm hoping that CompletePackageUpload will evolve into a PackageUploadView.08:21
jtvwgrant: might it make sense to use copy.png for a PCJ upload?08:27
wgrantjtv: Not sure.08:28
wgrantIt probably makes more sense in the translations UI.08:28
jtvwgrant: I guess copy.png is for the action, rather than as a description.  "Sync" icons are a dime a dozen though; I suppose the world has a fairly well-defined idea what they look like.08:31
lifelessyeah08:35
lifelessso we should do something different P08:35
jtvIn this case, I doubt that would help.08:36
daniloshum, anyone knows if we have trouble accessing SF SVN branches? (re question https://answers.launchpad.net/launchpad/+question/162211, "svn ls" works for me)08:44
jtvdanilos: they used to block us, though I thought that was resolved.08:44
jtvAnd hi.  :)08:44
jtvwgrant: would you be willing to review my branch?08:44
danilosjtv, hi :)08:44
jtvwhich reminds me08:44
jtvcurrent topic is: https://dev.launchpad.net/ | On call reviewer: StevenK,jtv | Critical bugs: 205 - 0:[######=_]:25608:44
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK,jtv | Critical bugs: 205 - 0:[######=_]:256
=== lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK,jtv | Critical bugs: 211 - 0:[######=_]:256
wgrant:(08:46
danilosjtv, which reminds me...08:47
jtvlots of embarrassed coughing all around ☺08:47
=== danilos changed the topic of #launchpad-dev to: lifeless промени тему у https://dev.launchpad.net/ | On call reviewer: StevenK, jtv, danilo | Critical bugs: 211 - 0:[######=_]:256
jtvpromeny temy?08:47
daniloshaha08:48
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: StevenK, jtv, danilo | Critical bugs: 211 - 0:[######=_]:256
jtvah, same word as "theme," right?08:48
jtvGreek "thema"08:48
danilosjtv, yeah, "promeni temu" :)08:48
jtvsubject08:48
lifelessI changed the topic? yes I did08:49
daniloslifeless, I didn't have to put that fact in the topic, though :)08:49
jtvregardless of language :)08:49
lifelessindeed :)08:49
jtv"Extra!  Extra!  lifeless has changed the topic!  Read all about it."08:49
danilosjtv, btw, other than the +languages/xx page, do you think dropping tm__language__submitter__idx could harm anything else? (if you can remember anything off the top of your big, bald head)08:50
jtvdanilos: err.. POFile filter?08:50
jtvWhich I know you've been looking at…08:50
danilosjtv, it actually seems to help that :)08:50
jtvwow08:50
jtvThat may mean that the index actually needed more columns.08:51
danilosjtv, not surprising, considering the index is for a (language, submitter), and for those active translators, it's going to be more08:51
danilosjtv, yeah, I am trying to add potmsgset in08:51
lifelessallenap: if you used a temp table, did you analyze it first ?08:51
danilosjtv, unfortunately, if I just add another index, postgres still uses tm__language__submitter__idx even after analyze08:52
jtvdanilos: I believe you've been looking at putting TM in a different type of DB…  some less radical things that I think might help include: using arrays for msgstr1…msgstr5 and moving the is_current_u* flags out of the table.08:52
lifelessdanilos: whats the new index you added ?08:52
jtvdanilos: maybe the fields are in an inconvenient order?08:52
jtvlifeless: any chance of us getting hypothetical indexes?08:53
lifelessdanilos: (perhaps the index is being selected due to sort order; making sure the columns match the sort order both left->right and asc/desc)08:53
lifelessjtv: is it in 9.0 ? :)08:53
jtvIt's a 3rd-party patch.08:53
jtvI think on 8.something & up.08:53
jtvhttp://pqxx.org/development/libpqxx/wiki/HypotheticalIndexes08:53
lifelessjtv: http://sourceforge.net/projects/hypotheticalind/ ?08:53
jtvI think that's the one, yes08:53
jtvI got them to put up some documentation a while ago.  :-)08:54
daniloslifeless, hum, interesting, never tried that out08:54
lifelessah, I see08:54
jtvpostgres does know reverse index scans though.08:55
danilosjtv, let me read through that as well :) I love all things hypothetical08:55
lifelessdanilos: when pg can satisfy the requested sort from index, it will take that index even if it makes things worse (AFAICT) - perhaps our query cost estimators are whack.08:55
jtvlifeless: that would indicate a problem with cost estimation, yes.08:55
lifelessdanilos: so if you have a better index and its competing on a sort-matching index, you need to make the better one also sort-match.08:55
jtvWe may even have tried too hard to _make_ it use indexes.08:55
daniloslifeless, in this particular case, it's sorting by things outside this index, so doesn't seem related08:55
lifelessok08:56
danilosjtv, lifeless: I get roughly an order of magnitude improvement just by dropping the index for the query from bug 53420308:56
_mup_Bug #534203: Timeouts on POFile:+filter (filter by person) <lp-translations> <timeout> <Launchpad itself:Triaged by danilo> < https://launchpad.net/bugs/534203 >08:56
jtvdanilos: it may be interesting to learn what index the optimizer uses instead on the faster query, and comparing that to the one you dropped.08:56
lifelessdanilos: yeah, I saw the comments.08:56
lifelessdanilos: I'm fine with dropping the index FWIW, if we fairly sure nothing else is thrown out.08:57
danilosjtv, well, I did look into it, which is why I thought adding potmsgset in would help :)08:57
jtvdanilos: but you didn't enlighten us.  :)08:57
lifeless[unless the index is needed for FK cascade deletes]08:57
jtvI think we have separate indexes for each FK.08:58
danilosjtv, heh, right, I did that in the bug report08:58
LPCIBotProject parallel-test build #59: STILL FAILING in 1 hr 16 min: https://lpci.wedontsleep.org/job/parallel-test/59/08:59
danilosjtv, so, I am just creating tm__potmsgset__language__submitter__idx and dropping the tm__language_submitter__idx and I'll see how that works08:59
lifelessjtv: hypotheticals : +1 for dev, staging, qastaging.08:59
lifelessjtv: -0 for prod08:59
jtvOf course.08:59
danilosjtv, this hypothetical indexes stuff sounds very cool!08:59
jtvYes, it means you can just shower your tables with indexes just to see what the ideal ones would be.09:00
lifelesso/~ its raining indices09:00
jtv?09:00
lifelessjtv: its raining men, shower, - I have a weird associational memory09:01
jtvBut what is "o/~"?09:01
jtva horizontal shower?09:02
lifelessoh, a note symbol from sheet music09:02
lifelesse.q. quaver09:02
jtvargh09:02
LPCIBotProject windmill-db-devel build #415: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-db-devel/415/09:02
jtvI would've thought something like d^09:03
lifelessindeed, I didn't invent it :)09:03
allenaplifeless: I did. I tried a temp table and, iirc, a couple of variations on WITH. The temp table improved thing marginally, but there was still that 300000+ rows loop in the plan. The WITH clause reduced execution time from ~6s to <2s, but the UNION approach got it down to ~0.7s.09:04
lifelessallenap: did you compare the plans ?09:04
lifelessallenap: I want to know whats going wrong09:04
* jtv thought allenap claimed to invent the ascii quaver09:04
allenaplifeless: I still have them. I'll organize them and attach them to the bug report.09:05
lifelessallenap: its thinking that the selectivity is all whack09:05
lifelessallenap: the union thing uhm, freaks me.09:05
allenaplifeless: Yeah! It's a like a weird hack.09:06
lifelessI can't look into it tonight, but I will happily have a fiddle around tomorrow09:06
lifelesssinzui: bug 80054409:13
_mup_Bug #800544: series milestone tasks not shown on project|distro scope bug portlets <bugs> <Launchpad itself:Triaged> < https://launchpad.net/bugs/800544 >09:13
henningeHey danilos! ;)09:23
daniloshenninge, hey-hey, how's it going?09:23
henningedanilos: good, I have the next two days off ... ;-)09:23
lifelesshenninge: nice09:24
daniloshenninge, yeah, sounds nice, so I better get hold of you for a chat today :)09:24
henningedanilos: this morning, I'll already be travelling in the afternoon.09:25
jmlyo09:25
daniloshenninge, how about in 35 mins then? I just want to finish some performance testing first09:25
jml'sup dawgs?09:25
jml(also, would someone kindly glance at <https://code.launchpad.net/~jml/launchpad/buildd-cleanups/+merge/65378>)?09:25
lifelessstuff09:25
henningedanilos: sounds good09:25
daniloshenninge, cool, talk to you then09:26
henningeok09:26
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jtv, danilo | Critical bugs: 211 - 0:[######=_]:256
allenaplifeless: https://bugs.launchpad.net/launchpad/+bug/798301/+attachment/2177909/+files/plans.txt09:28
_mup_Bug #798301: Time-out on +localpackagediffs <derivation> <timeout> <Launchpad itself:In Progress by allenap> < https://launchpad.net/bugs/798301 >09:28
danilosjml, looks good, r=me09:29
jmldanilos: thank you.09:29
StevenKbigjools: Are you feeling better?09:31
bigjoolsStevenK: quite a lot better thanks09:31
jtvhuwshimi: I think we need a new icon, to mark package uploads in the UI that are "package synchronizations."09:49
huwshimijtv: OK. I'm not familiar with that part of LP. What's the difference?09:50
lifelesshuwshimi: have you heard of soyuz ?09:50
huwshimilifeless: Of course :)09:50
jtvHi.  This is soyuz, and only a small group of people really need to deal with it.  A package upload can be a source upload, or contain builds, or contain translation tarballs, and so on.09:50
* lifeless gets out before the dogpile is too large :P09:51
jtvA new item they can have attached is a job to sync a package.09:51
huwshimijtv: And is that a transitory status?09:52
bigjoolswgrant: hello09:53
jtvOnly to the extent that the package upload object itself is.  This copy job will be its raison d'être.09:53
jtvSo it's more a characterization of the object you're looking at.09:53
bigjoolsjtv: I don' think you need to block on this BTW09:53
jtvbigjools: I'm not, but might as well get it going.  :)09:53
bigjoolsok :)09:54
jtvallenap: the performance problem isn't simply a matter of running out of work_mem?09:54
allenapjtv: Absolutely no idea!09:55
allenapjtv: Can I tweak that before running the query?09:55
jtvallenap: you could, but it's just a tiny bit nasty to do that as a matter of course.09:55
lifelessjtv: its selecting a 300K row scan09:55
jtvBut it's something you can try in-session while experimenting on any of the test dbs.09:55
jtvlifeless: so it's a quantum leap to a different plan then, not a gradual increase in run time?09:56
huwshimijtv: Maybe you can provide a bug for this with a screenshot of what we currently have.09:56
jtv(for some value of "gradual" of course)09:56
huwshimijtv: Is this part of a feature you're working on?09:56
jtvhuwshimi: we have nothing for it yet.  It's a new item that a package upload can have.09:56
huwshimijtv: Oh right09:56
jtvYes, this is the feature we're working on.09:56
lifelessjtv: I can't drill into it tonight, but the plan when its slow looks poor09:57
jtvlifeless: I gather that's it pretty much good enough for now, so maybe we should just go with what we have and worry more if it becomes a problem again?09:57
lifelessjtv: (I have a 0530 am wake up tomorrow which is why fiddling tonight would be bad :)09:57
jtvbird in the hand etc.09:58
jtvI know how you feel — I'm on 05:00 at the moment.  Followed by a few more hours of sleep, thankfully.09:58
lifelessjtv: the use of a union to work around a poor plan is a bit unnerving09:58
lifelessjtv: allenap: I think identifying the cause is worthwhile; that or just the expedient thing of clamping the batch size (which is a 1-line fix)09:59
henningedanilos: did you want to do voice?09:59
jtvlifeless: I'll still need to get to that part, so no idea how unnerving it is yet.  Guess I'll look at that first.09:59
henninges/did/do/09:59
huwshimijtv: OK, so what icon do we currently use for package uploads that are not package syncs?09:59
jtvhuwshimi: each has a collection of icons depending on what types of items are attached.09:59
jtvWe need to add one more icon to that.09:59
daniloshenninge, yes please, though mumble is kind of dead for me, so it'd have to be skype10:00
jtvWe do suffer a paucity of icons there.10:00
allenaplifeless: Clamping the batch size is going to displease the users, from what I've heard. If we can work around it one way or the other I think it's worth it.10:00
lifelessallenap: what they want and what they need are totally different things10:00
daniloshenninge, if that doesn't work for you, irc is fine as well10:00
lifelessallenap: seriously - they are talking about paginating through thousands of entries; thats a terrible UI10:00
jtvallenap, lifeless: Sometimes the answer may just be to have separate pages for separate purposes, and optimize them to extremes for their specific purposes.10:00
huwshimijtv: Ok, I'm just want to look at something so I can see what to base this new icon off (or at least make it fit with what we have for the other types).10:00
jtvhuwshimi: try /ubuntu/oneiric/+queue10:01
jtv(Try selecting a different status than New to see more)10:01
huwshimijtv: Ah thanks10:02
lifelessallenap: bigjools initial reaction to the bug was to say '300 is url hacking, low pri' - which says to me that supporting large batches isn't important to the feature at this point.10:02
daniloshenninge, heh, call when ready10:02
bigjoolslifeless: more complicated than that10:02
allenaplifeless: Yes, but then you put it back up to Critical!10:02
allenaplifeless: But fair. I think we can leave this alone for now.10:03
huwshimijtv: OK, can you file a bug for it anyway, just so I have something in the system and explain what you want and I'll get onto it.10:03
jtvhuwshimi: certainly — hang on10:04
huwshimijtv: Thanks10:04
allenapjtv: I've mostly heard rumblings that better search for those pages is what's needed. I think that's the way to ensure that batches stay small.10:04
jtvhuwshimi: bug 80057310:08
_mup_Bug #800573: Need icon for sync package uploads <derivation> <Launchpad itself:Triaged by huwshimi> < https://launchpad.net/bugs/800573 >10:08
huwshimijtv: Thanks10:08
jtvthanks for looking into it — I assigned it to you10:09
huwshimijtv: No problems10:11
wgrantbigjools: Hi.10:13
bigjoolswgrant: hey, I just want to help rvba finish his branch10:14
bigjoolshe's done the stuff you asked but I have one more question10:14
wgrantbigjools: Oh?10:15
wgrant(I have further concerns, but not sure how to resolve them)10:15
bigjoolsif he blocks binaries with conflicting files, we'll end up with builds with incomplete binaries and wondered about the effects of that10:15
wgrantYes10:15
bigjoolsand wondered if we should block the source for the binary too10:15
wgrantWe really need to copy the sources, I think, not the publications.10:15
wgrantOr we're going to end up with a patchwork mess of series.10:16
wgrantWhich are not consistent.10:16
wgrantNot legal.10:16
wgrantNot recoverable.10:16
bigjoolsyes it is confusing10:16
bigjoolsso you think making a new spr and its files is better?10:16
wgrantNo, no.10:16
bigjoolswhat do you mean by sources then?10:16
wgrantI think rephrasing initialisation as a copy of all of the sources is better.10:16
wgrantRather than a copy of all the source and binary publications.10:17
wgrantBut I don't know how that will work.10:17
bigjoolswell yes I think copying binaries is crack anyway10:17
bigjoolsbut it's in the spec, so ...10:17
wgrantI mean using the usual copy logic, and just syncing all sources with binaries.10:17
bigjoolsusing the packagecopier?10:18
wgrantThat's the behaviour we want, ideally.10:18
bigjoolsI think we tried that originally10:18
bigjoolsit was so slow as to be unusable10:18
jtvallenap: 35?10:18
wgrantOf course.10:18
bigjoolshence the lovely packagecloner10:18
wgrantBut it's the behaviour we want.10:18
bigjoolstrue10:18
wgrantAnd the package copier used to suck.10:18
wgrantIt still sucks.10:18
wgrantBut it's not quite as bad.10:19
wgrantI don't know if we can use it.10:19
rvbaThe package copier will end up really slow if I continue to add new checks to it.10:19
wgrantBut the current approach of just excluding the specific bits that conflict is.... messy and problem-prone.10:19
bigjoolsso I've said to rvba that if we block conflicting sources then he needs to block their binaries too10:19
rvbaand slow.10:19
wgrantbigjools: Certainly.10:19
bigjoolsapart from that I want to land this puppy10:19
wgrantbigjools: And I think probably the other way too.10:19
bigjoolswgrant: yes, I mentioned that too10:19
wgrantWhich means we basically want the full consistency checks that the copier provides.10:20
wgrantWe need to optimise that for mass-syncs anyway.10:20
wgrantEventually.10:20
wgrantAnd a large mass-sync could be easily 10% of the archive.10:20
wgrantSo...10:20
wgrantWe're approaching the same order-of-magnitude.10:20
bigjoolsright10:21
wgrantGiven what it is, duplicating this logic does not sit well with me at all.10:21
bigjoolsrvba: ok so add the "don't copy corresponding binary/source if you block a source/binary" change and then let's land it10:22
wgrantBut, similarly, using the package copier for initialisation is also a little bit scary.10:22
bigjoolswgrant: very10:22
bigjoolsand no I hate this duplication10:22
rvbabigjools: ok10:22
bigjoolsit's only there as a special case to make intialisation quick10:22
wgrantYeah.10:22
wgrantEventually the copier will be just as fast :)10:22
bigjoolsbut the multi-parent stuff fecked that all up10:22
wgrantYup10:22
* bigjools is getting the irish lingo already10:23
lifelessallenap: I put it to critical because we want to be able to jump on every oops that happens10:23
lifelessallenap: when means no spurious oopses10:23
bigjoolslifeless: in this case it's indicative of a lack of good search options10:23
lifelessallenap: if something is a users fault, it needs special reason to be an OOPS10:23
lifelessbigjools: yeah10:23
wgrantbigjools: Hmm.10:23
bigjoolswgrant: ?10:23
lifelessbigjools: but still, we need to either (make it not timeout) | (make it not oops)10:24
wgrantbigjools: I'm wondering if we can do a known-good initialisation (from a series in the same distro, or into a fresh distribution) the quick way, and then do the others afterwards using the copier to ensure consistency.10:24
bigjoolslifeless: well I think it's already fine with the default batch size, it only oopses because someone hacked that10:24
lifelessbigjools: agreed10:25
bigjoolsso it's a rather special case10:25
lifelessbigjools: my recommended fix is to clamp the batch size10:25
wgrantbigjools: This would keep the Ubuntu case fast.10:25
bigjoolslifeless: +110:25
lifelessbigjools: batchnav has a parameter for this10:25
lifelessbigjools: which will make url hacking throw a non-oops error (UFD I think)10:25
bigjoolslifeless: +110:26
lifelessor if it does oops today, its one we can blanket ignore10:26
bigjools-1 to ignoring oopses - need to stop them happening in the first place10:26
lifelessbigjools: oh I agree10:26
bigjoolsby whatever means10:26
bigjoolswgrant: so10:26
bigjoolswgrant: interesting10:26
lifelessbigjools: by blanket ignore I was meaning ignore the exception in the oops raising() method10:27
wgrantbigjools: Since in most cases the big copy will be known-good.10:27
wgrantbigjools: natty->oneiric is within an archive, so it's fine.10:27
wgrantnatty->newderivativedistro is fine, because it's a new archive.10:27
bigjoolswgrant: yes, indeed.  and I think in retrospect this is what should have been done10:27
bigjoolsI have a first class degree in hindsight from the university of life10:27
jmlhuwshimi: btw, I'm just starting to work through my hand-off tasks. if you'd like to talk, now would be a good time.10:28
wgrantRetrospect is handy; keeping domain experts together can be too :)10:28
bigjoolswgrant: yes :/10:28
huwshimijml: Do you mean about the designs?10:29
jmlhuwshimi: about whatever :)10:29
huwshimijml: Sure, we can talk about whatever, but at least with the designs I'll need to wait until I've had a bit more of a chance to look at them to day... maybe this afternoon for that10:30
jtvallenap: 35..?10:30
jmlhuwshimi: ok. let's chat then.10:30
huwshimijml: Sure10:30
jmlambiguity resolved!10:32
huwshimijml: ambiguity is never resolved10:32
jmlit expires?10:32
huwshimijml: Could be10:33
allenapjtv: I plucked that one out of the air. It means that there will be two subselects in the UNION for the default batch size of 75.10:37
lifelessallenap: fwiw see bigjools +1ing clamping the batch size rather than doing the union *terrifying* patch10:39
lifelessand with that, I'm running for sleep10:39
bigjoolsa combo of both?10:40
allenaplifeless: Okay, cheerio, and thanks.10:40
wgrantbigjools: We are considering denormalising BPR.binarypackagename onto BPPH.10:46
bigjoolsBPPH not BPR?10:47
wgrantYes. We need to be able to index BPPH on either BPR.binarypackagename or BPN.name.10:47
wgrantI guess we could just go all the way and stick BPN.name into BPPH10:47
lifelesswgrant: that is what I was suggesting10:48
wgrant(overrides during copies are too slow without that :/)10:48
wgrantlifeless: Well, BPN.name is quite a bit wider than BPN.id.10:48
lifelesswgrant: lets do some numbers, but not now.10:48
lifelesszzz10:48
wgrantNight.10:49
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: danilo | Critical bugs: 211 - 0:[######=_]:256
LPCIBotProject db-devel build #655: STILL FAILING in 5 hr 36 min: https://lpci.wedontsleep.org/job/db-devel/655/12:00
jtvsay danilos, perhaps you can review my thousand-line branch?  https://code.launchpad.net/~jtv/launchpad/bug-798521/+merge/6529712:03
danilosjtv, I was considering it, but just couldn't get around to doing it :) any reason why it's not two smaller branches?12:04
* jtv stops himself from mentioning a disgusting joke12:04
jtvIt was all sort of stuck together.12:04
jtvThere are a few parts I could isolate, in retrospect, but this is soyuz: if I'd done it up front I would have had to fix the first branch while doing the second.  :/12:05
jtvThings working as specified but not as desired, that sort of thing.12:06
danilosjtv, yeah, you should try pipelines sometime if you haven't already :)12:06
jtvI have.  Gave me enough trouble that I no longer bother.12:06
danilosjtv, anyway, looking through your branch now12:06
jtvThanks!12:06
* henninge is outta here12:19
jmlhuwshimi: let me know when you want to head out for lunch. (note that the standup is in ~1hr 15m)12:27
huwshimijml: We can go now. I probably just need to stop work on this now anyway12:28
jmlhuwshimi: OK. Let's do that.12:28
LPCIBotProject parallel-test build #60: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/parallel-test/60/13:07
LPCIBotProject windmill-db-devel build #416: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-db-devel/416/13:20
=== matsubara-afk is now known as matsubara
jtvthanks danilos!13:36
jtvOr hvala13:36
danilosjtv, it wasn't me!13:36
jtvsuuuurre13:36
deryckMorning, all.14:08
deryckabentley, hey, I'm around now.14:09
deryckabentley, adeuring -- https://wiki.canonical.com/Launchpad/Sprints/Thunderdome2011/Agenda14:17
huwshimijml: I'm available if you want to talk.14:17
jmlhuwshimi: oh, right. good idea. I'll just finish off this email.14:17
huwshimijml: No problems14:18
huwshimideryck: Morning14:18
huwshimideryck: I noticed this bug which is only a year old: #561586. Does this change anything about what we talked about yesterday?14:19
_mup_Bug #561586: Move javascript code to lp.app directories <javascript> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/561586 >14:19
wgrantjml: What's broken about the contributions page?14:36
wgrantHmm, I possibly didn't land my fixes...14:37
wgrantStill seems to work OK, although I should probably remove my non-Canonical persona from there somehow.14:40
jmlwgrant: it hasn't been updated since May. Maybe that's not a problem. Also, you're listed as non-Canonical.14:45
jmlwgrant: anyway, in a meeting. please reply via email.14:45
derycksinzui, hi.  Don't suppose you had any luck on 64 bit errors with YUI layer yesterday?14:59
sinzuideryck, I am reading wgrants gdb. The fault in the JS JIT14:59
deryckah, cool.15:00
sinzuiI am contemplating downgrading to libwebkitgtk-3*.so15:00
deryckadeuring, shall we chat now?15:01
adeuringderyck: sure15:01
=== Ursinha is now known as Ursinha-lunch
sinzuideryck, abentley, wgrant: The YUI segfault is a webkit's JIT. There is a history of jit failures for amd64 in webkit : https://launchpad.net/ubuntu/+source/webkit/1.3.13-0ubuntu1 I am exploring using the older version of the lib15:11
wgrantsinzui: That patch is for the ARM JIT.15:11
wgrantBut OK.15:11
sinzuiwgrant, sorry, I pasted the wrong one.15:12
abentleysinzui: Ah.15:12
deryckinteresting.15:16
=== danilos changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs: 211 - 0:[######=_]:256
huwshimideryck: I'm back now15:27
jmlbigjools: do you understand my XXX comment in test_resumeHost_success?15:28
bigjoolsjml: OTP, gimme a few mins15:29
jmlbigjools: ok.15:29
jmlbigjools: http://paste.ubuntu.com/630835/ (for when you're ready)15:30
deryckHi, huwshimi.  So I don't think that bug has any impact on us....15:37
deryckhuwshimi, that relates to the plan to get everything, js or otherwise, out of lib/canonical/launchpad and into lib/lp15:37
deryckhuwshimi, and we can always spin up a thread on launchpad-dev list and see what others think.15:38
huwshimideryck: Aren't we talking about reversing that decision?15:39
jmlI haven't heard anything about that.15:39
deryckhuwshimi, I don't think so.  We're saying "have a single place of all js files"15:39
deryckhuwshimi, I assumed that would be something like lib/lp/javascript15:39
deryckjml, it's an idea huwshimi and I are tossing around.15:40
jmlI saw sinzui post something about moving stuff to lp/app15:40
jmlderyck: I meant, I haven't heard anything about reversing the decision to move stuff out of l/c/launchpad15:40
sinzuijml, deryckI stumbled on a bug yesterday about removing canonical/launchpad/js. There is about 1h of work left to remove it15:41
deryckjml, yeah, there hasn't been.  huwshimi was worried our desire to move to a single js dir would reverse that bug.15:41
derycksinzui, huwshimi and I have been discussing moving all the app-specific js files to a single js directory.  you have any concerns about that?15:42
jmloh ok15:42
jmlsorry for the noise :)15:42
deryckjml, no worries :)15:42
abentleyderyck: so the js for translation-sharing would be moved away from its html file?15:43
deryckabentley, yes15:43
deryckthat's by design actually.... to get people to stop doing in-page scripts.  decouple the page and the js a bit.15:44
sinzuiOnly that putting the files in a deprecated directory is wrong. some where in lp/ is fine. I would like to think that lp/services/javascript would be the right place. I do not know if our js code can be considered a standalone, reusable library yet15:44
abentleyderyck: it seems to me we'd need to set up a parallel hierarchy in that js directory.15:44
derycksinzui, yeah, I was thinking somewhere in lib/lp.  I'm not picky about location.  and yeah...15:44
jmlfwiw, lifeless disagrees with the current 'lp' structure15:45
derycksinzui, it's not a stand alone library.  nor intended to be, I don't think.15:45
LPCIBotProject windmill-devel build #263: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/263/15:45
derycksinzui, the idea is just to make it easier to discover all the js we have, and prevent people writing the same code over and over again.15:45
jmlhe has some valid points, but I can't help but feel slightly discouraged at the thought of another whole tree refactoring15:45
deryckyeah, I don't want to get into that either.  I hope this is a much simpler endeavor.15:46
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: abentley | Critical bugs: 211 - 0:[######=_]:256
deryckabentley, so yeah, we would need some parallel structure or grouping of files, but huwshimi and I hope it will be functional, not app-specific....15:46
deryckabentley, so grouping all the pickers, all the dom-editing stuff, or something like that.15:46
abentleyderyck: I'm totally in favour of extracting everything we can from the page-specific files.  I'm not enthusiastic about moving the page-specific files.15:47
deryckabentley, so +1 to no in page scripts, but -1 on moving the js files themselves.  Is that a good reading of that?15:48
abentleyderyck: yes, and also +1 on grouping all the pickers, alll the dom-editing stuff, or something like that.15:48
deryckabentley, which would cover most of our js, I think.  so you're only -1 in the case where the js is tied heavily to a page, e.g. the translation sharing js.15:49
deryckright?15:49
abentleyderyck: Not really.  I assume that most of the per-page JS files have a little bit of JS that's tied heavily to that page.15:52
deryckabentley, yeah, and I see that as a bad pattern.  unavoidable completely, I agree, but we abuse the tie between page and js files.15:53
sinzuideryck, abentley: could either of you untar this in a working tree and run all the YUI tests: http://people.canonical.com/~curtis/html5browser-fix.tar15:53
derycksinzui, I can in just a sec.15:53
sinzuiuntar in the root15:53
derycksinzui, root of the lp tree?15:54
abentleyderyck: So you're thinking the content of the page should completely control how the JS attaches to it?15:54
deryckabentley, I don't know if that's what I mean.  I don't think so, but not sure I understand what you mean....15:56
deryckabentley, I mean just that we should decouple the page from the script as much as possible, make re-usable widgets primarly, and have page-specific scripts be as small and decoupled as possible.15:57
deryckI also see us moving to an event-driven system, where page-specific stuff, if event reacting, rather than the long procedural-like files we have now.15:58
deryckas I mentioned on the stand-up this morning. ;)  Though I know you don't care for that.15:58
abentleyderyck: I said "most pages have a little bit of js that's tied heavily to that page", and you said "that's a bad pattern".  I think you mean "It's bad to have even a little bit of JS that's tied heavily to a page".  Is that what you mean?15:58
deryckabentley, I think it's bad to have tight coupling.  Where there is a close link between js and page, it's bad.  I think there will always be some link, of course.  so if it is truly "a little bit" then no, I don't think that's bad....16:00
deryckabentley, I meant more that the "little bit of js linked to page" is a common pattern and abuses.  I question that it's really just a little.  so that's why I said it was a bad pattern.16:01
abentleyderyck: I think that all the javascript that doesn't need to be linked to the page should be extracted, leaving behind the little bit that does need to be linked.16:05
abentleyderyck: For example, I think most of the translation-sharing-details code could be extracted.16:05
deryckabentley, I think we agree more than we disagree then.16:06
abentleyderyck: Cool.16:07
cjohnstonjml: is there a version of the community contrib page that I can see?16:10
jmlcjohnston: you can't *see* the contrib page?!16:10
cjohnstonnm.. I clicked the cronjob link. :-/16:10
jmlbigjools: re-ping re http://paste.ubuntu.com/630835/16:13
bigjoolsjml: ok ok :)  just got off TP16:13
derycksinzui, I untarred into the lp tree.  ran make.  ran tests. still seq faulting.16:13
cjohnstonI would make a suggestion/request to whoever takes it over.. maybe show the number of bugs fixed as well as top level landings.. I have had 4 landings, but fixed 6 bugs. so there is the potential for a discrepancy making it look like less work has been done than what has actually been done16:13
sinzuideryck, to confirm you have lib/html5browser/__init__.py ?16:14
jmlcjohnston: that's a good idea16:14
derycksinzui, yup.  and I see a .pyc file in there, so it's being used.16:14
sinzuideryck, :( this means that natty amd64 has broken webkit 1.0, 3.016:15
derycksinzui, that sucks :(16:16
bigjoolsjml: it's to do with the fake slave, I think it just echo-ed its own vm_host so we can test the stdout16:16
derycksinzui, I can spin up a 32bit vm for myself.  but that's not ideal for everyone.16:16
sinzuiThe change I made was to run everyone on the same python, pykgtk, and webkit as lucid amd6416:16
bigjoolsjml: although I can't remember how "SlaveHelper is being moved around" affected that16:16
jmlbigjools: what do you think I meant by "pass the expected vm_host into the client slave"?16:16
jmlbigjools: the moved around thing was probably, "Oh, we should change this but it'll be mega conflict central if I do it now"16:17
bigjoolsjml: I suspect it means to pass it to getClientSlave() and hence the __init__ for BuilderSlave16:18
bigjoolsit's hard-coded to "vmhost" right now16:18
bigjoolsnot sure why we didn't file a bug and add it to th eXXX16:19
jmlbigjools: probably because we were in a rush. I'm realizing increasingly that being able to just put them down quickly is part of the glory of XXX comments.16:21
bigjoolsjml: I tend to do TODO instead of XXX if I intend to fix it in the same branch16:22
bigjoolsand your todo plugin helps :)16:22
sinzuideryck,  do you have the python-webkit package installed?16:22
jmlwhere a bug is most useful is for XXX comments that are like, "when $FOO is done, we can fix this awful mess"16:22
jmlso there's a bug for $FOO16:22
bigjoolswelllll16:22
bigjoolsalso, "I want to do $FOO but not right now"16:23
derycksinzui, yes.  1.1.8-1ubuntu216:23
sinzui:(16:23
sinzuiI believe you have the same packaging rules are lucid amd6416:23
bigjoolsjml: anyway did I get anywhere near close to answering your question?16:25
jmlbigjools: yeah, I think so, thanks.16:25
bigjoolscool16:25
abentleyjml: I know, let's write a tool that files a bug for every XXX!16:35
jml:(16:35
LPCIBotProject windmill-devel build #264: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/264/16:42
nigelbjml: Nice docs.16:53
nigelb" Angels fear to tread."16:53
=== salgado is now known as salgado-lunch
gary_posterflacoste, I'm trying to come up with a proposal on how to have wadl served by apache (for bug 607961).  To your knowledge, am I right that api.launchpad.net/beta serves both wadl and json depending on the request's Accept, and that the json service root is not served anywhere else other than api.launchpad.net?17:16
_mup_Bug #607961: wadl generation timeout? <lp-foundations> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/607961 >17:16
* gary_poster was looking at Apache for that info. I'll look in zcml when I return17:22
flacostegary_poster: your assumptions sound correct to me17:27
=== deryck is now known as deryck[lunch]
flacostegary_poster: there is also a "feature" that i think you can ask the wadl of any resource, but i don't think anything uses that17:28
flacostegary_poster: so in practice, it's only the main wadl resource we care about17:28
gary_postercool thanks flacoste17:36
=== deryck[lunch] is now known as deryck
* deryck is not doing lunch, yet.17:37
* gary_poster thought he was doing lunch, but was wrong17:40
sinzuideryck, can you run this http://people.canonical.com/~curtis/test_yui.py17:42
sinzuideryck, python test_yui.py <my-built-tree>/lib/lp/app/javascript/tests17:42
derycksinzui, sure.17:42
sinzui^ that will use python2.7 without the zope testrunner17:42
sinzuiI doubt this will work17:43
derycksinzui, yeah, seq fault again.  sorry :(17:44
sinzuideryck, okay. thank you17:48
derycknp17:48
* deryck really lunches now17:49
=== deryck is now known as deryck[lunch]
jmlI'm off for the day17:55
jmlonly two more working days until Dublin17:55
jmlI'm excited17:55
LPCIBotProject db-devel build #656: STILL FAILING in 5 hr 54 min: https://lpci.wedontsleep.org/job/db-devel/656/18:19
=== salgado-lunch is now known as salgado
=== deryck[lunch] is now known as deryck
=== Ursinha-lunch is now known as Ursinha
=== matsubara is now known as matsubara-lunch
LPCIBotProject windmill-devel build #265: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-devel/265/19:24
LPCIBotProject parallel-test build #61: STILL FAILING in 1 hr 11 min: https://lpci.wedontsleep.org/job/parallel-test/61/19:57
lifelessbigjools: hi20:06
bigjools /o\20:06
lifelessbigjools: I'm worried I might cause you grief if I suddenly enforce the (agreed) 1s/5s thing for the dsd new pages (e.g. +initseries)20:06
lifelessbigjools: do you have any thoughts / concerns around this ?20:06
bigjoolslifeless: 1s?20:07
lifeless1s soft timeout20:07
bigjoolsah20:07
bigjools1s is pushing it20:07
bigjoolsinitseries is totally ajax btw20:07
lifelessso its phrased as 1s 99th percentile20:07
lifelessthe soft timeout just grants access to info on the things over the 1st that don't timeout20:08
bigjoolsthe diff pages are 2-3s at the moment but when gavin lands his performance fix it might get better20:08
lifelessso its an aid20:08
bigjoolsyeah20:08
bigjoolsdid you see what he did BTW?20:09
lifeless+020:09
bigjoolsyeah... wtf :)20:09
lifelessso its avoiding an index20:09
lifelessthat same index is what broke sourcepackagename checking on bugs yesterday, I think.20:09
lifelessso we have a root cause we need to diagnose20:09
bigjoolswouldn't it be great to say "WITH index SELECT ..."20:10
bigjoolscan we analyse what indexes all the queries use?  would be interesting to see what needs that slow one20:10
lifelessstub is working on that with the goal of dropping unused indices20:11
lifelesssame data should help us answer what-uses it AIUI20:11
lifelessanyhow, on the timeout thing20:11
bigjoolsawesome20:11
lifelessI could look at the PPR for each page and rather than jump to 5s20:11
lifelessperhaps jump to max(5s, current 99th percentile)20:12
bigjoolscan do20:12
lifelesswhat do you think?20:12
bigjoolswe're well under 5s except for when someone hacks the batch size20:12
lifelessok20:12
bigjoolslike I said, 2-3s20:13
lifelessso I'll just set them to 5s20:13
lifelessI don't have a proper list yet20:13
bigjoolshow are you doing that, rules for specific pages?20:13
lifelessthe tooling for that is in our to-do list20:13
lifelessyeah20:13
bigjoolsthat's going to get to be a big list20:13
lifelessmoderate size yes20:14
lifelessbut we could have a few hundred new things before its too big20:14
lifelessand by then I hope we'll have dragged the default down more20:14
bigjoolsI hope by then the sitewide is 5s ..20:14
lifelessELOCAL20:15
bigjoolsanyway, way past EoD for me, ttyl20:17
lifelessback20:17
=== matsubara-lunch is now known as matsubara
lifelessciao20:17
bigjoolso/20:17
deryckheh, several of us decided to catch up on sinzui's email at the same time.20:18
deryckI could say something about great minds and all... :)20:19
flacostelifeless: https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1998QASTAGING10320:20
flacostethat's the OOPS i got yesterday on qastaging20:21
flacostethe problematic query is fast (63ms) in there20:21
lifelessflacoste: \o/20:21
lifelessflacoste: ok, so the moral is 'have nothing wrong as a baseline'20:21
flacosteyeah20:21
flacostebut that still weird20:21
flacostebecause even then20:21
flacostewouldn't have prevented the regression from going to production20:22
flacostesince the query seems fine20:22
flacostecould it be bloat on production?20:22
gary_posterworld-at-large, do we still prefer that imported branches be for trunks?  If so, how strongly?20:22
flacostegary_poster: no20:22
gary_postercool, I'll update pertinent CHR page, thanks flacoste20:23
flacostegary_poster: but we don't support importing from non git20:23
flacostegary_poster: there reason for that was related to subversion20:23
flacosteif i recall20:23
gary_posterflacoste--oh--only one of hg as well?20:23
flacosteas supported by cscvs20:23
flacostebut not sure if the restriction applied20:23
lifelessflacoste: bloat, extra data, different pg parameters related to memory sizing20:23
flacostesupport i mean: do not support importing non-HEAD git branches20:23
gary_postero I see20:24
lifelessflacoste: thanks for digging in20:24
gary_posterAh got it: I had just missed the necessary detail already on the page20:26
gary_poster"Now that we use bzr-svn, non-mainline svn branches can be imported in such that they will be compatible with mainline svn imports. However, they will not be compatible with old svn imports based on CSCVS.20:26
gary_posterFor Git and Hg, there's no way to specify anything other than the mainline at the moment (Bug #380871)."20:26
_mup_Bug #380871: support for colocated branches <code-import> <lp-code> <Bazaar:In Progress by jelmer> <Bazaar Git Plugin:Fix Released by jelmer> <Bazaar Hg Plugin:Fix Committed by jelmer> <Launchpad itself:Triaged> < https://launchpad.net/bugs/380871 >20:26
gary_posteroh20:27
gary_posteroh ok, fixed everywhere except LP20:27
jelmergary_poster, and bzr20:27
gary_posterheh ok20:27
gary_posterthanks20:28
gary_posterflacoste, we have a question about whether we block LP from Cuba (https://support.one.ubuntu.com/Ticket/Display.html?id=2772, "The access to Launchpad it's negated for the Cuban developers or do you have technical problems that causes that we can access you services from Cuba?").  I'm reasonably confident we don't, but am I missing anything?20:29
* gary_poster wishes he remembered Google analytics access ids20:29
LPCIBotProject windmill-db-devel build #417: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/417/20:30
flacostegary_poster: we don't20:31
gary_posterk thanks flacoste20:31
flacostegary_poster: we are UK hosted20:31
flacosteso no US export restrictions20:31
gary_posterheh20:31
gary_posterflacoste, who has Google analytics access for LP, and how could I get it?20:32
lifelessits more nuanced that that AIUI20:32
lifelesswe have a US arm20:32
lifelesswe could have restrictions imposed on us20:33
lifelessso far we don't20:33
gary_posteroh20:33
gary_posterok20:33
lifelessbut we can not promise that we won't.20:33
gary_postersure20:33
gary_posterpromises about the future are generally risky :-)20:34
lifelessyeah20:34
flacostelifeless: but OOPS-1998QASTAGING102 showed the issue20:36
flacosteso cold cache problem20:36
lifelesscombination20:36
flacoste12 or 63ms hot20:36
lifelesspoor cold cache, + crap plan on prod20:36
flacostebut 9000 when not cached20:36
flacosteprobably20:36
flacostelifeless: anything we could do cheaply to have "instant" OOPS access?20:37
flacostei didn't look at that first OOPS20:37
flacostebecause it wasn't available immediately20:37
flacosteso i reloaded20:37
flacosteand retried20:37
lifelessflacoste: you can rsync them directly in the dc immediately.20:37
flacosteand eventually, only looked at the 'last' oops20:37
flacosteah ok20:38
lifelessits fugly but works20:38
flacostelifeless: do you think we could make that automatic on 404 when visiting lp-oops?20:38
flacosteoops not found -> let's try a rsync and try again20:38
flacostewithout the dev having to do anything20:38
lifelessthat would be fun20:39
lifelessI see no reason why not20:39
flacostecool, i'll file a bug and eventually scratch the itch20:39
lifelesshmm20:53
lifelessin ff5 the filebug form is stuffed20:53
LPCIBotProject windmill-devel build #266: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/266/21:03
derycklifeless, what do you mean by "stuffed"?21:35
lifelessyou know the expander21:36
lifelessfor extra options?21:37
lifelessits missing21:37
lifelessthe include-an-attachment border is showing greyed out21:37
lifelessand no widgets at all from 'extra options' down to 'submit bug report'21:37
lifelessfor launchpad/+filebug, where I do have perms to do that21:37
derycklifeless, weird, works for me.21:37
derycklifeless, everything looks normal to me in FF5.21:37
lifelessderyck: funnky21:38
deryckindeed21:38
derycklifeless, you running ff5 anyway special, or just the normal ubuntu upgrade?21:38
lifelessthe -proposed one21:38
lifelessthat micahg asked for testers on21:38
deryckah21:40
deryckI just regular ol' updated today and am running that one.21:40
sinzuijcsackett, do you have time to mumble?21:41
jcsackettsinzui: sure.21:41
flacostederyck: https://dev.launchpad.net/Code/BazaarUpgrades21:48
flacostethat's the code QA page i was talking about21:48
flacostewe should have a central QA page21:48
deryckflacoste, ah, ok.  Thanks.  I presume lifeless was referring to the qa tagging instructions as a central qa page?21:49
lifelessyes I was21:50
lifelessor at least as an entry point to same21:50
lifelessok, -> monthly allergy injection time21:50
gary_posterlifeless, zero rush (I'm EoD soon), but if sometime today you could review my most recent comment on https://bugs.launchpad.net/launchpad/+bug/607961 for broad concerns, advice, or agreement, I'd appreciate it.21:51
_mup_Bug #607961: wadl generation timeout? <lp-foundations> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/607961 >21:51
flacostelifeless, deryck: /QA is also a central QA page21:54
lifelessgary_poster: tab is open, will look when I return21:54
gary_poster:-) thanks lifeless21:54
flacostei looked at the qa tagging one and wouldn't find a place where to put the information in21:54
flacostewhich wouldn't be out of place21:54
flacostei emailed diogo to see if he could work on a clean-up of the wiki21:55
flacostelet's see what he says21:55
deryckok, cool.21:56
deryckThanks for chasing that up flacoste!21:56
LPCIBotProject windmill-devel build #267: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/267/21:57
=== matsubara is now known as matsubara-afk
deryckCan we please kill those windmill notices?  Windmill is dead to us.21:59
deryckwgrant, maybe you're the contact for that? ^^21:59
sinzuiwindmill is dead to me22:03
sinzuiWindmill was never alove for me22:03
abentleyderyck: We can stop tilting at windmills?22:04
flacostederyck: StevenK is I think22:07
sinzuideryck, StevenK own the jenkins setup. It is lying now, it was not lying yesterday about the broken YUI test22:07
sinzuiI fixed the YUI test22:07
deryckabentley, indeed.  we'll move to selenium2/webdriver at the Thunderdome.22:08
abentleyYay!22:08
deryckflacoste, sinzui -- ok, thanks.  StevenK can we kill the Windmill runner?  Not needed now.22:08
pooliegary, hi?22:14
deryckuntil tomorrow then, everyone....22:17
pooliecheerio der22:32
pooliederyck22:32
micahglifeless: firefox 5 is out for everyone23:06
micahgat least in naty23:06
micahgnatty23:06
wgrantYay, no more Windmill.23:43
sinzuiwgrant, StevenK, wallyworld_, I will be late to our meeting. Can we postping it about an hour?23:47
wallyworld_sinzui: ok23:47
wgrantsinzui: Sure.23:50

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