/srv/irclogs.ubuntu.com/2010/07/22/#launchpad-dev.txt

=== flacoste is now known as flacoste_afk
=== flacoste_afk is now known as flacoste
thumperrinze: new nick jelmer?00:09
rinzethumper: Two nicks :-) One I use for work channels and one for non-work channels in an attempt to keep the two more separate00:10
rinzeobviously I'm failing since it's midnight here00:10
thumperrinze: :)00:10
thumperrinze: and you are in a work channel00:11
wgrantrockstar: What are the security concerns with 'run' in recipes?00:12
wgrantWe already run it in a secure environment.00:12
rinzethumper: are code imports for packaging branches on the roadmap for the near future?00:39
thumperrinze: not the immediate future00:39
wgrantLots of the work was done earlier in the year, though.00:41
=== mordred_ is now known as mtaylor
rinzewgrant: not related to code imports for packaging branches..00:45
rinze(I'm not complaining, regular code imports work quite well too)00:46
wgrantrinze: IIRC james_w removed lots of roadblocks relating to that.00:48
mwhudsonnewImport is on IBranchTarget now isn't it?00:48
wgrantI'm not sure if it got finished, but it was mostly done.00:49
rinzeah, I didn't realize that00:49
rinzeJames is everywhere :-)00:49
wgrantHe is.00:49
mwhudsonyou might be able to create code imports for package branches over the api already00:53
wgrantI wonder how happy the UI will be about that.00:54
mwhudsonhttps://edge.launchpad.net/+apidoc/devel.html#source_package-newCodeImport00:55
mwhudsonpossibly not very00:55
wgrantIt's possible it will be fine.00:56
wgrantBut if it was working, I would have thought we'd see some of these imports around.00:56
mwhudsonmm, might be ok00:56
mwhudsonsomeone should try it on staging :-)00:57
* rinze is about to00:57
rinzemwhudson: w00t, that works01:02
rinzehttps://code.staging.launchpad.net/debian/experimental/+source/tdb01:02
* rinze hugs james_w01:02
mwhudsoncool01:03
wgrantExcellent.01:03
rinzemwhudson: thanks!01:04
* rinze gets some sleep01:04
mwhudsoneven https://code.staging.launchpad.net/+code-imports?field.review_status=NEW&field.review_status-empty-marker=1&field.rcs_type=&field.rcs_type-empty-marker=1&submit=Submit+Query works01:04
* mwhudson approves the branch, lets see if the staging code import infrastructure has rotted and died again01:05
=== Ursinha-dinner is now known as Ursinha
mwhudsonseems not01:23
wgrantYep.01:23
wgrantAlthough codebrowse is unhappy with it.01:23
mwhudsonoh?01:23
mwhudsonboo01:23
wgrantTry to browse into debian/01:23
wgrantHmm.01:24
mwhudsonyeah, strange01:24
mwhudsonhttp://bazaar.staging.launchpad.net/~jelmer/debian/experimental/tdb/experimental/files/head:/debian/patches is ok though01:25
wgrantOdd.01:26
mwhudsonlooks like a loggerhead bug01:35
wgrantspm: Hi. There's an upload failure caused by a buildd-manager bug that requires some time-sensitive debugging. Do you have a few minutes?01:38
spmwgrant: sure01:39
wgrantspm: Firstly, when does librarian-gc run?01:39
wgrantit destroys the evidence (which was why the debugging failed last time)01:39
spm"regularly", let me verify01:39
spmonce a day, 6pm server01:41
wgrantThat was 7ish hours ago?01:41
spmath too hard; kcalc; yes.01:42
spm*math01:42
wgrantIf so, it may not have erased everything yet. Yay.01:42
spmheh01:42
wgrantSo, https://edge.launchpad.net/ubuntu/+source/qt4-x11/4:4.7.0~beta2-0ubuntu2/+build/1879966 somehow succeeded once, then succeeded again.01:43
wgrantIt shouldn't have run again after it succeeded the first time, of course.01:43
wgrantCan you check how many LFAs there are with the filename 'buildlog_ubuntu-maverick-powerpc.qt4-x11_4:4.7.0~beta2-0ubuntu2_BUILDING.txt.gz', and how many with the filename 'buildlog_ubuntu-maverick-powerpc.qt4-x11_4:4.7.0~beta2-0ubuntu2_FULLYBUILT.txt.gz'?01:44
wgrant(the buggy retry unlinks the log LFAs, so we can't tell what's gone on through the UI, and they get destroyed by librarian-gc as soon as it runs)01:44
wgrantBut they should still be around at the moment.01:45
wgrantSince the event was roughly 6 hours ago.01:45
spmso it succeeeded twice? that's a nice trick.01:46
wgrantYes.01:46
wgrantAnd the second time failed to upload, since the files were already uploaded.01:47
mwhudsonwell01:47
wgrantAnd because the Soyuz data model is awesome, there's no record in the DB of the first attempt, except for the orphaned LFAs.01:47
mwhudsonif it succeeded the first time it should succeed the second time too :-)01:47
mwhudsonit's the retry that's mysterious01:47
spmIt's a Miracle, perhaps?01:48
wgrantDo you want queries for my above request?01:51
wgrantSELECT * FROM libraryfilealias WHERE filename IN ('buildlog_ubuntu-maverick-powerpc.qt4-x11_4:4.7.0~beta2-0ubuntu2_FULLYBUILT.txt.gz', 'buildlog_ubuntu-maverick-powerpc.qt4-x11_4:4.7.0~beta2-0ubuntu2_BUILDING.txt.gz');01:53
spmif you can that'd be wonderful - just got pulled into a U1 deploy/update thingy...01:53
wgrantAh, you can do that. This isn't so critical now I know there's a while until librarian-gc runs.01:54
spmso generous of you! ;-)01:55
wgrantHeh, sorry. Just the last couple of times we've tried to catch this, we've been too late.01:56
spmnod01:56
spmhttp://paste.ubuntu.com/467277/ fwiw01:56
wgrantThanks.01:57
spmyarp; and they're both still live too01:59
wgrantYeah. Unfortunately the it looks like the first occurence of the issue with this build was a couple of days ago, and it was just retried again this morning.02:00
spmcurious: The following NEW packages will be installed: libdconf0 libmpfr4 <== the latter is new02:00
wgrantSo we are again too late.02:00
wgrantspm: Um, you're running maverick?02:01
spmI'm not, no.02:01
wgrantThose two are only in maverick...02:01
* spm raises eyebrows02:01
wgrant+class ILaunchpadPublicationDirective(IRequestPublicationDirective):02:57
wgrant+02:57
wgrant+    priorty = Int(required=False)02:57
wgrantI don't think that's how one spells 'priority'. Does this mean that interface doesn't actually do anything?02:57
mwhudsonwgrant: oops02:58
wgrantHeh.02:59
mwhudsonyes, the interface is in fact not required03:00
mwhudsonwgrant: want to review a branch in a sec? :-)03:10
* wgrant isn't a reviewer yet...03:11
lifelesswgrant: we should fix that04:27
lifelessUrsinha: still up ?04:29
Ursinhahaha yes sir04:29
UrsinhaI wanted to talk to you04:29
lifelesswhen should we use the oops tag? (bug 607879)04:30
_mup_Bug #607879: https://bugs.edge.launchpad.net/~person/+participation timeouts <timeout> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/607879>04:30
Ursinhaabout a timeout bug04:30
lifelessoh oh, I'm in trouble ;)04:30
Ursinhalifeless, timeout implies oops04:30
Ursinhaso it's redundant to tag timeout and oops04:30
lifelessUrsinha: So, I was following https://dev.launchpad.net/PolicyAndProcess/ZeroOOPSPolicy04:30
Ursinhalifeless, and I love you for that, but let me read the page04:30
Ursinhalifeless, "It should be tagged with either 'oops' or 'timeout' on it."04:31
lifelessUrsinha: I'll stop using both on the same tag04:31
Ursinhathat?04:31
lifelessyeah, i think its a little subtle04:32
lifelessI mean, to me the value in a oops tag is that one can look at the tag and get all oops related bugs04:32
lifelessbut if it causes some script/reporting issue its obviously better to have only one, which is what I'm guessing is the issue?04:32
Ursinhalifeless, is it hard to get bugs tagged oops and timeout at once?04:33
UrsinhaI mean, the two sets04:33
Ursinhalifeless, I was pondering about having only one tag to fetch all oops bugs, but I guess lp lets you query bugs with one or another tag very easily04:34
lifelessUrsinha: well, theres quite a few tagged both before my filing efforts yesterday04:35
lifelessit would be easy to clean the data up04:35
Ursinhareally? why?04:35
lifelessI don't know, it was just like that04:35
lifeless(I think)04:36
lifeless<- 0536, not 100% awake yet04:36
Ursinha:)04:36
lifelessanyhow - I'll check and fix today, thats easy.04:36
Ursinhalifeless, that's ok, not that critical, just trying to be consistent as I know that some scripts that fetch stats consider them separately04:37
lifelessyup04:37
Ursinhalifeless, about the timeout bug04:37
lifelessI'm not panicking on it, I'm just rectifying something I've made a little worse.04:37
lifelesseasy04:37
lifelessok, about the bug - which one ?04:38
Ursinhafinding the number, just a min04:38
Ursinhalifeless, bug  607879, that you filed for +participation timeouts04:40
_mup_Bug #607879: https://bugs.edge.launchpad.net/~person/+participation timeouts <timeout> <Launchpad Registry:Triaged> <https://launchpad.net/bugs/607879>04:40
lifelessok04:40
UrsinhaI see that now this bug is linked to another oops, the most offender in timeouts list, like https://lp-oops.canonical.com/oops.py/?oopsid=OOPS-1662A10004:40
lifelessI think thats the oopstools confusion04:41
lifelessI put the link in on a more suitable oops, I'm sure04:41
lifelessyeah, I did - the ones in the bug at the top04:42
UrsinhaI wanted to know if they're related somehow, of if the correct bug for this oops is bug 42467104:42
_mup_Bug #424671: attachments: accessing attachment's message is very slow <api> <performance> <Launchpad Foundations:Triaged by leonardr> <https://launchpad.net/bugs/424671>04:42
lifelessthey are only related by being 'timeout' errors with 'select' in the exception value04:42
lifelesse.g. not related at all04:42
Ursinharight04:42
Ursinhathat bug in oops-tools is really annoying04:43
lifelessyes04:43
Ursinhathe timeouts count is ultrahigh, I guess that bug needs some more attention04:43
lifelessgmb had a fix in the pipeline04:44
lifelessbut went on leave04:44
lifelessand now deryck is too04:44
lifelessis bryceh at the rally? or brian? I can ping them04:44
brycehlifeless, nope we're both in PDX04:45
lifelessok, I might see about moving it forward today04:45
Ursinhacool lifeless04:45
lifelessperhaps you can pick it up my afternoon and drive it? its kindof killing leanne :)04:46
Ursinhathanks04:46
Ursinhalifeless, 'you' me or bryceh?04:46
lifelessbryceh04:46
lifelessor brian04:46
lifelessnow where did the branch go04:47
* bryceh needs to learn to keep his fat mouth shut04:47
Ursinhahaha04:47
Ursinhalifeless, the bug that should be fixed in oops tools is bug 46126904:47
_mup_Bug #461269: oops reports should be grouped by oops signature not exception type and exception value <OOPS Tools:Triaged> <https://launchpad.net/bugs/461269>04:48
Ursinhabut I guess I already told you that04:48
Ursinhathis bug is kinda critical to our ZeroOopsPolicy to happen :/04:49
lifelessis matsubara's branch insufficient?04:54
Ursinhalifeless, no idea. he'll be back today and I'll ask him.04:55
lifelessUrsinha: revno 11156 in devel04:56
lifelessUrsinha: should fix that attachments thing04:56
Ursinhalifeless, cool04:56
lifelessso I'll test it on edge and if its better there, organise a CP04:56
lifelessmeep: http://www.zdnet.com/blog/security/dell-ships-motherboard-with-malicious-code/6901?tag=nl.e58904:58
wgrantAwesome...05:00
lifelessbryceh: http://pastebin.com/GTc6Y1LY05:04
lifelessbryceh: I have /no/ idea how I seem to have triggered these failures in bugs05:04
lifelessI haven't changed templates05:04
UrsinhaI'm going to sleep a bit05:05
lifelessgnight05:05
Ursinhabye lifeless05:05
lifelesswgrant: or perhaps you have some idea?05:06
lifelesswgrant: oh oh, excellent you're up - you wouldn't happen to be willing to qa something for me ?05:07
wgrantlifeless: Sure.05:07
wgrantAlso, looking at that traceback now...05:07
lifelesswgrant: make an api call to https://api.launchpad.net/1.0/bugs/414746/attachments - it should boom; make the same to edge - if it works, we have a CP we need to do.05:08
_mup_Bug #414746: speakers cannot be muted when using headphones regression (karmic) <apport-bug> <apport-collected> <i386> <regression-release> <pulseaudio (Ubuntu):Confirmed> <https://launchpad.net/bugs/414746>05:08
wgrantMost of the diff is crap -- the problem with the first and last is that the mailto: stuff is missing.05:09
lifelessok05:09
lifelesswell thats due to having ubuntu as a stopword now, I think05:09
lifelessso I'll just nuke that05:09
wgrantAh.05:09
wgrantlifeless: Timed out on edge for me.05:10
lifelessdarn05:10
wgrantOOPS-1664ED38905:10
wgrantWorked the second time, though.05:10
lifelessok, give that a few minutes and I'll get another bug up05:10
lifelesswell, thats an improvement05:10
lifeless!= fixed though05:10
wgrantStill fails on production.05:10
lifelessgawd yes05:10
lifelesslib/lp/bugs/tests/../stories/guided-filebug/xx-sorting-by-relevance.txt is still naffed, hmm05:11
wgrantRight, I'm not sure about that one.05:12
lifelessturns out it was one extra row missing or so07:10
lifelessI'm going to do a follow up patch to remove all filtering of terms07:10
=== almaisan-away is now known as al-maisan
lifelesslosa ping08:30
mthaddonlifeless: can you give us a few - in a review meeting atm08:30
lifelessof course08:30
lifelesstake as long as needed08:31
mthaddonthx08:31
* wgrant is also interested on when Lucid's happening.08:33
wgrantSince there's a dpkg issue that's fixed there.08:34
lifeless\o/ rockstar your bugs all came through qa bot just now ;)08:43
lifelessflacoste: are you still around ?08:44
lifelessflacoste: if so, could you, if you agree, move rt 40477 and 40480 both to pri 88, and drop rt 40403 to pri 87, and nuke rt 3105808:45
mrevellHey09:00
lifelesshi mrevell09:09
mrevellHey there lifeless09:10
mthaddonlifeless: what did you need?09:17
lifelessI wanted to see if I could help with the slony packages thing09:18
lifelesseither by doing, or perhaps talking with the server team folk here who are keen to offer assistance for backports and things like that that we need09:18
maxbdid my backports not work?09:19
mthaddonlifeless: ah, spm (who's just EODed) is working on that one, and I believe have made some better progress on it today09:19
lifelessmaxb: I think they did, but its a ppa and versioning + availability of old builds trickiness09:20
lifelessmaxb: or something like that09:20
lifelessmthaddon: ok.09:21
mthaddonlifeless: although the lucid buildbot instance has been failing consistently for a few days now (had meant to chase someone about that) which would be a problem for lucid upgrades09:22
lifelessmthaddon: well if you need help of any sort; please let me know :- on the packages side Jos has made it clear that he considers his team are here to support us; on other sides - well, I have the odd trick up my sleeve09:22
lifelessmthaddon: I believe mars looked at that overnight; will see if there is a bug and if not make one.09:22
mthaddoncool, thx09:22
spmlifeless: before I go eat, and despite my EOD'd nature; yeah. it's just been a tad fiddly, and a bit of a learning experience for me. I am *hopeful* that the next submissions (early tomorrow I hope) will succeed, and then progress will occour.09:23
lifelessspm: thanks!09:23
spmthe most recent build was a fail, becuase it built the pg 8.3, with a dependancy on pg 8.4. which is um... bad.09:24
lifelessspm: the packages, or bb ?09:25
lifelessstub: around ?09:35
stubphysically, yes.09:35
lifelesswhats he wiki page that the lp dependency deb updates is documented on ?09:35
lifelessseems i doesn't mention doing hardy as well as lucid atm09:36
lifelessbrb09:36
stubLaunchpadPPA09:36
rinzegmb: Hi09:41
gmbrinze, Morning.09:41
gmbhurrah for /whois09:41
rinzegmb: There's a buildbot failure for db_lp in bugtask-search.txt. It looks spurious but caused by the fact there is no sorting done before printing.09:43
rinzegmb: I was wondering if you could confirm that - https://lpbuildbot.canonical.com/builders/db_lp/builds/971/steps/shell_7/logs/summary09:43
gmbrinze, Yeah, that looks to be the case.09:44
gmbThought we'd fixed all of those.09:44
gmbrinze, Want me to take care of it or are you already in the process.09:45
rinzegmb: I was already in the process of getting a branch up.09:46
gmbrinze, Okay, cool.09:46
rinzegmb: Reading the doctest in more detail I'm wondering if simply sorting wouldn't defeat the test - it asserts that bug #9 is on top of the list.10:02
_mup_Bug #9: Rosetta's po parser is too strict <Launchpad Translations:Fix Released by carlos> <https://launchpad.net/bugs/9>10:02
gmbGaaargh.10:02
rinzegmb: Does the order not matter for the other bugs ?10:03
gmbrinze, From reading the test I think not. But it's spectacularly unclear.10:06
gmb*why* is it printing out bugtask ids? Hell's teeth.10:06
gmbrinze, So, yes, sorting would defeat the object of the test10:07
gmbBecause the test is that things are sorted properly.10:07
gmbSo there's some bigger underlying cause here.10:07
rinzegmb: Any chance you could take over? I can handle adding a trivial sorted() call somewhere, but this looks more complex.10:09
gmbrinze, Sure.10:09
=== persia` is now known as persia
lifelessgmb: oh hai10:38
lifelessgmb: aren't you on leave?10:38
gmblifeless, Yesterday I was. Working today and tomorrow then I'm on leave for two weeks.10:39
lifelessqargh10:39
lifelesstestfix ?10:39
rinzelifeless: https://lpbuildbot.canonical.com/builders/db_lp/builds/971/steps/shell_7/logs/summary10:40
lifelesshmm10:41
lifelessgmb: tell me about that ^10:41
lifelessI have a branch changing bug stuff, so I can put a fix in too10:41
gmblifeless, I'm trying to look at it now but it's taking an age to update my local copy of db-devel.10:42
gmblifeless, It looks like something broke with the ordering of search results. Will know more shortly, hopefully.10:42
lifelessthey are ordered by fti10:43
lifelessaren't they ?10:43
lifelessgmb: I'm about to land my malone branch - it passed ec2land10:43
lifelessoh, so heat is intended too10:44
lifelesswhy does db-devel builds break devel ?10:44
gmblifeless, The test that's failing tests that ordering by '-number_of_duplicates' works properly. Which it apparently doesn't any more. Can't say why, yet.10:45
gmblifeless, I think it's a stop-the-line measure. One builder breaks, everything stops.10:45
gmb(Which is why trying to get my CP for initial_message landed was such a ballache)10:45
lifelessgmb: which, btw, isn't enough.10:47
gmblifeless, Yeah, we figured as much on Tuesday IIRC.10:47
lifelessalso10:50
lifelessholy fuck searchTasks10:50
lifelessrev 11188 is a candidate10:52
* gmb looks while make schema runs10:52
lifelessits changing duplicate bug logic10:53
gmbAAAAA.10:53
gmbYep.10:53
lifelesscause I'm keen to get this landed, I'd love to put a one-liner in my branch and shove it through ;)10:54
gmbshame deryck made duplicateof readonly :)10:55
gmbI wonder whether this is as simple as a db flush that needs to happen.10:56
gmbMind you, there's already a flush_database_updates() call in there. Hmm.10:56
* gmb adds a transaction.commit() for good measure10:57
lifelesshow dnah10:57
bigjoolsurgh, death to commit in tests10:57
gmblifeless, yeah, didn't work anyway :)10:57
lifelessdoubt that thats it - you're calling into model code directly.10:57
gmbTrue.10:58
wgrantbigjools: The master/slave split means we have to, though...10:59
wgrantbigjools: I wish there was a way around that.11:00
bigjoolsthere isn't11:00
wgrantDamn.11:00
bigjoolswe still have a lot of tests doing commit() unnecessarily though11:00
wgrantWell.11:00
gmbAgreed.11:00
bigjoolsI'm considering the idea of having another master store for derived distros actually11:01
wgrantThere are two reasons I know of: 1) librarian 2) slave store11:01
wgrantAre there any other reasons left?11:01
bigjoolsnot that I know about11:01
bigjoolswe can fix (1) in tests11:01
wgrantHow?11:01
bigjoolsmake the file available in the librarian right away11:02
lifelessyou may be misunderstanding the issue there11:02
wgrantI guess.11:02
lifelessalthough, read committed may workaround it11:03
bigjoolsthe issue is that when we use slave stores to read data, we have to commit to get them to sync11:03
bigjoolsand I think that's a good thing to still have to do in tests11:03
wgrantApart from the fact it's slow.11:04
bigjoolsindeed11:04
gmblifeless, Ah, interesting. Bug 10 is marked as a dupe of bug 9, but bug 9's number_of_duplicates is still zero. It should be 1; that's why the sorting's off.11:05
_mup_Bug #10: It says "displaying matching bugs 1 to 8 of 8", but there is 9 <Launchpad Bugs:Invalid> <https://launchpad.net/bugs/10>11:05
_mup_Bug #9: Rosetta's po parser is too strict <Launchpad Translations:Fix Released by carlos> <https://launchpad.net/bugs/9>11:05
_mup_Bug #9: Rosetta's po parser is too strict <Launchpad Translations:Fix Released by carlos> <https://launchpad.net/bugs/9>11:05
gmbShut up you stupid bot11:05
lifelessgmb: so the aggregation is failing11:05
lifelessis number_of_dupes a cached value - either db or model ?11:06
gmblifeless, Well, I think that it's a trigger that's failing to be run for some reason.11:06
lifelessgmb: or a bug in the trigger :P11:06
gmbI'm checking now.11:06
gmbYeah.11:06
lifelessyeah ?11:08
gmblifeless, The triggered function *looks* fine (database/schema/trusted.sql:917)11:08
gmblifeless, That was a sort of "yes, that's possible" noise.11:08
gmbI can't express "ugnh" properly in textual form11:08
lifelessno, its wrong11:09
bigjoolsstub: what do you think to the idea of having a new master store for derived distributions?  I am concerned about the load they'll put on the DB when doing everything a distro needs to do.11:09
gmblifeless, Really?11:09
lifelessgmb: totally11:09
gmblifeless, Maybe I'm just not caffeined-up enough yet. Why?11:09
lifelessbigjools: I'm keen on sharding/partitioning; I think you'll find that that isn't going to split out terribly well with our current setup; also I think the load isn't a huge concern in the short term - we are write limited yes, but we can reduce IO massively by fixing a few bugs.11:10
lifelessgmb: because11:10
lifelessgmb: voice?11:10
lifelessI really want a whiteboard for this11:11
bigjoolslifeless: why do you think it won't split?11:11
bigjoolsthe write load that Soyuz generates is huge, BTW.11:11
lifelessbecause you have links throughout the system that are doing FK's11:11
lifelessand slony isn't a multi-master system11:11
gmblifeless, Sure. Though be warned, I'm in a coffee shop, so there may be bean-grinding and child noises.11:11
wgrantWhy is the write load so huge?11:11
wgrantThe read load is certainly massive.11:12
gmblifeless, Skype, mumble?11:12
lifelessgmb: skype; id ?11:12
bigjoolspublisher for starters11:12
gmblifeless, binnsgm. Starting it now.11:12
stubbigjools: It might actually make things better. At the moment, we have 31 distributions but almost the entire database is linked to just 1 (Ubuntu). This can give us some wonky query plans.11:12
wgrantbigjools: How's that write-heavy?11:12
wgrantIt just touches a couple of fields on a few publications.11:12
bigjoolsa lot of publications11:12
wgrantIt's going to be doing less than the thing that sends bug notifications.11:12
bigjoolsthe scripts also mostly use the master DB out of necessity11:13
wgrantTrue.11:13
bigjoolswhich is part of what I meant by write load I guess11:13
wgrantThe publisher doesn't need to be as bad as it is.11:14
bigjoolsundoubtedly!11:14
bigjoolsI'd like to pipeline it11:14
wgrantWe need to work out what to do about index generation.11:15
wgrantEverything else is pretty quick.11:15
wgrant(apart from source domination, but that's a trivial fix)11:16
bigjoolsfor indexes we can just append to Packages/Sources11:17
wgrantBut what exactly do you mean by pipelining?11:17
bigjoolsthe opposite of batching like we do now11:17
wgrantI considered that... but we have to regenerate them some time.11:17
elmobigjools: gah, that's such a bad bad bad tradeoff11:17
bigjoolsyes, we can do it occasionally11:18
bigjoolselmo: why?11:18
elmoyou're trading CPU time on one server (ours) for increased download time for millions and millions of users11:18
bigjoolsso then we also need incremental updates - isn't there something that does that already?11:19
elmoyes, but it's crack and also pessmizes things for users11:19
wgrantpdiffs aren't really awesome.11:19
elmobut I also don't buy the argument that the answer to 'append sucks' is incremental updates11:19
elmothe answer is 'don't do append'11:19
bigjoolswhy?11:20
elmobecause it's not expensive to actually write a packages file in a non-append fashion11:20
elmoapt-ftparchive is slow, yes, that doesn't mean doing non-append packages file generation will always be slow11:20
wgrantAt the moment it is. But I should work out how to effectively benchmark my caching experiments from earlier in the year.11:20
bigjoolssomeone told me that a-f is actually quick, it's generating its input files that's slow11:21
elmobigjools: they're lieing11:21
wgrantBoth parts are slow.11:21
elmoand/or confused and/or stupid11:21
wgrantThe publisher logs make that clear.11:21
elmoor some combination thereof11:21
bigjoolswhere that someone was Celso after he wrote the PPA publisher11:21
wgrantGenerating input files was much slower.11:21
elmoyeah, and I've had this argument before with Celso11:21
bigjoolsok11:21
wgrantBut cprov apparently cut that time a lot just before he left.11:21
lifelessgmb: http://pastebin.com/FUgp9kHc11:22
lifelessgmb: http://pastebin.com/wWaziqcT11:22
bigjoolswe could probably sit down and analyse the publisher at some point, but it's not worth it right now11:23
elmothe Packages file is 26Mb; I utterly fail to believe that's something so expensive to update inline that we need to penalise our users to avoid the cost11:23
elmosorry, a lucid i386 universe Packages file11:23
elmoI appreciate there's lots of them, and they add up11:23
bigjoolsyeah, you do notice the slowness when you're not on a fast link11:23
lifelessI would comment, but ETESTFIX11:25
wgranta-f file list generation appears to only take ~2 minutes now. The a-f run is something like 15 minutes. :/11:26
bigjoolswgrant: :o11:27
bigjoolsI've not looked for ages11:27
bigjoolsI do know that PPA publication is >10 minutes now :/11:27
bigjoolsit used to be about 311:27
elmoa-f is fucking around inside a *massive* berkley DB file as part of this11:27
elmoit's not fair to compare a-f with switching to an append mechanism11:28
elmoa fair comparison would be a non-a-f, sane inline mechanism with an append mechanism11:28
wgrantbigjools: what's taking most of that time these days?11:28
bigjoolsby sane inline, you mean to replace entries when new versions appear?11:29
bigjoolsand append new stuff11:29
bigjoolswgrant: no idea11:29
bigjoolsI've not analysed it11:29
elmobigjools: yeah, and without the a-f DB madness overhead11:29
bigjoolsI've just seen the cronjob blocking as it's every 511:29
bigjoolselmo: ok, sounds, err, sane :)11:29
bigjoolsif we can get the PPA publisher to do the extra overrides, a-f can go11:30
bigjoolsIIRC11:30
wgrantWell, and it has to be an order of magnitude faster.11:31
wgrantBut extra overrides is the only missing feature, I believe, yes.11:31
bigjoolsyes - but that's going to be relatively trivial, we have a few people who know how to make Python code faster ;)11:31
elmowgrant: *blink* - why does it have to be?11:31
wgrantelmo: Because it's currently *really* *really* slow.11:32
wgrantIt took roughly 7 minutes locally for a 30000-publication index, IIRC. With hot caches.11:33
wgrant(that's a single component-pocket-DAS index -- not all of them)11:33
elmowgrant: oh, faster than it is now, you mean11:36
elmowgrant: I thought you were setting the benchmark as an order of magnitude faster than a-f11:36
elmowhich seemed harsh11:36
wgrantelmo: Ah, no, sorry.11:36
wgrantBut it should be :)11:36
wgrantI can do a full pocket of indices of that size in under 2 minutes, though.11:37
wgrantHmm. Why should main archives automatically build everywhere?11:39
wgrantIsn't that what we're about to start *not* wanting, once we have derivative distros?11:40
lifelessgmb: want some brain fuckage ?11:43
gmblifeless, Always.11:43
lifelessI've switched to db-devel11:43
lifelessdone make schema11:44
lifelessguess what happens when I run :!bin/test -vv -t 'duplicate_handling' -t doc/bugtask\\.txt11:44
gmblifeless, I'm going to put 50p on "bad things"11:44
lifelessit works11:44
gmbD^F&*QY(EUH!11:45
lifelesswhat pg does db-devel buildbot use ?11:45
gmbGood question. IDK.11:45
lifelesslosa ping ^11:45
mthaddonlifeless: 8.3 - it's on hardy11:46
gmbInterestingly, fails for me locally on... 8.3.9.11:47
lifeless\o/11:47
lifelessgmb: ok, try this patch and see if the unit style test passes11:47
lifelesshttp://pastebin.com/W06ZjYMg11:48
lifeless:!bin/test -vv -t 'duplicate_handling' -t bugs/doc/11:48
lifelessis how I'm running the tests11:48
lifeless7 tests run for me11:48
lifelessmthaddon: thanks11:49
bigjoolswgrant: the "main archives automatically build everywhere" is so that the restricted ARM stuff doesn't require manual SQL to be run, until we do a similar thing for derived distros as we've done for PPAs.11:49
bigjoolsbut basically it can be controlled via DAS anyway so it's not really an issue11:49
bigjoolswgrant: did you see the LEP for derived distros BTW?11:50
wgrantbigjools: Given that there are only two main archives, it seems like a pretty bad hack to prevent people from having to check a couple of checkboxes..11:51
wgrantbigjools: Is Ubuntu in scope for that LEP?11:51
bigjoolswgrant: it's not a hack, it;s maintaining the status quo11:51
bigjoolsbecause the recent change buggered it up for main archives11:51
* gmb waits for tests to run.11:51
wgrantPerhaps.11:51
gmblifeless, That passes.11:51
bigjoolswgrant: sort of, I have Debian NSS in mind11:52
lifelessgmb: ><11:52
lifelessgmb: so, when you said you triggered the failure locally ... ?11:52
wgrantbigjools: OK. I just think it would be a really good idea to keep that in mind before designing a system that might be incompatible...11:52
gmblifeless, The failure that jelmer originally found in the build.11:52
lifelesscause my patch is clearly just trying to trigger the damage11:52
lifelessgmb: yes, but how11:52
lifelesshow do we make it go boom11:53
gmblifeless, bin/test -vv -t bugtask-search.txt11:53
gmbWorked for me befoew11:53
gmbLet's see if it still goes boom...11:53
gmblifeless, http://pastebin.ubuntu.com/467453/11:54
gmbStill11:54
=== al-maisan is now known as almaisan-away
gmblifeless, And adding the number_of_duplicates count, of course, gets us http://pastebin.ubuntu.com/467457/, as expected.11:57
lifelessyeah11:57
lifelessyou'll need a commit to get them11:58
gmbArsemonkeys.11:59
gmbQuestion is: where?11:59
* gmb plays11:59
lifelessgmb: after markAsDuplicate12:05
lifelesswe have lunch nazis happening12:05
lifelesswill try to assist downstairs12:05
gmblifeless, That's what I thought, but it seemed not to work.12:05
gmblifeless, Much appreciated.12:06
gmbAh, that's intriguing and frustrating. Even doing the update in the db seems not to work.12:11
gmbAhah, no, it works.12:12
gmbBut I managed to set number_of_duplicates to -1.12:12
gmbFAIL.12:12
StevenKgmb: "This bug does not exist in any other bug tracker, in the world!"12:13
gmbStevenK, I like how your mind works.12:14
gmbAnd I use the word "works" quite wrongly.12:14
lifelessgmb: right, trigger failing12:16
lifelessgmb: check markAsDuplicates, it *can't* read from the DB mid-transaction12:16
lifelesswithout hilarity12:16
gmbI confess, I'm starting to wonder at what point we can drag this revision out and shoot it.12:19
gmblifeless, Bingo!12:19
gmbIf you comment out the bug heat code after the try...except in markAsDuplicate() it works.12:20
gmbSo essentially by modifying the bugs' heat we're clobbering the number_of_duplicates.12:20
gmbOr something.12:20
gmblifeless, http://pastebin.ubuntu.com/467465/ fixes the doctest. However, I can't comment as to the rightness of the solution.12:24
wgrantbigjools: Why is the 'Publish' flag editable by users?12:24
wgrantIt causes great confusion, and is of dubious utility.12:24
bigjoolsso copy archive owners can turn them on and off, mainly12:24
bigjoolswho is confused?12:25
wgrantWe'll occasionally get someone in #launchpad complaining that their PPA isn't publishing.12:25
wgrantThere's no indication anywhere except +edit that the flag is switched off.12:25
wgrantAnd they never know how it got turned off.12:25
lifelessgmb: yes12:25
lifelesslet me look12:26
lifelessgmb: oh, thats not safe12:26
lifelesswe can't commit in model code12:26
lifelessstub: around ?12:26
bigjoolswgrant: we need a big warning on the front page to say it's turned off then12:26
stublifeless: yer12:26
wgrantbigjools: Probably.12:26
gmblifeless, Yeah, I was pretty sure that was the case.12:26
lifelessstub: we have a trigger interaction12:27
lifelessstub: the number_of_duplicates trigger is being broken by an update which separately sets the value in the master, when we move multiple bugs to a new master in one xaction12:28
gmblifeless, The simple solution may be to have the function that updates the number of duplicates to also update the bug heat for the duplicated bug.12:28
lifelessstub: any input you have would be useful12:28
stubDo you have an exception?12:29
stubhmm... no... i see the problem.12:29
lifelessapparently there may be some storm thing which can help12:30
lifelessI'm guessing storm is adding an update to that column because we read it12:30
lifelessI'm going to hunt him down12:30
stubSo when we sent a duplicate, we need to send a message to the messaging system so the update can happen post-transaction... oh... wait...12:30
lifelessyes yes12:30
lifelessif you wanted to build the messaging dependencies package for hardy, I think tom would install it12:30
maxbSo, now devel is py2.6 capable.... should we delete the py2.5 rebuilds from the launchpad PPA for lucid? Or is there worth in retaining them? What about other series? [Mainly just gathering some initial thoughts, I'll send a mail later]12:32
stublifeless: works for me.12:34
wgrantI suppose we'll need to port to 2.7 in a few months :(12:34
maxbLucid first, before we worry about Maverick12:34
wgrantMaverick's not having 2.7 by default, fortunately.12:34
wgrantThat's for Nifty.12:35
maxbwoo12:35
stublifeless: https://pastebin.canonical.com/34956/12:35
maxbproblem. brush. carpet. :-)12:35
wgrantlifeless: What's the issue with raising an AssertionError?12:38
wgrantIt's not a valid way to call the method.12:38
maxbboo. +copy-packages timeout. I should be able to copy 21 source packages at once, right? :-)12:39
lifelessstub: whats that pastebin demonstrating?12:39
stubChanging the master for multiple bugs in one transaction12:40
lifelessstub: oh sure, the transactions succeed12:40
lifelessgmb: get a postgresql / storm trace of the calls being made12:40
lifelessgmb: hunch is that we're seeing an 'update ...' call setting that column12:40
lifelessgmb: also are we gaining one, or losing one, or just failing to update?12:41
gmblifeless, I'm not sure. Give me a sec; just testing a theory then I'll get the PG trace.12:42
lifelesskk12:42
lifelesswgrant: are the inputs invalid - ValueError12:42
bigjoolsmaxb: Yes. :/  I'm going to move package copying to the job system over the next few months12:43
wgrantlifeless: That's forbidden.12:43
wgrantlifeless: https://dev.launchpad.net/Hacking forbids raising TypeError, NameError or ValueError.12:44
=== mrevell is now known as mrevell-lunch
maxbbigjools: no more synchronous feedback? :-(12:44
lifelessraising AssertionError is as bad or worse.12:45
lifelessI'd rather you raise ValueError than assertion error, or a custom exception12:45
wgrantlifeless: But it's not forbidden by the documentation :(12:45
wgrantwin 212:45
lifelesswgrant: best practice is historical not live ;)12:45
bigjoolsmaxb: we'll try and do it via ajax polling12:45
bigjoolslandscape has a similar thing already12:45
bigjoolsthe problem is that the webapp request is really not the right place to do the hundreds of checks required when copying :(12:46
maxbThat could work. Though, it'll be irksome for people who promote PPA packages via the API12:46
bigjoolsyeah, but... I dunno what else to do here12:46
wgrantWhy is copy checking so slow?12:46
bigjoolsbecause it does a shedload of db queries12:47
bigjoolsmostly unavoidable12:47
gmblifeless, stub: So, this patch http://pastebin.ubuntu.com/467471/ (includes lifeless's original patch) fixes our problem by moving the bug heat stuff into the set_bug_number_of_duplicates function. Which feels like the wrong place for it, but only because of the name of the function.12:47
lifelessstub: https://dev.launchpad.net/LaunchpadPpa?action=diff12:47
maxblifeless: two versions of what?12:48
lifelessthe packages12:48
gmbArgh. Annoyingly, fucks up the heat tests. But I think that's my fault...12:49
lifelesshang a sec12:49
wgrantWe still support Karmic, don't we?12:49
maxblifeless: It's not clear to me what that paragraph is saying. We *already* sustain hardy/karmic/lucid in the PPA12:50
maxbwe haven't officially de-supported jaunty yet12:50
maxbthough it's likely bitrotten12:50
lifelessmaxb: ok, then I was confused; it seemed to me that it wasn't clear that people needed to do this.12:50
wgrantI think it may have bitrotten a bit, though.12:50
wgrantRight.12:50
lifelessmaxb: we need a hardy build of launchpad-messagequeue-dependencies12:50
gmbOh, wait, that might be because I forgot to make schema. Durr.12:51
maxblifeless: Yes, someone has ignored point 11 under the list at the top12:51
lifelessmaxb: ok, nuke my change then12:51
=== almaisan-away is now known as al-maisan
* maxb expands it a bit instead12:52
wgrantlifeless: So, what should I do about that exception?12:53
lifelesswgrant: in the review I said you could just document that it sucks12:54
lifelessmaxb: if you were to also refresh the builds, I'd be hugely appreciative.12:54
stublifeless: The comment sounds sane, but it is worth documenting the commands so people like me can actually do it.12:54
lifelessstub: ack12:55
lifelessstub: I can show you the error now12:55
wgrantlifeless: Ah, true.12:55
lifelesshttps://pastebin.canonical.com/34957/12:55
lifelessstub: ^12:55
lifelesswgrant: I'm usually pretty careful to not block people; please shout if you feel blocked - its probably a miscommunication12:55
lifelesshttp://pastebin.com/sMtQapT4 <- same sql trace12:57
lifelessgmb: I'm almost totally convinced this is a storm bug12:57
gmblifeless, Ah, right. Still want me to grab that storm trace?12:58
jkakarHi lifeless! :)12:58
lifelessgmb: yes12:58
lifelessgmb: or postgresql12:58
lifelessjkakar: hi12:58
gmbRight. On it.12:58
lifelessjkakar: http://pastebin.com/sMtQapT412:59
lifelessjkakar: this shows the problem12:59
stublifeless: right, so the db end is fine and something else is issuing updates it shouldn't, such as storm perhaps using the version from the start of the transaction.12:59
lifelessjkakar: we're getting confirmation that it actually happens12:59
lifelessstub: I think so, yes.12:59
jkakarSo yeah, therve and I were wondering if it's a flush issue...12:59
stubWe can issue a foo.duplicate_bug_count = <mumble> to force it to reload that value from the database13:00
stub(I forget the 'magic reload' object)13:00
jkakarAutoReload.13:00
lifelessstub: won't work13:00
lifelessstub: because the trigger is an after trigger13:00
jkakarAnyway, that might be hack fix if it worked.13:00
* jkakar looks at some Storm code...13:01
lifelessuntil we commit we don't know the new value13:01
wgrantlifeless: I've added a comment. Could you please land that?13:01
lifelesswgrant: not until we're out of testfix13:01
wgrantlifeless: Fair point.13:01
stublifeless: after triggers fire after the statement, not at the end of the transaction13:02
gmblifeless, stub: Here's the trace, from just before the markAsDuplicate() call to just after flush_database_updates() in bugtask-search.txt: http://pastebin.ubuntu.com/467476/13:02
gmblifeless, stub: The last line makes interesting reading :)13:03
lifelessjkakar: so - http://bazaar.launchpad.net/~launchpad-pqm/launchpad/devel/annotate/head:/lib/lp/bugs/model/bug.py13:03
lifelessstub: ah, doh.13:03
lifelessstub: its been a while. sorry ;)13:03
lifelessok, thats a decent, if ugly, workaround13:03
lifelessdoes AutoReload kick in at UPDATE() or will we need a flush as well ?13:03
lifelessgmb: yes, i thought so13:03
stubI don't know13:04
lifelessjkakar: ^13:04
lifelessgmb: so try a flush + this autoreload trick13:04
stubflush will hopefully happen automagically13:04
jkakarlifeless: AutoReload marks the column as "flush this the next time I access it".13:04
jkakarlifeless: It doesn't perform an UPDATE.13:04
jmlare we in some sort of testfix mode?13:04
lifelessjml: yes13:04
lifelesssee backlog, its a fun one13:05
lifelessjkakar: so, it flushes everything, then reads back that column ?13:05
gmbWhere fun == 'I want to stab myself in the face'13:05
lifelessjkakar: and if we don't access the column at all, will storm do it itself mid commit ?13:05
=== jml changed the topic of #launchpad-dev to: testfix mode. gmb working on it | Launchpad Development Channel | Week 1 of 10.08 | PQM is open | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes
gmbjkakar, Can you help me out with AutoReload magicks? I'm scannign scrollback but I see nothing I can grok.13:06
jkakarlifeless: AutoReload flushes the store, not just the column.13:08
lifelesssure13:08
jkakargmb: If you set a column to AutoReload it will cause a flush on next access.13:08
lifelessbut you see my concern13:08
lifelesswe *don't access* the column13:09
lifelessstorm might, we don't.13:09
jkakargmb: So, Bug.duplicateof = AutoReload will cause the store to be flushed the next time Bug.duplicateof is accessed.13:09
gmbjkakar, Ah, right, gotcher. Crikey that seems nasty.13:09
jkakarlifeless, gmb: It's not what you want, it's useful in other contexts.13:09
lifelessok13:09
lifelesswhere do we import AutoReload from ?13:09
jkakarSo I think we need to add a thing to Storm to tell it to never include the column in an UPDATE.13:09
lifelessjkakar: See, lifeless isn't nuts.13:10
jkakarlifeless: from storm.locals import AutoReload (it's actually in storm.store, though).13:10
jkakarlifeless: :)13:10
gmblifeless, storm.locals13:10
jkakarlifeless: You are referring to yourself by name which is indicative of some kind of deep seated problem, no?13:10
lifelessyes13:10
lifelessgmb: already have store imported in this module :)13:10
* gmb was cargo-culting13:11
jkakarHehe13:11
=== lifeless changed the topic of #launchpad-dev to: testfix mode. gmb, lifeless,jkakar,stub working on it | Launchpad Development Channel | Week 1 of 10.08 | PQM is open | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes
jkakarOkay, I'll take a look at what it will take to add this functionality to Storm.13:11
lifelessjkakar: oh, and it replaces IntCol ?13:11
jkakarlifeless: IntCol?13:11
lifeless  File "/home/robertc/launchpad/lp-branches/working/lib/lp/bugs/tests/test_duplicate_handling.py", line 101, in test_duplicates_are_moved13:12
jkakarOh right, SQLObject compatibility...13:12
lifeless    new_bug.number_of_duplicates = AutoReload13:12
lifelessForbiddenAttribute: ('number_of_duplicates', <Bug at 0xdaa9050>)13:12
jkakarYes, it replaces IntCol on the instance.13:12
jkakarI guess the object is security proxied.13:12
lifelessjkakar: the above is why I was sure we were not writing to the attribute13:12
jkakarCool.13:12
gmbStabby.13:12
lifelessgmb: I think we should pull this branch13:12
gmblifeless, I agree.13:12
lifelessgmb: its a deep fix, the queue is stalled.13:12
lifelessgmb: r=lifeless on a pull13:13
gmblifeless, Right; on it. Is it DTRT to remove it from devel and let it trickle down or should i submit merges for both?13:13
gmb(That could be interesting)13:13
james_wcould oops generated during a test be attached as details to the result?13:20
lifelessjames_w: yes please13:24
lifelessgmb: devel with testfix13:24
james_wthey are just text?13:24
lifelessgmb: then queue will unblock and next buildbot run should fix it13:24
lifelessjames_w: serialised as yes13:24
lifelessutf8 actually I think13:24
james_wreadable and not too large?13:25
gmblifeless, Righto. Almost done; just checking that I'm not breaking anything else in a spectacularly obvious fashion.13:25
lifelessthey have i18n usernames in them13:25
lifelessgmb: not AFAIK.13:25
lifelesswgrant: stub: jml: ^ gmbs query13:25
stubeh?13:25
lifelesswhen fixing a testfix failure in db-devel13:26
wgrantIf you revert it in devel, it will filter down to db-devel after the next buildbot run.13:26
lifelessis landing a testfix in devel sufficient13:26
wgrantOh. Hmm.13:26
wgrantI don't know if that will kick PQM.. good point.13:26
stubIt might need a manual merge - I think the automatic stable->db-devel merges are disabled in testfix mode13:27
stubBut I don't know for sure.13:27
wgrantBut once the commit kicks it out of testfix, devel will get tested, and merged into db-devel, which will then be tested, and not land back in testfix.13:28
gmblifeless, stub: 'tis in the queue now for devel. We'll see what happens and if necessary I'll do a manual merge.13:28
gmbwgrant, ^13:28
wgrantUnless db_lp decides to run again before the next stable merge, I guess...13:28
gmbYes, that would be amusing.13:29
wgrantFor some rather more masochistic values of amusing than usual.13:30
jkakarlifeless, gmb: I think there might be a problem in your application code (and also a problem in Storm).13:33
lifelessjkakar: I'm sure :)13:33
gmbjkakar, lifeless, I've emailed canonical-launchpad@ about the [testfix]; can you elaborate abut the storm bug on that list please? (This should probably move to launchpad-dev@, tbh)13:34
lifelessack13:34
gmbTa13:35
lifelessgmb: will you save my test improvement somewhere?13:35
gmblifeless, I'll push it up to LP, along with my patch to move stuff into the stored procedure.13:36
lifelessgmb: I'm not sure thats needed/right, FWIW13:36
gmblifeless, No, I know, but I'd like it for my own reference later should we need to do it.13:36
lifelessgmb: the stored procedure won't run on the master you see13:36
gmblifeless, OIC.13:37
gmbOkay.13:37
lifelessgmb: (if you don't update it). And if you do update it, the problem exists.13:37
gmbRight13:37
jkakargmb: Yep, I'm just figuring out what you need to determine if there's a bug in Launchpad.13:37
jkakarAlso, therve and I are looking at what it will take to fix Storm.13:37
lifelessjkakar: I grepped, I can't see anything setting that oclumn in the entire codebase13:37
jkakarlifeless: Hrm.13:37
lifelessjkakar: come sit by me if you like.13:38
jkakarlifeless: It might be an update issue in Storm... I found this:13:38
gmblifeless, lp:~gmb/launchpad/db-devel-with-lifeless-improvements13:38
jkakar        # The fromdb check makes sure that values coming from the13:38
jkakar        # database don't mark the object as dirty again.13:38
jkakar        # XXX The fromdb check is untested. How to test it?13:38
lifelessgmb: as long as you<->deryck coordinate on it, I'm happy :)13:38
jkakarIt could be that a flush is getting the triggered value and causing the object to be marked as dirty. :)13:38
jkakarIt may be that the issue in Launchpad teaches us how to test that code path. ;)13:38
lifelessjkakar: hah.hah.hah.13:38
jkakarlifeless: You said you have a failing test, yes?13:39
lifelessyes13:39
lifelessits awful, but yes.13:39
lifelessI don't have a unit test yet. I think I can construct one though.13:39
lifelessits a doctest [[meep]]13:40
jkakarlifeless: http://paste.ubuntu.com/467498/13:40
jkakarlifeless: Can you add a validator like in the paste to the duplicateof column and run your test please?13:41
lifelessjkakar: number_of_duplicates, surely ?13:41
=== mrevell-lunch is now known as mrevell
lifelessduplicate_of is set in related bugs, heat is set in the bug with the wrong number_of_duplicates value13:42
lifelessjkakar: no change in behaviour13:42
lifelessjkakar: lets pair. I'm in the community room13:42
pooliesinzui, hi, want to talk about feature flags?13:47
poolieしんずい13:47
sinzui:)13:47
poolie:)13:47
sinzuiI think I need more caffeine  first13:47
poolienp13:49
gmbOkay, we should be out of testfix now.14:00
=== gmb changed the topic of #launchpad-dev to: Launchpad Development Channel | Week 1 of 10.08 | PQM is open | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes
jelmergmb: Awesomeness.14:00
jelmerthanks :-)14:00
wgrantgmb: Thanks.14:01
wgrantlifeless: Can you send my branch off now?14:01
gmblifeless did most of the heavy brainwork.14:01
pooliegmb, lifeless, woo!14:03
jmlwoot.14:05
jmlI need some help with bugs / bugbranches: http://paste.ubuntu.com/467503/14:05
jmlthere's a doctest that checks to see that editing bugbranch links changes the date_last_updated of the bug14:06
jmlbut the test is crummy. the unit test in the paste reproduces the logic of the doctest.14:06
jmlI guess I want to know if editing a bugbranch object is actually possible at all. if it is not possible, I don't really see why it should be tested / supported.14:07
wgrantbigjools: FWIW, I just came upon a summary of a primary publisher run I made a few months back: http://williamgrant.id.au/f/1/2010/publisher-timeline.html14:07
wgrantGives a reasonable picture of how much time goes where.14:08
wgrantie. a-f takes 16 minutes.14:08
jtvsalgado: test -vvc -m lp.translations.windmill -t import_queue_entry14:53
jtv...but I had it with the bug_me_too test as well, which isn't in Translations.14:53
lifeless\o/15:01
lifelesswgrant: sorry, still analysing15:01
lifelesswgrant: hunt down, oh, hml15:01
lifelesswe have a fix for storm15:17
jelmergmb: It looks like we're (back?) in testfix mode15:17
bigjoolslifeless: I also have a fix for Storm15:25
=== matsubara is now known as matsubara-lunch
jkakarDoes anyone know which (if any) Storm branch LP is using?  I want to see what's different between it and lp:storm.15:38
jkakardanilos: ^^ I think the Storm code being used by LP is from you, right?15:38
danilosjkakar, it's 0.15 + one or two revisions from before 0.16 came out that I needed at the time15:39
jkakardanilos: Right... is there a branch somewhere?15:39
danilosjkakar, r342 that is :)15:39
danilosjkakar, don't think so, it's available as a tar.gz inside download-cache for LP15:40
danilosjkakar, that's bzr+ssh://bazaar.launchpad.net/~launchpad/lp-source-dependencies/trunk/15:40
Ursinhabigjools, oi15:44
pooliesinzui, hi?15:44
sinzuihi poolie15:45
pooliehey i think i understand your concerns now15:45
pooliei might just reply on the list, or we can talk here15:45
sinzuihere is nice15:45
bigjoolsUrsinha: oi oi15:46
pooliei think there are a few use cases worth looking at:15:46
Ursinhabigjools, e ai? :) could you tell me if bug 595957 is really fix released?15:46
_mup_Bug #595957: archive uploader tries to move the changelog to the current working directory <archive-uploader> <qa-needstesting> <Soyuz:Fix Released by abentley> <https://launchpad.net/bugs/595957>15:46
Ursinhabigjools, it was qa-bad and then a commit pointed to it again15:47
abentleyUrsinha, I have been unable to QA it.15:47
bigjoolsabentley: I can QA it on dogfood15:48
poolie1- adding a new non-trivial feature, that we want to have off by default until we're confident in it15:48
bigjoolsUrsinha: it should be committed15:48
Ursinhaabentley, but is that fix released? I don't understand why is it fix released if that was bad and now has a new branch :)15:48
* sinzui nods15:48
abentleybigjools, I don't think you can, because I think writing to that directory isn't forbidden on dogfood.15:48
Ursinhaoh, that was sinzui15:48
bigjoolsabentley: easily fixed15:48
bigjoolsbesides, I can see if it leaves a changelog behind15:49
abentleybigjools, okay, please do.15:49
bigjoolswhen I get faster interwebs back ... :/15:49
lifelessbigjools: hi, what is your fix ?16:00
lifelessjml: how does one tell if one is in testfix mode ?16:00
=== gary_poster_ is now known as gary_poster
maxbHow odd. Three scripts in the launchpad tree still have a shebang with an explicit python version16:03
pooliesinzui, so in that case we should have the code declare the feature flag16:05
bigjoolslifeless: it's a patch that strips ordering from SQLObjectResultSet.__nonzero__()16:05
poolieand then it should check it in the necessary places with getFeatureFlag() (but not too many different places)16:05
bigjoolswhich makes bool(result) run quite a lot quicker.16:05
pooliesinzui, then when we're ready to test on lpnet, we turn on the flag in that database16:06
pooliefor your own testing you'll set the flag in your own database16:06
pooliealso we'll provide a context manager to let you test with that flag turned on16:06
pooliestill here?16:06
sinzuihmm16:06
lifelessbigjools: is it ready to upstream ?16:06
sinzuiThat sounds like a great way to discover bad interactions after the branch is on edge16:07
sinzuiI would rather have all feature on in dev and testrunner16:07
bigjoolslifeless: see bug 2462016:07
_mup_Bug #24620: Install from DVD+RW complains of bad MD5 <linux-source-2.6.15 (Ubuntu):Fix Released by ben-collins> <https://launchpad.net/bugs/24620>16:07
bigjoolslifeless: no don't look at that one16:07
lifelesswe could - at some cost - run the test suite twice, once on, once off16:07
bigjoolslook at bug 24620016:07
_mup_Bug #246200: SQLObjectResultSet.__nonzero__() implementation does not strip result ordering. <oops> <tech-debt> <Soyuz:Invalid> <Storm:New> <https://launchpad.net/bugs/246200>16:07
lifelesshowever I think its likely good enough to use testscenarios to run tests of affected areas only, twice.16:08
lifelesssinzui: also16:08
bigjoolsit's pissing it down here, I'll lose my GPRS connection shortly16:08
lifelesssinzui: remember that we'll have QA happening before *any* rollout.16:08
lifelessbigjools: looking16:08
sinzuiOnce more I have to decline someone's nomination to fix a bug in the trunk series16:08
pooliehm, if they're all on in dev, then we are making dev further away from production16:08
lifelesspoolie: production is ill defined16:08
poolies//edge16:09
lifelessjkakar: https://bugs.edge.launchpad.net/soyuz/+bug/24620016:09
_mup_Bug #246200: SQLObjectResultSet.__nonzero__() implementation does not strip result ordering. <oops> <tech-debt> <Soyuz:Invalid> <Storm:New> <https://launchpad.net/bugs/246200>16:09
sinzuiI should have used my epic time to restrict bug nominations to the handful of people who need them16:09
jkakardanilos: Hrm... as a suggestion, branches are a good thing. ;b16:10
pooliesinzui, which bug, for curiousity?16:10
lifelessbigjools: if you can get a branch up and attached to that, that would be great.16:10
sinzuihttps://bugs.edge.launchpad.net/launchpad-web/+bug/49005816:10
_mup_Bug #490058: Launchpad shouldn't present itself as a database <launchpad-web:Triaged> <https://launchpad.net/bugs/490058>16:10
sinzui^ poolie16:10
poolietx16:10
bigjoolslifeless: yeah I've been meaning to do so for ages :)16:10
lifelessbigjools: or even a patch16:11
lifelessthe storm folk will take it from there I suspect ;)16:11
poolienice idea though16:11
danilosjkakar, they are, and they might be one, but if it's not on code.lp.net/~danilo/storm I probably didn't create it at the time16:12
jkakardanilos: Yeah, it's cool, I was just teasing... I'll get the tar.gz and see what's different from trunk.16:13
sinzuipoolie, of course it is a nice idea. Most ideas about changing our pathetic excuse for a front page are good.16:16
poolie"real artists ship"16:16
poolieno point complaining about the speed other people do stuff16:17
poolieanyhow coming back to the flags thing16:17
=== bigjools-afk is now known as bigjools
pooliedo you have time to talk about it now?16:18
sinzuipoolie. I weep everytime I see the contradictory root pages of each app and for each pillar. We have agreed to contradict each other and confuse the user. I feel helpless to fix an issue that requires half of the lp team to fix16:18
poolie:/16:19
pooliewe'll get there16:19
lifelesssinzui: is it the agreement between them all that is the hard bit?16:19
poolieif we make it easier to change things (without making it too easy to change things rashly) we can fix this16:19
sinzuiWe said that in 2.0 and we promised we would revisit the root page problem in the release after 3.0. We lied to ourselves16:19
poolieistm the concept of an 'x.0' release is part of the problem16:20
pooliewhile True: fix_something16:20
sinzuijml brought up the issue recently. He may have used that as an argument for the web ui position he is hiring for16:21
* sinzui knows those pages are actually used 1.0 layours16:21
sinzuilayouts16:21
poolieso i'd like to make sure i'm not going to run into avoidable trouble with flags16:22
lifelesshow do we reset testfix?16:22
pooliecan we talk about them?16:22
lifelessthere is nothing in pqm to change it16:22
lifelessand we're still blocked16:22
lifelesssinzui: jml: ^16:22
sinzuilifeless, jml sees the pages as a problem. I jumped to his side when some disagreed about the inconsistency16:24
* sinzui looks for email to forward16:24
pooliesinzui, i'd like to see a wall with printouts of screenshots of the N top pages16:24
pooliewould they make any sense viewed side by side?16:25
pooliethen you could do wireframes of proposed alternatives16:25
sinzuipoolie, I think jml made that. I will look for that email too16:25
lifelessmars: around ?16:25
poolieof course there's not really any necessary reason why there has to be a 'bugs home page'16:25
pooliefor the whole of launchpad16:25
poolieit's really more of a consequence of having a domain per 'app'16:25
marslifeless, yep16:26
poolienot that users really see them as apps16:26
marslifeless, what's up?16:26
lifelessI'm trying to get us out of testfix16:26
lifelessgmb landed a revert of the problem patch, I believe16:26
marsok16:26
=== beuno is now known as beuno-lunch
marslifeless, if it isn't moving, and the patch is OK, gmb suggested merging into db-devel directly and then forcing the build16:29
lifelesshttps://lpbuildbot.canonical.com/one_box_per_builder suggests a build is in progress16:29
lifelessthe wiki page says that when a build starts the flag is reset16:29
lifelessis that true ?16:29
pooliesinzui, lifeless, i think i'll write up some use cases in that thread16:31
marsI don't know.  gary_poster, ^ do you know if the testfix flag is cleared when we land on devel?  The wiki says yes, but...16:31
poolieand proceed with landing https://code.edge.launchpad.net/~mbp/launchpad/flags/+merge/3058116:31
poolieif i can get ec2 to cooperate16:31
lifelessmars: specifically 'when you start a build'16:31
pooliethen if you want to talk online or in mail later, we can16:31
pooliei'm going to be offline monday/tuesday next week, travelling16:31
marslifeless, which wiki page?  (Shows you how much I know about it :)16:31
gary_postermars, if the problem was devel, then eventually, yes16:31
gary_poster(I'm on call)16:31
lifelessmars: https://dev.launchpad.net/Trunk16:32
lifelessgary_poster: it was db-devel16:32
gary_posterthen no, landing a testfix on devel will not help db-devl, I don't think16:32
gary_posterI mean, from testfix perspective16:32
lifelessafter it passes on devel, will the automerge to db-devel still kick in ?16:32
lifelessif so, it will right itself eventually I guess.16:32
marslifeless, that is what I would expect16:32
marsrule of least surprise and all16:33
lifelessmars: I might do something a little cheeky then16:33
lifelessand tell bb to build db-devel16:33
lifelessto unblock us16:33
marsland on db-devel an kick it?16:33
gary_posterland it on both branches16:33
gary_postershould merge fine16:33
gary_posterget us out of testfix faster16:33
lifelessgmb: can you toss it at db-devel then ?16:33
lifelessgary_poster: looking forward to no testfix mode ? :)16:33
gary_posteryeah :-)16:33
marsI am starting to understand why it would be a nice thing to get rid of.16:34
lifelessmars: pipeline stalls are painful; stop-the-line should be short and fast :- this isn't16:35
marsSince I technically maintain that part, and I don't even know what wiki page to look at...16:35
lifelessgmb: hi16:36
marspolicy in the wiki text is not code - buildbot does not execute wiki documents16:36
Ursinhabigjools, is noodles on leave or something?16:37
marslifeless, "If only one branch is broken, a [testfix] to the broken branch that then makes the tests pass will reopen both branches for normal use."16:37
bigjoolsUrsinha: no, he's en route from Prague to Berlin16:37
Ursinhabigjools, oh, I see16:38
marslifeless, but again, just because the wiki says so does not mean code does same16:38
gmblifeless, Hi. What's up?16:39
lifelessgmb: can you land the revert patch on db-devel too please !16:39
lifelessgmb: I was about to start grovelling around for it to do16:39
gmblifeless, Sure. On it now.16:39
lifelessthanks!16:39
lifelessand sorry for the escalating pings ;)16:39
gmblifeless, No worries :)16:40
gary_postermars, heads up: bug 608593 may move from high to critical :-)16:42
_mup_Bug #608593: buildbot lucid builds dying on xvfb <Launchpad Foundations:New> <https://launchpad.net/bugs/608593>16:42
marsgary_poster, will do!16:45
=== matsubara-lunch is now known as matsubara
jkakarlifeless: https://code.edge.launchpad.net/~jkakar/storm/is-empty-strips-order-by/+merge/30677 <-- This is a fix for bug #246200.  Review appreciated (it's trivial). :)16:59
_mup_Bug #246200: SQLObjectResultSet.__nonzero__() implementation does not strip result ordering. <oops> <tech-debt> <Soyuz:Invalid> <Storm:In Progress by jkakar> <https://launchpad.net/bugs/246200>16:59
lifelessnatching16:59
lifelessjkakar: done17:00
=== Pilky_ is now known as Pilky
jkakarlifeless: Ta. :)17:02
pooliesinzui, thanks!17:03
pooliedoes 'martin' mean me or beuno? it sounds like me, but it could also be him17:04
gmbBuggeration.17:06
lifelessah, the british are here.17:06
gmbLooks like we're heading for another testfix folks; I'm on it now, though.17:06
=== gmb changed the topic of #launchpad-dev to: testfix will happen soonish, sorry; gmb is working on it. | Launchpad Development Channel | Week 1 of 10.08 | PQM is open | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes
leonardrdo we have a helper function that encapsulates 'stick this query string onto this URL with a & if there's already a query string and a ? otherwise"? i can't find one in urllib or lazr.uri, but i feel like there is one17:09
sinzuipoolie, "martin" is beuno in the design conversations17:11
pooliesinzui, it's a good thread17:11
pooliewbn to redesign them all as a group17:11
maxblifeless: Regarding lp-mq-deps and hardy... Given hardy has no rabbitmq at all, and a drastically older erlang, .... do we get to move to lucid before rabbit?17:12
poolieeven if it wasn't all implemented at least getting some wireframes for "what this kind of page should generally look like" would be nice17:12
poolieI like the idea of "some features only after 10pm"17:14
gmbpoolie, Just the man. How would I find out which revision a  sub revision (e.g. 1.2.3) belongs to?17:15
lifelesslog --show-ids17:16
gmbpoolie, I like your ventriloquism skills.17:16
gmblifeless, Ta.17:16
gmblifeless, Can I have your r= on http://pastebin.ubuntu.com/467585/? It turns out that we needed to revert r11190 as well as 11188, otherwise the build will stay broken.17:31
gmb(Abel gave me the heads-up)17:31
lifelessdoit17:32
lifelessnow I'll look at the pastebin17:33
lifelessin general17:33
lifelessI don't think backouts need approval, do they ?17:33
gmblifeless, IDK; better to get at least an rs, I guess.17:33
lifelessyeah17:34
lifelessso it looks like a patch17:34
lifelesswhich we don't want for now17:34
lifelessseems like we should remove it:)(17:34
gmblifeless, Agreed :)17:34
* bigjools hi-5s jkakar17:36
jkakarbigjools: :)17:36
jkakarbigjools: Any other Storm issues you want me to fix while I'm in the mood...? :)17:37
bigjoolsjkakar: my issues would most certainly take you out of that mood and into a completely different one17:37
lifelessmthaddon: whats the losa email address again ?17:37
mthaddonlosas@canonical.com?17:38
* mthaddon just realised it's now a spam target17:38
lifelessmthaddon: oh, sorry!17:38
bigjoolslol17:38
lifelessmthaddon: should I not copy you on a public mail via it ?17:38
jkakarbigjools: It'd be good to find out what they are... even if they do turn out to be soul destroying.17:39
bigjoolsjkakar: ok - plz to be adding comments and docstrings to the storm code :)17:40
lifelessbigjools: hah!17:40
* bigjools just destroyed jkakar's soul17:40
* jkakar explodes17:41
bigjoolsjkakar: the only other thing that hurts my brain is the prejoin stuff but I doubt you can do much about that!17:42
jkakarbigjools: Actually, free has a branch that he wants us to look at that does something like prejoin but I think in a less confusing way.17:43
bigjools\o/17:43
=== al-maisan is now known as almaisan-away
pooliejkakar, i was thinking of sending you a doc-adding patch but now i understand it the moment has passed :)17:52
jkakarpoolie: :)17:52
gmbOkay, we're out of TF mode again. There's a chance we'll hit it again due to stuff landing after the latest build started; we'll jump off that bridge when it comes.17:55
=== gmb changed the topic of #launchpad-dev to: Launchpad Development Channel | Week 1 of 10.08 | PQM is open | https://dev.launchpad.net/ | Get the code: https://dev.launchpad.net/Getting | On-call review in irc://irc.freenode.net/#launchpad-reviews | Use http://paste.ubuntu.com/ for pastes
=== beuno-lunch is now known as beuno
pooliebenji/garry, if i want to create a FeatureController per request, should i just do that from beforeTraversal?18:07
benjipoolie: sounds good to me18:08
benjipoolie: do you mean IBeforeTraverseEvent?18:09
benjibecause that gets generated once for each object being traversed, not once per request18:10
pooliei actually just meant patching it into LaunchpadBrowserPublication.beforeTraversal18:12
pooliewhich is where similar things seem to be18:12
benjilooking at the code, that looks like the right place18:13
poolieit seems like there are notifications that could be hooked but i'm not sure that would be worth it18:14
benjimy opinion is that events are good if there are different configurations the app runs with; in this case there is only one desired configuration, so no need to make it pluggable18:19
=== matsubara is now known as matsubara-afk
=== matsubara-afk is now known as matsubara
=== Ursinha is now known as Ursinha-nom
pooliethanks benji19:18
benjinp19:18
lifelesspoolie: see the profile hooked code - it does before & after hooks19:39
lifelesspoolie: berforeTraversal is not what you think it is19:39
lifelesswhat rolls onto edge - stable, right ?20:32
marslifeless, yes, stable is deployed to edge20:46
lifelessok, so I has to be patient ;)20:47
lifelesshopefully I will have a pleasant surprise in the morning20:48
=== Ursinha-nom is now known as Ursinha
lifelessUrsinha: hi21:25
Ursinhahi lifeless21:25
Ursinhashoot21:25
lifelessUrsinha: in the edge errors mail sent to the list, Errors for 2010-07-2121:26
Ursinhahm21:26
lifeless= Top 15 Time Outs (total of 52 unique items) ==21:26
lifeless54  SELECT COUNT(*) FROM Archive ...21:26
lifelessthere is no bug number21:26
lifelessbut if I go to the first oops21:26
lifelessthere is a bug on the oops21:26
lifelessis there a bug on oopstools about this ?21:26
Ursinhalifeless, I'm filing one now21:27
lifelesssame for the next group21:27
lifelessUrsinha: thanks a lot21:27
lifelessIMO this should be high, because its workflow support for the zero oops story21:27
lifelessUrsinha: I was going to look at the bug in oops tools you mentioned, but we had a massive testfix failure today, so spent lots of time digging into storm with jkakar to fix that21:28
lifelesssorry :(21:28
Ursinhalifeless, that's ok, I know that's not abandoned21:28
Ursinhalifeless, in fact I have a discussion about that bug with gary_poster today, and the proper fix isn't trivial. I have to ask matsubara which approach he chose in the branch that's linked to the bug21:30
Ursinha*I had21:30
lifelessok21:31
lifelessthats a little concerning: 116741.01launchpad-main-masterINSERT INTO OAuthNonce (access_token, nonce, request_timestamp) VALUES (%s, %s, %s) RETURNING OAuthNonce.id21:32
lifeless16 seconds to login, I guess21:32
lifelessbryceh: the bug attachments API call that is slow is the single largest oops cause in the system21:37
lifelessbryceh: just saying :)21:37
lifelessgnight y'all21:37
lifelessbryceh: if you want help on it, drop me mail; I'll see what I can do tomorrow.21:38
lifelesshttps://bugs.edge.launchpad.net/launchpad-foundations/+bug/424671 for reference21:38
_mup_Bug #424671: attachments: accessing attachment's message is very slow <api> <performance> <timeout> <Launchpad Foundations:Triaged by leonardr> <https://launchpad.net/bugs/424671>21:38
brycehlifeless, yep quite familiar with it I am21:39
brycehwould be wonderful to get that sorted out21:40
lifeless-> zzz21:40
marsSilly question: how do I set something other than the 'trunk' series to be the focus of development?22:16
marsI've created my new series and pushed the code, but no setting I can find lets me say "This is the focus"22:17
mwhudsonmars: isn't it on the project +edit page?22:25
mwhudsonyeah, it is22:25
mwhudsonnear the bottom22:25
marsmwhudson, alright, thanks.  I lost edit priveledges on the project due to group assignment, so I missed it.22:32
=== matsubara is now known as matsubara-afk

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