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

wallyworldsinzui: @##@@@# mic acting up again :-(00:04
pooliehi all00:07
poolielifeless, anyone, can you suggest how (if at all) i should qa the librarian-mail-naming change?00:07
LPCIBotProject devel build #788: STILL FAILING in 6 hr 13 min: https://lpci.wedontsleep.org/job/devel/788/00:08
LPCIBotProject devel build #789: STILL FAILING in 5.6 sec: https://lpci.wedontsleep.org/job/devel/789/00:08
pooliei guess by sending it mail, syncing the logs, then peeking in there?00:08
lifelesssend mail to qas, sget someone with qas db access to check the .raw attribute and follow that back to make sure its accessible in the librarian00:08
poolieby handcrafting a url from the database row?00:09
lifelessmore-or-less :)00:18
lifelessrather more than less00:18
sinzuiwgrant: wallyworld, StevenK bug 1334, bug 8090200:22
lifelessnot 1337 ?00:26
gary_poster:-P00:27
gary_posternight00:27
sinzuiwallyworld: are you saying you fixed bug 8686100:30
_mup_Bug #86861: SinglePopupWidget only works with vocabulary registered by name <infrastructure> <lp-foundations> <tech-debt> <Launchpad itself:Triaged> < https://launchpad.net/bugs/86861 >00:30
wallyworldsinzui: it appears so - i would have to read the bug details to be sure00:30
poolieo/ wallyworld00:46
wallyworld?00:47
StevenKHm. buildbot has failed to check out devel -- I suspect since it tried during the rollout00:58
StevenKDo I need to force a build to get it to start again?00:58
wgrantStevenK: I already did.00:59
wgrant17 seconds before you asked, it would seem.01:00
StevenKHaha01:00
wgrantjelmer: Are bzr-svn imports meant to be taking ages now?01:30
wgrantjelmer: Perhaps it is only the first run with the new version, but it is still slightly worrying.01:30
wgranteg. https://code.launchpad.net/~vcs-imports/ljcode/trunk and https://code.launchpad.net/~vcs-imports/wxwidgets2.6/trunk01:30
StevenK30 seconds to an hour? Orsum.01:32
wgrantThey do seem to eventually finish.01:54
wgrantLet's see if the second run is faster.01:55
LPCIBotProject windmill-devel build #191: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/191/02:04
wgrantlifeless: Erk.02:38
wgranthttps://lp-oops.canonical.com/oops.py/?oopsid=1985CE16802:38
wgrantTrigger contention on bugsummary?02:38
lifelessI hope not02:39
wgrantAs do I, but what else?02:39
lifelessso, a bug on lp is fine02:41
lifelessgcc-linaro is a similar size02:42
lifelesswgrant: its possible; the ubuntu row specifically will be fairly high volume, but 8 seconds -- argh02:44
lifelessso, we need to make write transactions faster02:44
lifelessfor bugs02:44
lifeless><02:44
wgrants/argh/oh shit shit shit/'02:44
lifelessI will talk with stub this evening02:44
wgrantWe'll have to see how bad this gets.02:45
lifelessI think it will survive until then02:45
wgrantBut it may be pretty dire.02:45
lifelesswe may be have to disable the triggers which can be done pretty quickly02:45
lifelessand then rollback my use of bugsummary.02:45
wgrant       20 /    1  Bug:EntryResource:subscribe02:45
lifelessbut I hope not02:45
wgrantThat was in half an hour?02:45
lifelesssubscribing to public bugs won't lock any rows02:46
lifeless(in theory)02:46
lifelessbut we're going on theory to blame bugsummary02:46
wgrantIt's a pretty reasonable theory.02:46
wgrantHm, OK, only 5 subscribe timeouts today so far.02:47
lifelessyesterday - 3 /    0  Bug:EntryResource:newMessage02:48
wgrantMay be tolerable for now.02:48
lifelessthat new task02:49
lifelesswas on a product02:49
lifeless25802:49
wgrantYes.02:49
lifelesswhich is gcc02:50
lifelesschoose-affected-product is 2.16 99th percentile historically02:50
wgrant... are there enough triggers involved here?02:50
lifelessto get 8 seconds due to contention you'd need simultaneous edits of 4 gcc bugs serialised02:51
lifelessthe new task won't affect the ubuntu rows in bugsummary02:52
lifelessnow, we *may* have a problem where we don't shortcircuit no-op changes and we need to02:52
wgrant    -- Grab a suitable lock before we start calculating bug summary data02:53
wgrant    -- to avoid race conditions. This lock allows SELECT but blocks writes.02:53
wgrant    LOCK TABLE BugSummary IN ROW EXCLUSIVE MODE;02:53
wgrantbugsummary_tasks deals with a bug, not a bugtask.02:54
wgrantIt will be locking all tasks.02:54
lifelessyes02:54
lifelessI was just looking at that02:54
wgrant== we are fucked02:54
wgrantPretty much02:54
lifelesswe're going to have higher than desirable contention on the primary row in Ubuntu02:55
wgrant== 9s insert queries == aaaaaaaaa02:55
lifelessso what we need to do is capture the bug rows (rather than summarise), capture after, take a diff, and then apply the diff02:56
wgrantNo, what we need to do is drop the triggers.02:56
wgrantAnd fix them later.02:56
lifelessthis is non trivial to implement02:56
lifelesswe need to wait for stub, to determine the right way to disable them with slony02:57
lifelessFirst thing, ident.ica and irc notices02:58
wgrant16:55 < stub> wgrant: That one is a 'possibly, but very problematic'. We need to drop and recreate a trigger, which is fast enough if we manage to grab a lock but grabbing the lock is problematic. And then we need to apply a db patch *to the slaves only* during the next rollout that updates the trigger.02:58
wgrantSo it looks like it needs a lock and drop on the master.02:58
lifelesswell there are two ways02:58
lifelesswe can redefine the trigger function02:58
lifelessor we can drop the use of the trigger02:58
wgrantlifeless: Do you know why it uses all the tasks?02:59
wgrantI'm not really keen on reading 500 lines of PL/pgSQL...03:00
lifelesswgrant:03:00
lifelessits pretty simple code03:00
lifelesssee bugtask_maintain_bug_summary03:00
wgrantYes, but it's PL/pgSQL.03:00
lifeless    IF TG_OP = 'INSERT' THEN03:00
lifeless        IF TG_WHEN = 'BEFORE' THEN03:00
lifeless            PERFORM unsummarise_bug(bug_row(NEW.bug));03:00
lifeless        ELSE03:00
lifeless            PERFORM summarise_bug(bug_row(NEW.bug));03:00
lifeless        END IF;03:00
lifeless        RETURN NEW;03:00
lifelesswgrant: thus its clearer than python :P03:00
wgrantlifeless: Yes, that says how it calls it, but not why.03:01
wgrantIs it because it's lazy and just updates everything?03:01
wgrantBy removing the bug from everywhere and then readding it?03:01
lifelessyes, remove the bug from the table, let the task be added, summarise the bug into the table03:01
lifeless13:56 < lifeless> so what we need to do is capture the bug rows (rather than summarise), capture after, take a diff, and then apply the diff03:02
wgrantLooks somewhat buggy to me.03:02
lifelessif you consider undue contention buggy03:02
wgrantWhen unsummarising it uses the new rows.03:02
lifelessno03:02
wgrantSo I don't think adding a task will actually increment...03:02
lifelessthis is an insert03:02
lifelessit only has the NEW bug id03:02
wgrantOh, this is a before. Right.03:03
lifelesshttp://www.postgresql.org/docs/8.4/static/trigger-datachanges.html03:04
wgrantSo, are we going to wake up stub or hope he arrives in a timely manner or wing it?03:04
lifelesswe're not winging it03:04
lifelessits bad but its not disastrous03:04
lifeless(its not too far off disastrous)03:05
wgrantIt needs exclusive locks on either side :/03:05
wgrantIt's only not disastrous because most people have EODed already.03:06
LPCIBotYippie, build fixed!03:06
LPCIBotProject db-devel build #622: FIXED in 6 hr 24 min: https://lpci.wedontsleep.org/job/db-devel/622/03:06
lifelessno, its not disastrous because it hasn't gone -completely- dead03:06
lifelesswhat do you mean by exclusive locks either side ?03:07
wgrantBoth sides of each bugtask INSERT require an exclusive lock on BugSummary.03:07
wgrantHow ugly.03:07
lifelessare you worried about deadlock ?03:07
wgrantPossibly.03:08
lifelessthe lock once taken applies through to commit03:08
lifelessits per-row03:08
wgrant    LOCK TABLE BugSummary IN ROW EXCLUSIVE MODE;03:08
wgrantThat's not per-row.03:08
wgrantOh.03:08
lifeless... iz not?03:09
wgrantI missed the "ROW" because the comment is slightly misleading.03:09
wgrantAhem.03:09
wgrantLOCK TABLE only deals with table-level locks, and so the mode names involving ROW are all misnomers. These mode names should generally be read as indicating the intention of the user to acquire row-level locks within the locked table. Also, ROW EXCLUSIVE mode is a sharable table lock.03:10
wgrantHow odd.03:10
lifelessyeah03:11
lifelessI am refreshing this too03:11
wgrantI'm still not sure how this isn't disastrous.03:12
lifelessAn exclusive row-level lock on a specific row is automatically acquired when the row is updated or deleted03:12
lifelessits 8am for stub03:14
wgrantOh, true, it is later than I had thought.03:14
lifelessI'm considering raising the default timeout to 20 seconds03:19
lifelessthe contention is self limiting bounded on permitted transaction time03:20
lifelessif the change rate is below some N (unknown) then we won't backoff indefinitely, it will just spike up to some number of seconds at high concurrency changes03:21
lifelessif the change rate is above N, it will cascade and push back past whatever timeout we set03:21
wgrantYes, that's my worry.03:21
lifelessok, the lock mode is wrong I think03:23
wgrant18 subscribe timeouts so far.03:23
wgrantOn single-task Ubuntu bugs, too :/03:24
lifelessoh hell03:24
lifelesssubscribe changes the bug last-updated field doesn't it.03:25
lifelesslalalalaalalaala03:25
wgrantHee hee so it does.03:25
wgrant00186-09119@SQL-launchpad-main-master INSERT INTO BugSubscription (bug, bug_notification_level, date_created, subscribed_by, person) VALUES (317370, 40, CURRENT_TIMESTAMP AT TIME ZONE 'UTC', 690731, 690731) RETURNING BugSubscription.id03:25
wgrantHmm.03:25
wgrantBut it's a single-task bug.03:25
wgrantThat shouldn't be that bad.03:25
lifelessshouldn't matter:03:25
lifeless    IF TG_OP = 'UPDATE' THEN03:25
lifeless        IF OLD.duplicateof IS DISTINCT FROM NEW.duplicateof03:25
lifeless            OR OLD.private IS DISTINCT FROM NEW.private THEN03:25
lifelessand hah - where is status?03:26
lifelessoh, bugsubsctiption might not be fast-pathing03:27
lifelessyes, thats it03:28
lifelesswhats the bug #f or this ?03:28
wgrantBug #794802?03:28
_mup_Bug #794802: OOPS-1986EA9 trying to add 'linux' task to a bug <regression> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/794802 >03:28
lifelessno answer on either phone03:31
lifelesstrying phone again03:45
lifelessI have a fixed bugsubscription trigger03:45
lifelesswhich is likely to be a rather huge component.03:46
wgrantIt was updating even for public bugs?03:46
lifelessyes03:46
lifeless[un]summarise doesn't know that it could skip for subscription triggered summarisation03:48
wgrantstub!03:51
hloeunghe's on03:51
StevenKI think that is what wgrant was commenting on03:52
hloeungyeah, I'm just saying....03:52
wgrantlifeless: Around?03:52
lifelessstub: hi03:52
stubyo03:52
lifelessstub: can I nab you for a moderately urgent voice call about fallot from bugsummary?03:52
stubk03:52
lifelessstub: (and sorry for repeatedly trying your mobile, all will become clear)03:53
lifelesshttps://bugs.launchpad.net/launchpad/+bug/794802 and the topic in -ops03:53
_mup_Bug #794802: many bug activities timing out due to contention on bugsummary <regression> <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/794802 >03:53
lifelesshttps://code.launchpad.net/~lifeless/launchpad/bug-79480203:53
lifelessoh, and http://www.postgresql.org/docs/8.4/static/explicit-locking.html#LOCKING-ROWS is going to be referenced03:54
lifelessstub: skype or your mobile?03:54
lifelessah, skype. :)03:54
StevenKlifeless: Is there going to be a test?03:54
lifelessstub: http://bazaar.launchpad.net/~lifeless/launchpad/bug-794802/revision/1317604:02
lifelessstuart and I are talking through it04:04
lifelessthe table level lock is deliberate due to edge cases04:04
lifeless we'll need to consider that in future04:04
lifelesswe are doing 0.19 busummary updates / second04:04
* StevenK suspects the topic here is out of date04:05
lifelessthis may be contention (5 second transactions) or it may be that we're mostly filtered through04:05
lifelesswe're updating the bugsubscription trigger04:06
lifelessstub: http://pastebin.com/RZi7gfkq04:07
lifelessok, stuart has applied the new subscription filter04:11
lifelesswgrant: whats the oops frequency looking like ?04:29
wgrantlifeless: Only 5 subscription timeouts in the last hour.04:29
poolielifeless: one idea for lp people in Dublin is to to a bit of work towards turning loggerhead into a service, and then making it be hooked into the main lp web app04:30
lifelesspoolie: its already a service04:30
lifelesspoolie: I think hooking it in better and expanding its web service to be more useful to LP would be great04:31
pooliewell, "used as a service"04:31
poolieis it already?04:31
pooliedo you think this would be realistic to stab at in a one week sprint?04:31
lifelessits json api is used to show diffs / revs when yo uclick on expanders04:31
lifelesspoolie: I wouldn't want the lp app servers doing callouts to loggerhead today:04:32
lifeless - we are not in position to parallelise04:32
lifeless - without parallelism it will make the appservers tiiiime out04:32
lifelesswgrant: what was the last one ?04:32
lifelesspoolie:  and loggerhead isn't consistently fast yet, and we don't have reliable timeout reports for it yet04:33
poolieok, so the only path would be to have the browser pull data from it directly?04:33
lifelessright, which it does now but from a different domain04:34
lifelessso calculating the right url to pass and putting that in the lp pages, and making those urls available under the main hostnames to avoid SSL - thats tractable04:34
wgrantlifeless: 2011-06-09T03:01:31.659696+00:0004:34
lifelesswgrant: thanks04:34
poolie"under the main hostname" meaning having apach proxy them or something?04:38
cody-somervilleWhy is the Ubuntu branches celebrity being removed?04:39
wgrantcody-somerville: Ubuntu's owners and uploaders are fulfilling the role instead.04:39
cody-somervilleLP #524173 - There is a need for a 'bot' to have write access to the branches but not upload permissions. Would it make sense to create a 'bot account' and make that a celebrity?04:40
wgrantThere will be no more celebrities.04:40
poolieso iow if we did this, we would model it by having an acl-type slot on the ubuntu distribution for "people who can write to branches but not upload"?04:41
cody-somervilleSo whats the recommended way for a process like package-import to get elevated privileges?04:41
wgrantcody-somerville: Give it upload privs, I suppose.04:41
wgrantcody-somerville: It will effectively have them anyway.04:41
pooliethat was francis's approach04:41
cody-somervillewgrant, How?04:42
wgrantcody-somerville: How what?04:42
cody-somervillewgrant, That is, how will it effectively have upload permissions if it has write permissions to the branch?04:42
wgrantcody-somerville: BFBIP04:42
wgrantIf you can alter the branch, you can compromise it.04:43
wgrantThe next person to use it will get your exploit into the primary archive.04:43
lifelessstub: https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-tags-content04:44
=== stub1 is now known as stub
lifelessstub: https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-tags-content04:45
cody-somervillewgrant, lots of teams in Debian maintain packages in branches. Folks can have write privs to the branch but not upload. Its a legitimate use case by its self. The fact that the upload could potentially not review changes others have made before uploading does not mean having write privs is the same as having upload privs.04:45
wgrantcody-somerville: Launchpad official branches operate under the rule that upload permissions == edit permissions04:46
wgrantTo change that would be a redesign.04:46
pooliei'll propose this on the tb04:46
lifelessok, we're rolling forward04:47
StevenKpoolie: To the TB, during their meeting, or on the TB's mailing list?04:47
pooliei think moving from james to a role account would be a step forward04:47
poolieon the list04:47
lifelesspoolie: yes, apache rewrite rules ftw04:48
cody-somervilleI imagine The Developer Membership Board is the appropriate body to approach as the TB has delegated controlling upload permissions to that body.04:48
StevenKHowever, the TB has not delegated the branch permission, so I think it should go before the TB, not the DMB.04:49
lifelesspoolie: what are you proposing to the tb ?04:49
persiaWell, LP is kinda special: if LP decides to implement an internal role uploader, it doesn't really match the Ubuntu processes.04:49
wgrantpersia: package-import isn't part of LP.04:49
poolieto change the package importer from impersonating james to having its own account, per bug 52417304:49
_mup_Bug #524173: package-import uses james_w credentials <Ubuntu Distributed Development:Triaged by mbp> < https://launchpad.net/bugs/524173 >04:49
persiaLP has more opportunity to be malicious with Ubuntu contents than any uploader.04:50
persiawgrant, Should it be?04:50
cody-somervillepersia, +104:50
wgrantpersia: Depends on your definition of "part of LP".04:50
lifelessso, I would love to participate in this04:50
lifelessbut I have a critical regression to fix.04:50
lifelessThis has been discussed with at least various TB members already04:50
poolieyou can reply to my mail or on the bug04:50
poolieit will not be settled today04:50
persiaI'd consider a role account running services in a LOSA-controlled environment to be "part of LP" for the purposes of this discussion.04:51
pooliecjw at least has commented there04:51
pooliei just want to get it unblocked04:51
lifelessat the moment you have access to operate as james_w04:51
lifelessso you can be as malicious as you like04:51
poolieso, generally, lp will perhaps move into less-trusted interacting services04:51
lifelessa dedicated account will mitigate that04:51
lifelessby making it clear who uploaded etc04:52
lifelessTB can easily have a bot that watches this account and makes sure it has no gpg key :)04:52
cody-somervilleWhat about the principle of least privilege?04:52
persiacody-somerville, See comment #8 on the bug: there isn't really any semantic difference between commit-to-branch and upload.04:53
poolieit's a good principle04:53
lifelesswithin the year push to the branch will do the build04:53
pooliethis moves us closer towards it04:53
lifelessso the principle will say 'this is the least privilege'04:53
lifeless(modulo various details about how BFBIP all works)04:53
cody-somervilleif the role account is a member of Ubuntu Core Developers team then it still has tons of permissions it does not legitimately require04:53
StevenKAgreed.04:54
poolieso,04:54
lifelesswe can always add a dedicated role in future if desired... but note that *right now* its running as jamesw04:54
persiacody-somerville, Easier is to have the role account just have upload to everything, rather than making it a core-dev.04:54
lifelessso it has those permissions,.04:54
lifelessMoving to a dedicated losa administered account is an improvement.04:54
lifelessyou're welcome to argue that more improvement is needed. But that is a separate discussion.04:54
lifelessnothing is *regressing*04:54
lifeless(and I am sure that me, poolie, wgrant etc are all open to such an argument)04:55
pooliei completely agree04:55
pooliethis is a step forward and not a step back04:55
persiaAnd there are more steps, but they need to be thought about more, and not having thought about them yet shouldn't block this.04:56
cody-somervilleWho would have access to the account?04:57
pooliecanonical staff who maintain the importer04:58
lifeless(that is, the people that currently have access to james_w's account)04:58
cody-somervilleIf you say only LOSAs then I'd be alot happier about this04:58
cody-somerville(as they can do anything they want already)04:58
poolieright04:58
pooliethat is not true at the moment but it will become so04:58
lifelesscody-somerville: there is an RT to move it to losa-only.04:58
pooliethere is an RT asking for it in the queeu04:58
wgrantEventually it should only be the LOSAs, yes.04:58
lifelesscody-somerville: its also in-progress.04:58
wgrantAnd the role account should only have ArchivePermissions for the primary archive, not any others.04:59
pooliehttp://pastebin.ubuntu.com/622270/05:08
poolie^ draft email; comments welcome05:09
persiapoolie, Enough of TB has read access to RT that it may be worth mentioning the ticket number.05:10
hloeung^ great, more mail to ignore ;-)05:10
poolie:)05:10
poolieok05:10
pooliegood idea persia05:10
persiapoolie, Also, it's probably worth phrasing the request differently.  The TB acts as a deliberative body, but is intentionally not expected to be a bottleneck.  The expectation is that people do stuff, and the TB provides observance and guidance.05:11
poolieso "i plan to do this next week"?05:11
persiaI'd suggest either announcing to the TB that LP plans to do this, and asking for feedback, *OR* structuring it as a request for the TB to grant the appropriate permissions to the robot account.05:12
persiaIn either case, I recommend cc: bryceh as the representative stakeholder05:13
poolieok, ka-thunk05:15
=== jtv is now known as jtv-eat
=== mwhudson_ is now known as mwhudson
LPCIBotProject devel build #790: STILL FAILING in 5 hr 56 min: https://lpci.wedontsleep.org/job/devel/790/06:12
StevenKHmmmm06:13
lifelessand it passes tests. --woot--06:26
lifelessmaybe not all :P06:26
lifelesswgrant: lp:~lifeless/launchpad/bug-79480206:31
lifelessif you're interested06:31
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
LPCIBotProject windmill-devel build #192: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/192/07:48
lifelesswgrant: AWOL for ~ 40; if stub turns up point him at his email.08:08
wgrantlifeless: Sure.08:08
adeuringgood morning08:15
wgrantlifeless: FWIW we're still seeing some +choose-affected-product timeouts, but no subscribe ones.08:21
wgrantAnd lots of BugTask:EntryResource timeouts now :/08:22
wgrantMostly status changes on Ubuntu bugs.08:22
wgrantParticularly linux.08:22
wgrantAlmost entirely on a single bug. Perhaps lots of retries.08:23
wgrantTag changes taking 5s...08:26
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs:214 - 0:[######=_]:256
LPCIBotProject windmill-devel build #193: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/193/08:30
lifelesswgrant: yeah08:38
lifeless(back)08:39
=== wgrant changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: - | Critical bugs:209 - 0:[######=_]:256
lifeless\o/08:44
spivYay!08:44
wgrantStill well above where we were three weeks ago :(08:44
lifelessneed to stop adding bugs08:45
wgrantWe've only had like one new critical today.08:45
lifeless3 ?08:46
lifelessbugsummary08:46
wgrantDid I miss some?08:46
lifelessfrancis escalated the accessibility-in-bugtask bug08:46
lifelessand I think there was another08:46
wgrant:(08:46
lifelesscertainly 208:47
lifelessanother day w/no microservice :(08:48
lifelesswgrant: thanks08:52
wgrantlifeless: Huh?08:52
lifelessclosing off the bugs08:52
wgrantOh, right.08:52
wgrantI left the subs ones open for Yellow to close or not.08:53
lifelesshttps://bugs.launchpad.net/ubuntu/+bugtarget-portlet-tags-content is still fast.09:09
lifelessI'm having to pinch myself :)09:09
wgrantYes, but it made everything else slow :(09:10
lifelessgotta pick your battles09:10
lifelesswe should chang that to json09:10
wgrantWe should change a lot of things to JSON.09:11
lifelessyes09:11
lifelessthis is one of them09:11
=== almaisan-away is now known as al-maisan
mrevellMorning09:20
* jelmer waves09:21
bigjoolsmorning mrevell, jelmer09:21
jelmerhi bigjools09:22
jelmerwgrant: it's odd, some bzr-svn imports seem a lot slower; locally I don't see that effect though09:23
wgrantjelmer: Some got fast again.09:23
wgrantAfter a few tries.09:23
wgrantI retried one 4 times.09:24
jelmerwgrant: which one?09:24
wgrantFirst was 40 minutes, second 25ish, third 10, fourth 1.09:24
wgrantI can't remember... chromium crashed.09:24
wgrantLet me see if I can find it in history.09:24
lifelessahh alpha software09:24
jelmerwgrant: it looks to me like it's all bzr-svn imports that are affected - have you seen any bzr-git or bzr-hg imports becoming slower?09:25
wgrantjelmer: https://code.launchpad.net/~vcs-imports/flylinkdc/trunk09:25
wgrantjelmer: No, only bzr-svn.09:25
wgrantjelmer: ANd only bzr-svn has been eating swap.09:25
wgrantAFAIK09:25
jelmerah, so it's a memory thing?09:26
wgrantWell, pear was swapping heavily.09:26
wgrantOne import eating 40% of the RAM.09:26
lifeless\o/09:26
wgrantBut it had vanished before the next ps.09:26
wgrantSo we don't know which it is.09:26
lifelessI thought we had ulimit on it09:26
jelmereven with some swapping, it seems like there shouldn't be a 10 second vs 1 hour difference09:32
jelmerwgrant: how did you get to the ps output, losa interaction?09:42
wgrantjelmer: Yes, LOSA.09:47
jelmerwgrant: ahh, I think it's got to do with the fix for bug 30968210:06
_mup_Bug #309682: tags are copied but their revisions may not be <gnome> <udd> <Bazaar:Fix Released by spiv> <Bazaar Git Plugin:Fix Released by jelmer> <Bazaar Hg Plugin:Triaged by jelmer> <Bazaar Subversion Plugin:Fix Committed by jelmer> < https://launchpad.net/bugs/309682 >10:06
wgrantjelmer: It looks rather like that, yes.10:09
jelmerthe fact that they become increasingly faster (rather than just being slow once) is really weird though10:09
wgrantjelmer: It's not going to try to pull all the revs mentioned by tags in the whole repo, is it? :)10:09
wgrantYes...10:09
jelmerwgrant, I'm wondering if we should make that an optional thing, there are situations in which it's not correct and causes a lot of extra data10:11
wgrantjelmer: Possibly. Anyway, it should settle down eventually, I guess.10:25
LPCIBotProject windmill-devel build #194: STILL FAILING in 1 hr 9 min: https://lpci.wedontsleep.org/job/windmill-devel/194/10:36
=== al-maisan is now known as almaisan-away
=== Daviey is now known as Da
=== Da is now known as Daviey
bigjoolsis there any reason why a "bzr pull" would update loads of files and then finish with "bzr: ERROR: [Errno 13] Permission denied" ?11:36
LPCIBotYippie, build fixed!11:37
LPCIBotProject devel build #791: FIXED in 5 hr 25 min: https://lpci.wedontsleep.org/job/devel/791/11:37
LPCIBotProject parallel-test build #22: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/parallel-test/22/11:47
* henninge lunches12:03
LPCIBotProject windmill-db-devel build #375: STILL FAILING in 1 hr 16 min: https://lpci.wedontsleep.org/job/windmill-db-devel/375/12:12
=== almaisan-away is now known as al-maisan
StevenKbigjools: O hai. You haz many lots QA to do.12:45
bigjoolsme personally?12:46
StevenKbigjools: Yes, four revisions are marked as assigned to you on the deployment report.12:46
bigjoolsStevenK: and they were all submitted with --no-qa,12:47
StevenKI see.12:47
StevenKrvba: O hai. You haz many lots QA to do.12:47
rvbaStevenK: indeed.12:58
rvbaStevenK: please don't forget to take a look at the multiple parents init stuff when you get a chance :)13:00
LPCIBotProject windmill-devel build #195: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/195/13:07
jmllifeless: it might have to be next week. sorry.13:31
=== matsubara-afk is now known as matsubara
deryckMorning, all.13:59
jcsackettmorning folks.14:11
bigjoolsmorning14:11
deryckMorning, jcsackett14:12
jcsackettheya henninge: did the branch you merged my stuff into land?14:20
jmljelmer: hi14:20
huwshimijml: Hey14:21
jmlhuwshimi: hello14:21
jmlhuwshimi: let's have a call.14:21
huwshimijml: Sure14:21
jelmerjml: hi14:21
jmljelmer: was going to talk to you about BFBIP, but need to talk to huwshimi first.14:21
jelmerjml: ah, ok. you know where to find me :)14:22
=== Ursula is now known as Ursinha
=== mrevell is now known as mrevell-lunch
henningejcsackett: yes, it did, your branches say so, too. ;-)14:33
henningejcsackett: it's on the next buildbot ride14:34
jcsacketthenninge: cool. do you know if qa-tagger will be able to keep track of this, or should i keep an eye on your branch to qa my related bugs?14:35
henningejcsackett: I linked my branch to bug 787595, too, so it should update it.14:35
_mup_Bug #787595: person picker could have a link to choose myself when I am a valid choice <disclosure> <person-picker> <qa-untestable> <Launchpad itself:In Progress by jcsackett> < https://launchpad.net/bugs/787595 >14:35
jcsackettah, cool. thanks, henninge.14:36
henningenp14:36
jcsackettand sorry for the confusion regarding my branch names.14:36
=== mrevell-lunch is now known as mrevell
LPCIBotProject windmill-devel build #196: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/windmill-devel/196/15:21
=== al-maisan is now known as almaisan-away
jcsackettderyck: in YUI widgets the "initializer" method is the right place to parse and deal with passed in config stuff, right?15:45
deryckjcsackett, yup15:46
jcsackettcool. wanted to make sure i wasn't embarking on something goofy (as has so always been the case). :-P15:46
deryckjcsackett, if you need to, of course.  the widget infrastructure does all of the default values and changing values based on passed in config for you.15:47
deryckjcsackett, but if you need something based on the value of two config options, for example, then the initializer would be the place to do that.15:47
jcsackettderyck: yeah, this is dealing with non-default config options.15:47
deryckright15:48
deryckyup, you're on the right track15:48
jcsackettcool. thanks, deryck.15:48
derycknp15:48
sinzuihenninge: test_picker_displays_empty_list does not pass in devel15:54
sinzuiI am debugging this now.15:54
henningesinzui: oh15:55
henningesinzui: what do you mean?15:55
sinzuiThe test fails in my browser and in the YUI test layer I just fixed15:56
henningeah15:56
henningestrange, it passed for me15:56
sinzuiWe expect an empty string, but get undefined15:56
sinzuihenninge: does it still pass in devel for you? I think this may be a merge compliation15:57
henningelet me try15:57
sinzuihenninge: I tested with fireforx and chromium15:58
sinzuiThe test runner will use webkit15:58
henningesinzui: all tests pass16:00
sinzuihow many tests passed?16:00
sinzuiI have 9 pass and 1 fail16:00
henninge10 pass16:00
sinzuihave you pulled devel in that last hour?16:01
henningesinzui: what does your line 22 to 25 of lib/lp/app/javascript/widgets.js look like?16:01
henningeI just pulled right now16:01
sinzuihenninge: It looked like the line in the diff16:03
sinzui        if (data.title === undefined) {16:03
sinzui            // Display an empty element if data is empty.16:03
sinzui            return li_title;16:03
henningeok16:03
sinzui        }16:03
henningethat should pass16:04
henningethe failure you described looked like those lines were missing.16:04
LPCIBotProject parallel-test build #23: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/parallel-test/23/16:04
henningesinzui: 10 pass, both in firefox and chromium.16:05
sinzuiI can see the for the innerHTML for yui3-picker-results, yet the innerTEXT is undefined16:05
sinzuioh.16:05
sinzuimaybe *I* need to rebuild16:05
henningeyes, this must be something to do with your local setup16:06
sinzuideryck: I see that tests spend more than 1/5 of the time setting individual YUI test layers for each app. Do we really want a BugsYUITestLayer if we can run all the tests in 2 minutes16:09
derycksinzui, no, we don't need app specific yui layers.16:09
deryckapp-specific anything is old school anyway ;)16:09
sinzuiI will remove them.16:10
deryckespecially with yui tests it makes less sense anyway.... say I change the picker.... I need to know all uses of the picker are safe, not just one app's version.16:10
sinzuihenninge: I think the merge is the issue. Your block of code is never entered. I need to review the test setup I think.16:14
LPCIBotProject windmill-db-devel build #376: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-db-devel/376/16:27
LPCIBotProject db-devel build #623: FAILURE in 5 hr 57 min: https://lpci.wedontsleep.org/job/db-devel/623/16:34
=== matsubara is now known as matsubara-lunch
jmlsorry it's been such a brief day folks, but I have to go. back tomorrow for Action Friday.17:07
LPCIBotProject windmill-devel build #197: STILL FAILING in 1 hr 6 min: https://lpci.wedontsleep.org/job/windmill-devel/197/17:11
=== deryck is now known as deryck[lunch]
=== salgado is now known as salgado-lunch
sinzuiI need help with an ec2 image. I am following the steps in https://dev.launchpad.net/EC2Test/Image17:27
sinzuiI have uploaded the image and I see it in S3. I do not know how to make it public17:27
bigjoolssinzui: is that a new thing?  I don't remember having to do that17:28
sinzuiI added my name to lib/devscripts/ec2test/account.py, but I do not see my ami listed. I assumed maybe that was because it is private.17:31
bigjoolsmaybe17:31
bigjoolsyou probably need the AWS console17:31
bigjoolsright click the AMI and select "edit permissions"17:32
bigjoolsI have a public/private radio selection there17:32
sinzuibigjools: I do not see that. I see a bucket in s3 with with image name, but it does not say it is an ami17:33
bigjoolssinzui: click on "AMIs" on the left17:34
sinzuiMy browser says there is no "AMI" on the page :(17:34
bigjoolshttps://console.aws.amazon.com/ec2/home?region=us-east-1#s=Images17:34
sinzuibigjools: thank you. aws started in s3, not ec217:35
bigjoolsheh17:35
bigjoolsit's a wall of jargon on that page17:35
gary_posterhi abentley.  Without having to do any research, can you confirm that we do not support importing private github branches?  If so, please do.17:39
abentleygary_poster: I can't be 100% sure without research, but I think it's very unlikely.17:54
gary_posterok, thanks abentley17:54
=== deryck[lunch] is now known as deryck
=== salgado-lunch is now known as salgado
=== Ursinha is now known as Ursinha-lunch
=== matsubara-lunch is now known as matsubara
lifelessmorning y'all19:14
cody-somervilleThere seems like there used to always be an on call reviewer but now every time I've checked the topic its just '-'. : (19:56
lifelesswhat do you need reviewed?19:57
cody-somervillehttps://code.launchpad.net/~timrchavez/launchpad/set_ppa_private_from_api_724740-2/+merge/6395019:58
cody-somervillelifeless, I notice that the associated bug (LP #724740) is listing the superseded MP instead of the new one. Is there something that needs to be done to update that or is that a bug?19:59
_mup_Bug #724740: setting a ppa private cannot be done over the API <api> <oem-services> <ppa> <Launchpad itself:In Progress by timrchavez> < https://launchpad.net/bugs/724740 >19:59
lifelesscody-somerville: file a bug, include a screenshot and the url to the old mp and the new mp19:59
lifelessthat should get reviewed today, unf mid-crisis still19:59
cody-somervilleand of course for some reason it now shows the new mp, lol. page must have been cached in my browser.20:01
jcsackettcody-somerville: I am OCR, it would seem my morning topic change didn't take.20:02
=== jcsackett changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | On call reviewer: jcsackett | Critical bugs:209 - 0:[######=_]:256
jcsackettcody-somerville: i'm looking at it now, and sorry about the topic confusion.20:05
cody-somervillejcsackett, No problem! :) Kudos!20:11
=== elmo__ is now known as k
lifelessk: special?20:21
=== k is now known as Guest82647
=== Guest82647 is now known as elmo
=== Ursinha-lunch is now known as Ursinha
nigelbArgh.20:25
nigelbJust found a bug in LP.20:25
nigelbWell, possible bug.20:25
lifelessno, really?20:25
nigelblifeless: I headdesked for an hour trying to figure this out :-)20:26
nigelbhttps://launchpad.net/~ubuntumembers/+members20:26
nigelbThere are 521 direct members of the "Ubuntu Members" team, and 695 people20:26
nigelbthe 695 is not entirely true.20:26
nigelbSo, if you have 10 teams20:26
lifelessteams are members too20:27
nigelbif counts the unique members in those 10 teams20:27
nigelblifeless: ah.20:27
lifelessthis could be presented better20:27
nigelbYes20:27
lifelessand a case can be made that a team shouldn't count as a member20:27
nigelbexactly20:27
nigelbI was trying to figure out why my script wasn't catching all the members20:27
lifelesshowever our db doesn't know the difference today in teamparticipation20:28
lifelessso its not cheap to do differently20:28
nigelbSo, doing this would be expensive.20:28
lifelesson your script shouldn't be iterating members20:28
nigelbRight.20:28
lifelessit should be interating participants20:28
LPCIBotProject parallel-test build #24: STILL FAILING in 1 hr 15 min: https://lpci.wedontsleep.org/job/parallel-test/24/20:28
nigelbmembers was my use case. I wanted to get a list of all the members including sub teams.20:28
nigelbI can just exclude the teams out of it and I could get a clean list.20:29
nigelbor does participants do that for me?20:29
lifelesshttps://launchpad.net/api/1.0/~launchpad/participants20:30
lifeless[yes]20:30
lifelesshi stub20:30
SpamapSstill fighting the perf regression?20:31
stubyo20:31
lifelessSpamapS: yeah20:31
lifelessSpamapS: did you see atimeout ?20:31
SpamapSIt renders the sru-accept script we use in ubuntu-archive-tools unusable20:31
lifelesswhat does the script do20:32
nigelblifeless: "members = team.participants" heh, I was already using participants :)20:32
lifelessnigelb: then that is recursing into subteams for you20:32
nigelbyup \m/20:32
lifelessnigelb: transitive closure, but I think it excludes teams. IMBW, check the Person interface and source ;)20:32
lifelessstub: I have some feedback on the -journal case20:32
SpamapSlifeless: looks through the tasks of given bug #'s for the given package name/series, and marks it to Fix Committed, then tags the bug verification-needed and comments20:33
lifelessstub: and am looking into the test failure20:33
nigelblifeless: Thanks!20:33
stubcool. It didn't seem obvious, but looks legit.20:33
SpamapSlifeless: I'm not sure which operation is timing out20:33
stubOnly seems the one failure though, but I couldn't see what is different between the bugtag case and others20:33
lifelessstub: is it safe to chang the python stuff around person merge without adding the references metadata to the db ?20:33
stublifeless: yes, that is fine20:34
SpamapSlifeless: but I have the HTML of the failure20:34
lifelessstub: oh, bugsummary.txt is blowing up for me just now20:34
lifelessSpamapS: got the oops ?20:34
stublifeless: I think it is one failure (off by one, as if a bugtag didn't get created), and fallout from that20:34
SpamapSOOPS-1986AO12120:35
lifelessstub: I'm concerned that we're going to journal a complete-remove and complete-add to the journal even when nothing interesting changed - 50% of the rows or more could be noise20:35
stublifeless: My assumption is that just spitting inserts to the journal is faster than trying to do updates and avoids the locking issues.20:36
SpamapSand OOPS-1986DY9720:36
lifelessstub: the temp journal won't have locking issues20:36
stublifeless: Using the temp file seems a good idea though20:36
stubtemp table I mean20:36
lifelessstub: ok, I have a patch that does that, let me commit and push for your hilarity20:36
SpamapSlifeless: only look into it if it helps with the solution. If not, I can manually accept bugs until the problem is solved. :)20:37
stubbtw. there are no mixed case tablenames - FooBar is cast to lowercase. "FooBar" is a mixed case table name.20:37
* lifeless headdesks20:37
lifelessstub: lp:~lifeless/launchpad/bug-79480220:38
lifelessSpamapS: it hasn't synced yet; did you get a backtrace in the html ?20:39
lifelessstub: there are two reasons I can see slow queries - contention, or we're just adding too much work20:40
lifelessstub: we're kindof betting its contention20:40
stubthe queries I've checked are only attempting to update a handful of rows, so I'm betting on contention20:40
lifelessstub: argh, *really* not awake20:40
SpamapSlifeless: no sorry just the oops number.20:40
lifelessstub: yeah, if its slow on the db, its contention20:41
lifeless(now that the seq scans are gone)20:41
lifelessstub: they are, aren't they?20:41
lifelessstub: as in the slow occurences you see when explained show index use ?20:41
stubMy scenario is some dude triaging a big and clicking three of four things - change status, target, add a comment. Each is a separate ajax request being launched around the same time and wanting to lock the same rows in BugSummary.20:41
benjijcsackett: thanks for the review20:42
lifelessstub: so status, target would serialise normally20:42
jcsackettbenji: you're welcome.20:42
lifelessstub: (same row in bug)20:42
stubYes. We have fixed index use. Queries are fast, except when they are real slow. Looking at the plans they seem fine.20:42
lifelessstub: tag + status would serialise on bugsummary20:42
lifelessstub: as would tag + target20:42
lifelesscommenting won't change the aggregates so won't lock anything20:43
stubSo if one takes 4 seconds, the other is blocked for 4 seconds before it gets to issue its query.20:43
lifelesswell, before the flush gets the row its trying to update20:43
stubAnd this blocking is happening inside the trigger, so counts as SQL evaluation time.20:43
lifelessyeah20:43
lifelessso this failure20:44
lifelesswe're looking for tag is null20:44
stubBest theory I've come up with anyway :)20:44
lifeless(line 136 of the doctest)20:44
lifeless3 new bugs should result in an increase of 3 in the tag=null rows20:45
lifelessbut we're seeing a total of three20:45
lifelessif I comment out line 128 I see the same thing20:46
stubSo given how similar the current branch is to the previous, wtf is is failing now and not before?20:47
lifelessI'm trying with the rollup() call commented out20:47
stubI guess it is in the combinedbug view... maybe rollup20:48
lifelesswhich results in the right raw data20:48
lifelessso the journal is capturing everything20:48
lifelessthe rollup appears to be discarding a row20:48
=== benji is now known as Guest88900
lifelessI'm going to toss a few sample bugs into launchpad_dev and look at the rollup by hand20:50
=== benji___ is now known as benji
lifelessyeah its messed up I think20:55
lifeless id | sum | product | productseries | distribution | distroseries | sourcepackagename | viewed_by | tag | status | milestone20:55
lifeless----+-----+---------+---------------+--------------+--------------+-------------------+-----------+-----+--------+-----------20:55
lifeless    |   2 |      21 |               |              |              |                   |           |     |     10 |20:55
lifeless    |   1 |      21 |               |              |              |                   |           | moo |     10 |20:55
lifeless(2 rows)20:55
lifelesslaunchpad_dev=# select * from bugsummaryjournal;20:55
lifeless id | count | product | productseries | distribution | distroseries | sourcepackagename | viewed_by | tag | status | milestone20:55
lifeless----+-------+---------+---------------+--------------+--------------+-------------------+-----------+-----+--------+-----------20:55
lifeless  1 |     1 |      21 |               |              |              |                   |           |     |     10 |20:55
lifeless  2 |     1 |      21 |               |              |              |                   |           |     |     10 |20:55
lifeless  3 |    -1 |      21 |               |              |              |                   |           |     |     10 |20:55
lifeless  4 |     1 |      21 |               |              |              |                   |           | moo |     10 |20:55
lifeless  5 |     1 |      21 |               |              |              |                   |           |     |     10 |20:55
lifeless(5 rows)20:55
lifelessno, actually, that sums to 320:55
lifelessand we get three20:55
lifelessthough adding the tag should really have only journalld one row20:56
lifelessbut the rollout output was20:57
lifeless 65 |     1 |      21 |               |              |              |                   |           |     |     10 |20:57
lifeless 66 |     1 |      21 |               |              |              |                   |           | moo |     10 |20:57
lifelesswhich is clearly wrong20:57
stubbecause we expand the tag to the null and the tag - two rows.20:57
lifelessstub: no20:57
lifelessbecause _dec and _inc only update by 120:57
lifelessthey don't use the vector20:57
lifelessstub: UPDATE BugSummary SET count = count - 120:58
lifelesseasy fix20:58
stubYer20:58
stubI see. count might be 2 or -2, but we dec or inc by one only20:59
stub'Cause I was a smart arse and wanted to minimize updates :)20:59
stubYou fixing on your branch?20:59
lifelessyes20:59
lifelesstest running now20:59
lifelessworked for the doctest21:01
lifelesspushing now21:02
lifelesswe're running on the temp journal atm right ?21:02
lifelessstub: :!bzr push21:02
lifelessUsing saved push location: lp:~lifeless/launchpad/bug-79480221:02
lifelessPushed up to revision 13189.21:02
stubNothing in test_bugsummary is invoking rollup, so all those tests passed.21:02
lifelessthank mercy for doctests :P21:02
stublifeless: Yes. The first MP is what is running right now, with patches -1 and -221:02
lifelessso I think we're busy corrupting by off-by-ones just now21:03
lifelessanyhow, my branch is pushed21:03
stubSo in patch-2208-75-0.sql we should delete * from bugsummary and reinitialize using the SQL from 63-021:04
lifelesshttp://bazaar.launchpad.net/~lifeless/launchpad/bug-794802/revision/13188 and http://bazaar.launchpad.net/~lifeless/launchpad/bug-794802/revision/13189 are my incremental changes over your code21:04
lifelessstub: nah - we've got those new dimensions to add21:04
lifelessstub: do the reinit in that patch21:04
stublifeless: The bug is in rollup, and that isn't what is running atm. So data should be fine.21:05
lifelessstub: no, the bug was in _inc and _dec, which the temp journal code uses21:06
stuboh... your journal has the same problem21:06
stubyer.21:06
lifelessso how should we proceed; its late for you I know.21:06
stublifeless: ahh... but is there anyway to get anything but -1 or +1 in the count atm?21:06
lifelessstub: there is21:07
lifelessdistro bug tasks and bugs with tags21:07
lifelesserm, scratch tags.21:07
lifelessdistro source package bug tasks21:07
stubinvoking multiple triggers in one transaction21:07
lifelessactually no I think its fine21:07
lifelessbecause each _row_ changed flushes separately to the table21:08
lifelessthat that had damn well better be unary or we are so screwed.21:08
stubyes, I think that is right.21:08
stubwhich is why the doctest used to pass with the same bug21:09
lifelessyer21:09
stublifeless: So count is positive when we call _dec? Yay.21:10
lifeless*blink*21:10
stub+    UPDATE BugSummary SET count = count - $1.count21:10
lifelesscan't be21:10
lifelessthats a thinko - and uncovered by tests21:11
lifelesswe only call _dec from rollup now21:11
stublifeless: Might want to invoke rollout in the test_bugsummary helper just after the flush and invalidate, like the doctest.21:11
stubit has much more coverage21:12
lifelessok21:12
lifelessperhaps we should run it twice21:12
lifelessonce without and once with21:12
lifelessthat can wait21:12
stubI'm more interested in seeing if there are other lurking edge cases21:13
lifelessrunning all the tests with the rollup call added and the buggy _dec21:14
lifelessI want to see if we have coverage21:14
stubSo in theory, something should fail now or the laws of mathematics are being warped.21:15
lifelessnon euclidean geometry FTW21:15
lifelessSpamapS: your oops is21:15
lifelessSELECT  bug_summary_dec( $1 )"\\nPL/pgSQL function "bug_summary_flush_temp_journal" line 9 at PERFORM\\nSQL statement "SELECT  bug_summary_flush_temp_journal21:15
lifelessSpamapS: e.g. the contention we're working on21:16
lifelessyeah, we get fail21:18
lifelessstub: all tests pass with that patch21:20
stubwoot21:20
stubPush again?21:20
lifeless13191 available at your local bzr server.21:21
=== almaisan-away is now known as al-maisan
lifelessstub: I'm going to fry up some brekky21:25
stubk21:25
lifelessstub: while you review21:25
stubYup21:25
stubDon't worry about me, I'm already stuff full of dead pig.21:26
lifelessyum21:30
lifelessstub: so, this safe to progress?21:31
lifelessthe tag portlets will freeze until we get the new view code deployed21:32
lifelessbut thats fine IMO21:32
stubYou cook too fast21:32
lifelessthey are for most projects pretty static21:32
lifeless<- optimiser21:32
stubI thought views on this were still behind a feature flag?21:32
lifelessno21:33
flacostebac: now that we have IServiceUsage, shouldn't we kill ILaunchpadUsage?21:33
lifelessstub: but there is only one using it21:33
lifelessstub: https://bugs.launchpad.net/ubuntu/+bugtarget-portlet-tags-content21:33
bacflacoste: looking21:34
lifelessstub: I'm going to delete patch 75 from the branch, so that we can land on devel21:34
stublifeless: DELETE FROM bugsummary_temp_journal; is better spelt TRUNCATE bugsummary_temp_journal (but only with temporary tables until we modernize our slony)21:34
stublifeless: Sure.21:34
jcsackettbac: flacoste: i seem to recall there being a uses_malone use case that buggered our desire to completely kill ILaunchpadUsage21:34
jcsacketti may be confusing things though.21:34
flacostejcsackett: we could have trim the interface though to only keep the uses_malone attribute in that case?21:36
lifeless13192 pushed (just deletes that patch)21:36
jcsackettflacoste: if i'm remembering correctly, yes.21:36
bacflacoste, jcsackett: i have the same recollection.  they certainly look like they could be combined21:36
stublifeless: Seems fine. Extra points if you switch to the truncate for probably unnoticable performance boost, and subclass the tests in test_bugsummary so they get run twice, once with rollup, once without.21:36
flacostebac, jcsackett: anyway, just wondered when I saw both, thanks for the clarifications21:36
lifelessstub: s/subclass/parameterise :P21:36
flacostemight yak shave it at some point21:36
jcsackettflacoste: probably worth filing a bug against it.21:37
* flacoste only files yak shaving bug when actually doing the shave...21:37
lifelessstub: I would like to do that separately as a tech debt issue, because we've run them both with and without21:37
jcsackettflacoste: seems like a reasonable policy. :-)21:37
lifelessstub: I will change to the truncate right now21:37
stubI'd just put the rollup into a method, subclass, and override it with a noop. But whatever.21:37
stubcool.21:37
lifelessstub: well theres a bunch of small classes21:38
stubI thought all the tests were on one class? never mind then.21:38
lifelessstub: so all of them need to subclass too - testscenarios is designed to multiply it out21:38
lifelessahm you are right21:38
lifelessthey are21:38
lifelessso its easy and I'll do that21:38
stubSo... lets see if I can get these patches applied live to staging.21:40
stubI guess qastaging first since it isn't replicated, then confirm I can add the table to the existing replication set on staging, then push the big red button21:40
lifelessthose changes are done, testing21:41
lifeless\o/ big red buttons21:41
stubYell when you have pushed so I don't get confused versions of stuff on things21:41
* stub loves technical jargon like 'stuff' and 'things'21:42
lifelesssure thing21:43
stublifeless: production is blocked until the new replica is built, unless I kill it (which is a pita to clean up)21:44
stubbut we can get staging etc. done21:44
lifelessso I believe there is a dsd script to run thats also blocked21:44
=== al-maisan is now known as almaisan-away
lifelessperhaps we should kill it, run that scrpit, do this on prod, and then start the replica over21:45
stubyes, but it was declared non urgent21:45
lifelessright, it isn't urgent, but this is21:45
lifelessstub: and see -ops, the script may be urgent21:46
lifelessok tests passed21:46
lifeless13193 pushing21:46
lifelessstatik: I think your cal update to weekly went awol :)21:46
lifelessstatik: pushed21:46
lifelessbah stub: pushed21:47
sinzuijcsackett: do you have time to mumble about yui tests?22:08
jcsackettsinzui: sure.22:08
jcsacketti am in mumble now.22:09
LPCIBotYippie, build fixed!22:16
LPCIBotProject db-devel build #624: FIXED in 5 hr 42 min: https://lpci.wedontsleep.org/job/db-devel/624/22:16
jcsackettsinzui: you broke up on me.22:33
LPCIBotProject devel build #793: FAILURE in 5 hr 32 min: https://lpci.wedontsleep.org/job/devel/793/22:40
=== Ursinha is now known as Ursula
=== matsubara is now known as matsubara-afk
=== Ursula is now known as Ursinha
pooliehi all23:31
lifelessSpamapS: please try your script now23:42
SpamapSlifeless: good timing I delayed an accept just in case you fixed things. :)23:44
lifelessSpamapS: hows it looking ?23:52
SpamapSlifeless: unfortunately, the queue is full of stuff to reject today.. I haven't found something to accept just yet.. moment.23:52
SpamapSOk running now23:57
SpamapS\o/23:57
SpamapSlifeless: fixed. :)23:57
lifelesswoot23:58

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