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

wallyworld_thumper: just talked to amazon. they are sending out a replacement. they are charging me but will refund the money when i send back the broken one00:23
thumperwallyworld_: awesome news00:23
wallyworld_thumper:  yeah. they asked several times if it had been dropped or pressure put on the screen. but it lives in the amazon hard covered case....00:24
wgrantSo much QA :/00:34
wgrantlifeless: Can we restore qastaging?00:36
lifeless+100:37
wgrantjelmer: Hi.00:39
wgrantjelmer: http://staging.launchpadlibrarian.net/73288606/vcs-imports-pydoctor-trunk.log -- I don't think cscvs likes the autoupgrade stuff.00:39
lifelessI will be back later; today is in 2 parts :)00:47
=== wallyworld is now known as 92AADA0EO
jelmerwgrant: darn00:59
jelmerwgrant: should be a trivial change to clean it up after upgrade01:00
wgrantjelmer: Rather.01:03
wgrantjelmer: Trivial enough that it's worth fixing rather than rolling it back?01:12
jelmerwgrant, https://code.launchpad.net/~jelmer/launchpad/auto-upgrade-qafix/+merge/6477101:12
wgrantjelmer: Perfect, thanks.01:13
wgrantI think we shall skip ec2 this time.01:13
StevenKHm. No wallyworld01:14
StevenKI guess he did see the State of Origin, then ...01:15
jelmerwgrant: are you landing it, or should I?01:15
wgrantjelmer: I've approved it, and can land it if you want.01:15
wgrantI realise it's late.01:15
jelmerwgrant: if you can, that would be great01:16
* jelmer gets some sleep01:16
wgrantjelmer: Thanks for the fix.01:17
wgrantNight!01:17
poolieflacoste: ping?01:17
92AADA0EOStevenK: hi. did you ping me?02:58
92AADA0EOstupid nick :-(02:58
StevenK92AADA0EO: Yes. To gloat.02:59
92AADA0EOns03:00
wallyworld_StevenK: well, i bet you didn't even watch the game?03:01
StevenKRight.03:01
wallyworld_so nothing to gloat about :-P03:02
StevenKBut QLD lost, so that makes me happy.03:02
wallyworld_but you don't care you said03:02
LPCIBotProject devel build #809: STILL FAILING in 5 hr 51 min: https://lpci.wedontsleep.org/job/devel/809/03:03
LPCIBotProject windmill-devel build #232: STILL FAILING in 1 hr 7 min: https://lpci.wedontsleep.org/job/windmill-devel/232/03:06
wgrantwallyworld_: Hi.04:48
wallyworld_hello04:48
wgrantHave you seen bug #797820?04:49
_mup_Bug #797820: searching for the last name makes still hard to find the person <disclosure> <exploratory-testing> <person-picker> <Launchpad itself:Triaged> < https://launchpad.net/bugs/797820 >04:49
wgrantThe name-prefix matches drown everything else out :/04:49
wallyworld_no, not yet04:49
wgrantEven after I reduced the numbers.04:49
wallyworld_let me have a quick read04:49
wgrantI think we may need to take them right down :(04:49
wallyworld_wgrant: so that bug report implies there are lots of names starting with "lange"?04:51
wgrantwallyworld_: It doesn't say that, but when you try it it's clear.04:51
* wallyworld_ tries it04:51
wgranthttps://pastebin.canonical.com/48548/ are the results of that search.04:52
wgrantThe second column is the rank.04:52
wgrantjml's FTI match is 0.6, but the karma scales it up.04:53
wgrantBut not high enough.04:53
wgrant(0.6 is about right for a single name match on a two-part name)04:53
wallyworld_wgrant: i tried it on lp.net and yes there are lots of usernames starting with "lange". so i think we just de-prioritise name prefix matches04:53
wallyworld_adjust the scaling factor04:53
wgrantAdjust the scaling factor, or reduce the hardcoded ranks?04:54
wallyworld_reduce the hard coded ranks04:54
wallyworld_for name prefix04:54
wgrantname prefix = 5, displayname prefix = 4, IRC nick match = 3, email prefix = 204:54
wgrantThat's where we are now.04:54
wallyworld_where is exact name match in that list?04:55
wgrantExact name match is always 10004:55
wgrantThere is nobody with username 'lange', so it doesn't show up here.04:55
wgrant(yeah, having it hardcoded to 100 is bad, but it will work unless someone has 10^20 karma, in which case we are probably screwed anyway)04:56
wallyworld_i don't like 5,4,3,2. i think ranks needs to be between 0,100 and sacling factor applied to fti to put it in the 0,100 range04:56
wgrantWhy 0-100 rather than 0-1?04:56
wallyworld_so that we can make minor adjustments using whole number arithmatic04:57
wgrantI wonder what happens if we just reduce them to a perfect FTI match... 1.04:57
wgrantThat would probably be good for full email address local part matches.04:58
wgrantBut not general prefix matches.04:58
wallyworld_i think we need to discriminate between them though, not just make all = 104:58
wallyworld_hence the 0-100 range04:58
wgrantProbably, but how?04:58
wallyworld_conceptually it's easier to think about adjustments in that range04:59
wgrantNot for me, but OK :)04:59
wallyworld_i mean whole number arithmetic is easier than decimals between 0..104:59
=== Ursinha is now known as Ursinha-zzz
wallyworld_so we scale the fti result by 10004:59
wgrantHardly :)04:59
wgrantBut this is not really crucial to the problem.05:00
wgrantWe don't know where to put these non-FTI matches.05:00
wgrantThat is the important bit.05:00
wallyworld_sure, butno we have a 0-100 range to play in, we can experiment05:00
wallyworld_but now05:00
wallyworld_so start by reducing the weight of name prefix matches05:01
wallyworld_but then again, if we scale fti by 100 maybe no adjustemtn needed05:01
wallyworld_to the name prefix weighting if it's say 5005:02
wallyworld_since 0.6 * 100 = 60 > 5005:02
wgrantBut is that what we want?05:02
wallyworld_well, i think an exact match on lastname should be > name prefix match05:03
wallyworld_too bad we can't weight based on how closely the name prefix matches05:03
wgrantIndeed.05:03
wallyworld_that would help a lot05:03
wallyworld_but in any case, if someone types the full lastname and it matches, then surely that should place those results near the top?05:04
wallyworld_above any name prefix matches05:04
wgrantWhat if I'm not typing a full lastname, but a name prefix?05:04
wallyworld_then you see that result below the display name matches :-)05:05
wallyworld_i think it will be more common for people to type last name05:05
wallyworld_if they search on lp id (name), then surely they will typr the whole id?05:05
wallyworld_i would :-)05:06
wgrantPossibly.05:07
wgrantPerhaps we should remove the name prefix matching and see how it goes.05:07
wgrantNot sure about displayname.05:07
wgrantThere are still 9 displayname match results above jml.05:07
wallyworld_i just think we need to reduce the name prefix weight05:07
wgrantBut I wonder if FTI deals with them OK.05:08
wgrantYes, but reduce it to where?05:08
wallyworld_wgrant: so imho, i think we should: scale fti by 100 and adjust the 5,4,3,2 to 50, 40, 35 or whatever05:08
wgrantThere are tonnes of FTI matches.05:08
wallyworld_tonnes yes, but all with different rankings05:08
wgrantLots at the same rankings.05:08
wallyworld_so if we scale correctly, they will fall somewhere in the range also occupied by those other matches05:09
wgrantThe visible non-jml FTI matches are 0.75990885..., and there are dozens of them.05:09
StevenKWhat FTI match does jml get for 'lange'?05:09
wgrant0.605:10
wgrant0.60792705:10
wallyworld_winder why a full lastname match is lower than those other results05:11
wgrantwallyworld_: lange stems to lang.05:14
wgrantalexander-lang's displayname is Alexander Lang05:14
wgrantSo he gets a double lang match.05:14
LPCIBotProject db-devel build #639: STILL FAILING in 5 hr 27 min: https://lpci.wedontsleep.org/job/db-devel/639/05:14
wgrantlaunchpad_dogfood=> SELECT name, fti, rank(fti, ftq('lange')) FROM person WHERE name IN ('jml', 'alexander-lang');05:14
wgrant      name      |                       fti                        |   rank05:14
wgrant----------------+--------------------------------------------------+----------05:14
wgrant jml            | 'jml':1A 'jonathan':2A 'lang':3A                 | 0.60792705:14
wgrant alexander-lang | 'alexand':2A,4A 'alexander-lang':1A 'lang':3A,5A | 0.75990905:15
wallyworld_why does it chop off the last e?05:15
StevenKSo, in this case, I don't think jml has to be *first*, I think he has to be in the top 1005:15
wgrantStemming does not work well on names :)05:15
wgrantStevenK: He should be first.05:15
wgrantStevenK: He's the only one related to the project.05:15
StevenKThat's a point05:17
wallyworld_wgrant: so perhaps we can do in memory affiliation sorting once the db query has been done05:17
wallyworld_use the affiliation to fine tune the result05:18
wgrantWe can do that in the DB just as easily.05:18
wgrantWe have no choice.05:18
wgrantWe have to do it there.05:18
wgrantOr we have to pull back EVERYTHING from the DB.05:18
wallyworld_i didn't think the affiliation was easily queryable05:20
wallyworld_and i mean we use affiliation to fine tune the results05:21
wgrant"fine tune" is a rather broad term.05:21
wallyworld_so we still limit the db query to 10005:21
wallyworld_and then "fine tune" the final order of those 100 records, for whatever mean of "fine tune"05:22
wallyworld_meaning05:22
wgrantWhat if there are 500 0.7 FTI matches?05:22
wgrantWe pull back the top 100 sorted by displayname.05:22
wgrantAnd bump the affiliated people.05:22
wallyworld_well we limit the results to 100 now don't we?05:22
wgrantBut the person I wanted was named Zack.05:22
wgrantSo he's number 499.05:22
wgrantWe do. But we do affiliation in the query.05:22
wgrantAll ordering is done in the query.05:22
wgrantAnd we take the top 100.05:22
wallyworld_you mean karma = affiliation?05:23
wallyworld_i haven't seen the latest query05:23
wgrantFor the purposes of search, yes.05:23
wgrantORDER BY rank * COALESCE( (SELECT LOG(karmavalue) FROM KarmaCache WHERE person = Person.id AND product = 10294 AND category IS NULL AND karmavalue > 10), 1) DESC, Person.displayname, Person.name LIMIT 10005:23
wallyworld_i think that's perhaps a false assumption that karma == affiliation05:23
wgrantYes, but it was quick and it's pretty effective.05:23
wgrantAnd it handles unofficial relationships well.05:24
wgrantAnd it's logarithmic, so infrequent contributors aren't penalised too much.05:24
wgrantAnd if you're searching for someone to assign them to a bugtask, that's probably been done before, so they have karma.05:24
wallyworld_ok. so we have affiliation in the query. we "just" need to tweak the ranking factors :-)05:24
wallyworld_but it will be hard05:25
wallyworld_for every search we "fix", we will "break" another05:25
wgrantYes.05:25
wgrantI question the utility of the prefix matches.05:26
wallyworld_so i think so long as the intended person appears on the first page every time, that wil suffice05:26
wgrantBut perhaps there is a reason.05:26
wgrantYes.05:26
wgrantThe correct person will rarely be first.05:26
wgrantBecause exact name matches always win.05:26
wgrantand I don't think that's negotiable.05:26
wallyworld_yes05:26
wallyworld_if we are unsure about prefix matches we just need to devalue them05:27
wallyworld_but not exclude them05:27
wallyworld_totally05:27
wgrantDevaluation is pretty much exclusion, unless there are no FTI matches at all.05:27
wgrantMm.05:27
wgrantAlthough I guess relevant prefix matches will be bumped up a bit.05:27
wallyworld_surely bad fti matches will be < 0.3 or whatever05:28
wallyworld_so prefix matches can be made to be higher than 0.5 or whatever05:28
wallyworld_so that only close fti matches 'win"05:28
wgrant"close"05:28
wallyworld_:-)05:28
wgrantWe have to choose arbitrary constants :/05:28
wallyworld_yep05:29
wallyworld_unless we can run the data through some statistical analysis05:29
wgrants/statistical/magical/05:29
wallyworld_well, if we had expected search terms and results, and a lot of those, then we could do something. but we don't05:30
wgrantEven if we did, there will always be other cases.05:30
wallyworld_outliers. sure. but that's unavoidable05:30
wgrantWhat if the cases we test are the outliers?05:31
wgrant:)05:31
wallyworld_up to us to make sure they're not05:31
wallyworld_i think there's wiggle room. desired person on first page seems reasonably doable hopefully. or very least, on page 2.05:32
wallyworld_i'd like to be on page 3 personally :-)05:32
lifelesswallyworld_: *blind*05:37
wallyworld_lifeless: maybe we should do a naked geeks calendar for charity :-) i'll be Mr December.05:39
StevenKAnd none of us will enjoy Christmas again05:39
lifeless-ever-05:39
* StevenK high fives lifeless 05:40
* wallyworld_ lols05:42
wgrantjtv: Around yet?05:56
jtvfar too round, thank you05:56
jtvHad to go make some travel preps etc.05:56
wgrantjtv: Ah, hi! Bug #797151 needs QA, when you have time.05:56
_mup_Bug #797151: Display DSD copy errors differently from comments <derivation> <qa-needstesting> <Launchpad itself:Fix Committed by jtv> < https://launchpad.net/bugs/797151 >05:56
jtvthanks for bringing it to my attention.  Won't take long.05:56
wgrantmwhudson: How much effort is setting up importds for qastaging?05:57
wgrantmwhudson: Is it just a matter of configuring the importd with a qastaging tree too?05:57
mwhudsonwgrant: um, probably06:01
mwhudsonthe process is documented, would you believe06:01
wgrantI don't appreciate your lies.06:01
mwhudsonwgrant: https://wiki.canonical.com/InformationInfrastructure/OSA/LPHowTo/SetUpCodeImportSlave06:02
wgrantI don't appreciate lies with evidence, either.06:02
wgrantBut OK.06:02
mwhudsonmost of those steps will have been done already for the staging importds, i don't know what modifications will be needed for qastaging06:02
wgrantmwhudson: There's no master setup needed? It just does xmlrpc?06:03
mwhudsonwgrant: yeah06:03
wgrantGreat, thanks.06:03
mwhudsonthe production importds connect to the database for oops-prune06:03
wgrantWell, at the moment some of them don't.06:04
wgrantAnd they cronspam about it :)06:04
spmpear? it should now.06:04
wgrantIndeed! It stopped a week ago.06:04
wgrantThis is good.06:04
spmyah. just needed same rules to allow those connections thru and we were gold.06:05
spmsome*06:05
jtvAnyone mind if I sync some packages on staging's oneiric?  wgrant, StevenK?06:10
lifelesswgrant: do me a favour?06:10
jtvOh darn, can't do it on staging — not privileged06:10
lifelesswgrant: file bugs for any db access you run across that isn't from an appserver, db-stats or security/py/upgrade.py/fti.py.06:10
StevenKlifeless: The publisher? :-)06:11
wgrantlifeless: Um, you know we have dozens of scripts, right? :)06:11
wgrantLike StevenK said.06:11
StevenKloganberry06:11
StevenKprocess-accepted, queue, change-overrides, process-death-row ...06:12
wgrantjtv: StevenK or I can do it there, but I don't think the flag is enabled.06:12
jtvahhh06:12
jtvnm I'll stick with df06:12
jtvwgrant, StevenK: mind if I restart the app server on df?06:14
StevenKGo ahead06:14
wgrantDoit.06:14
jtvthx06:15
jtvthe +localpackagediffs is currently oopsing on df because it picks up my tal change on the fly, but needs a restart for the code change06:15
jtvwgrant: it's out of your way.06:18
huwshimiwallyworld_: Can't believe I missed the game last night06:19
jtvwgrant: did you Q/A my update to the queue.py script?  Julian said it was broken.06:20
wgrantjtv: It seemed to work for me.06:21
wgrantjtv: I initially thought the code was wrong, but it seems OK.06:21
jtvAny idea whether you made it print out any package uploads with PCJs attached?06:22
jtvThat's the part that was in question.06:22
wgrantNo, but they don't exist yet, so I don't care :)06:22
jtvThey don't exist?06:23
lifelesswgrant: yes, I just mean whenever you think of one.06:23
lifelesswgrant: particularly ones where we're close to nuking all db access06:24
wgrantjtv: PCJ PUs don't exist in any real environment yet, and they are not close to done.06:24
jtvwgrant: in the current code we create PUs with PCJs by creating a fresh PPCJ, and .run()ing it.06:24
jtvwgrant: that's no reason to deploy a branch that may or may not have spectacularly failed Q/A!06:25
wgrantjtv: It's not going to affect production.06:25
wgrantSo it has not failed QA.06:25
wgrantProduction does not yet use PCJs.06:25
jtvUntil these jobs exist, and suddenly it may break.06:25
jtvThe whole point is to notice that _before_ it hits production.06:25
wgrantThere is a fuckload more QA to do of the whole thing before PCJs are going anywhere near production.06:26
wgrantOnce it's done.06:26
wgrantAnd working.06:26
jtvYes, but this could be an easy thing to miss at that point.06:26
wgrantIt's one of the more obvious things to test.06:27
jtvAnd it can be tested now.06:27
wgrantIt can be.06:27
jtvAnyway, I think I'm conflating qa-tagging with q/a06:28
wgrantProbably.06:28
jtvIt'd be really nice to have that process cleaned up.  You're right that it can be safely deployed; I've still got the ingrained habit of qa-needstesting meaning what it did.06:29
wgrantIt needs fixing, yes.06:30
jtvdeploy-needstesting / deploy-ok / deploy-bad06:30
LPCIBotProject parallel-test build #42: STILL FAILING in 1 hr 3 min: https://lpci.wedontsleep.org/job/parallel-test/42/07:16
StevenKstub: O hai!07:16
stubyo07:19
StevenKstub: Mind looking at https://code.launchpad.net/~stevenk/launchpad/db-add-bprc/+merge/64783 for a db review when you have a sec?07:19
stubk07:20
stubStevenK: So we don't stuff the files in the Librarian because they already exist somewhere on disk, and we can find that from the filename and the bpr?07:23
stuboic. The filename is the data, and we generate a file containing all the filenames07:24
StevenKRight07:25
stubThe tablename makes me think 'This row represents the contents of a BinaryPackageRelease', which would be a binary blob or maybe the TOC of a tarball.07:25
StevenKIt will be many rows07:25
StevenKWhich is why the primary key is both columns07:26
wgrantThis is the TOC of a tarball.07:26
=== almaisan-away is now known as al-maisan
stubWhich answers my next question on why this is a separate table too (not that it would be a bad idea even if it was 1:1, just interested in reasoning)07:27
=== al-maisan is now known as almaisan-away
lifelessStevenK: stub: denorm the filename07:27
StevenKHm?07:28
lifelesstheres only ~2M unique filenames in Ubuntu07:28
StevenKOh07:28
lifelesssorry07:28
lifelessI mean 'normalise the filename'07:28
StevenKI like that idea even less07:28
stubnormalize07:28
wgrantIt will save lots of disk.07:29
stubHmm... its always a tough call that. It might save a little space, but will be slower and harder to query.07:29
wgrantProbably a good idea.07:29
wgrantBut...07:29
stubHow much we looking at?07:29
wgrantMakes it hard to search.07:29
wgrantThis table will be huge.07:29
StevenKstub: MANY MANY LOTS07:29
lifelesswell07:29
wgrantProbably >100m rows.07:29
lifelessit changes the search dynamic07:29
lifelesssometimes its better07:29
lifelesssometimes its worse.07:29
wgrantNo way we can do it before we have more disk.07:29
StevenKAt this point, I only want the table there. I will look at populating it later07:29
lifelessconflictchecker has this table07:30
lifelessdone normalised style07:30
stubStevenK: Will these files already be in the librarian?07:30
lifelessit can find conflicting filenames -extremely- fast07:30
lifelessstub: no, they are the unpacked contents07:30
StevenKstub: No, they won't.07:31
lifelessStevenK: so, rather than liking or not liking the table07:31
StevenKstub: It will be a list of the contents of the files in the librarian07:31
lifelessStevenK: lets analyze. What are the queries you want to do on it?07:31
StevenKlifeless: In pseudo-SQL: SELECT filename FROM bprc WHERE binarypackagerelease IN (lots);07:32
lifelessStevenK: so for that, we'll be more efficient with two tables.07:32
StevenKWith some possible bulk loading07:32
lifelessStevenK: because 8 bytes are << 50 bytes.07:32
lifelessStevenK: the whole 2-4M unique filenames can page into memory, this can't happen with the table you have today because of the 100's of M of rows will be huge.07:33
stubAlthough we don't care if 100's of millions of filenames fit - we only care if the index fits.07:34
StevenKA id, filename table, and BPRC links between them?07:34
* stub tries to recall if each node in the btree contains the text07:34
lifelessstub: agreed, but the PK index will be large (because it has to have every filename hundreds or thousands of times)07:35
lifelessstub: yes07:35
lifelessbah07:35
lifelessStevenK: yes07:35
StevenKI doubt it is thousands07:35
lifelessdebian + ubuntu + ppa builds07:35
lifelessdailies of some packages, with a couple of series07:35
StevenKThat's still only 500 to 60007:36
stubJust stuff it in Cassandra and stop bothering me before my coffee has kicked in.07:36
lifelessStevenK: I'm sure we will have hundreds; we may have thousands for some.07:36
lifelessStevenK: 600 * 2M = 1.2B :) I don't think 600 is the common case though.07:36
lifelessstub: :)07:36
lifelessStevenK: the point is, you aren't building a search schema, you are building an export schema.07:37
StevenKlifeless: If it's two tables, it's much harder to populate, too.07:38
lifelessnot at all07:38
stubFor some values of 'much'...07:38
StevenKI can no longer be done in one query07:38
StevenKEr, It07:38
stubStevenK: So technically, it could, but we don't want to go there07:39
stubI suspect lifeless is right in that we want a separate table. Its 100,000,000 integers + 2,000,000 strings vs 100,000,000 strings. I could do real calculations if we knew the average filename length.07:42
wgrantI also concur with lifeless.07:43
wgrantFWIW07:43
StevenK38 characters, picking on yelp07:44
stubaverage or max?07:44
lifelessStevenK: average length?07:44
wgrantI suspect they're going to be well over than 4 characters :)07:45
StevenKThat is the average07:45
stubwow.07:45
lifelessif you want, I can dig up my conflict checker credentials and tell you the histogram of sizes for all ubuntu uploads07:45
stubSo yeah, we would break even around an average length of 3 I think...07:45
wgrantstub: These are absolute FS paths.07:45
StevenKSo it's 3, we have a problem07:45
stubDoes that mess up the 2,000,000 unique guestimate?07:45
wgrantNo.07:46
wgrantBut it's at least 3.2 million.07:46
StevenKSuggestions for a filename table? If I use BinaryPackageReleaseFilename, wgrant will hurt me.07:46
wgrantBut it's roughly around that order of magnitude.07:46
wgrantI like Contents.07:46
wgrantBut I won't murder over Filename :)07:46
lifelessStevenK: so the filename table is just filenames07:47
wgrantOh.07:47
wgrantRight, that table.07:47
* stub checks up on toast tables07:47
wgrantWell, paths, not filenames.07:47
lifelesssure07:47
lifelessso anyhow, it's an optimisation table not a semantic table really today; BinaryPaths ? PackagePaths? whatever07:48
LPCIBotProject windmill-db-devel build #395: STILL FAILING in 1 hr 4 min: https://lpci.wedontsleep.org/job/windmill-db-devel/395/07:48
lifelessstub: funky test failure07:49
StevenKlifeless, stub: http://pastebin.ubuntu.com/627812/07:49
wgrantInternedString? :)07:49
StevenKHm?07:50
lifelesswgrant: diaf ? :>07:50
wgrantlifeless: :(07:50
wgrantI was only partially joking.07:50
lifelessI know. Uhm.... needs thought.07:50
stubBinaryPackageReleaseContentsFilename.... bleh07:51
lifelessand I have a virus or someshite07:51
StevenKstub: BPRCF makes me sad07:51
wgrantShould I be concerned that I immediately wondered if you were running Windows, and didn't consider it might be a biological entity?07:51
StevenKI've gone with BinaryPackagePaths07:51
stubIt makes me sad two. In hindsight, there would be common acronyms we use like SPR, BPR, SPN07:51
wgrantBut Code destroyed SPR.07:52
StevenKThis gives us BPP and BPRC07:52
StevenKThey overloaded it07:52
lifelessStevenK: how about PRC ?07:58
* lifeless just wants to get country codes into the codebase07:58
StevenKPackage is ambiguous.07:59
lifelessyes, but it would be such a cool acronym08:05
StevenK"Meh" :-P08:07
StevenKlifeless, stub: Changes pushed, diff updated08:07
lifelessstub: I don't see those tests08:32
stublifeless: eh?08:32
lifelessyou had 3 failures08:32
lifelessonly one of the tests matches a -t parameter to bin/test08:32
lifelessstub: anyhow, lib/canonical/launchpad/doc/unicode_csv.txt passes for me08:37
stubHmmm... and I thought it was weird just because the tests were totally unrelated...08:37
lifelessstub: does it pass locally for you ?08:37
lifelessah, I've got the test_encryptor one to run08:37
lifelessok, all three pass08:38
LPCIBotProject devel build #810: STILL FAILING in 5 hr 35 min: https://lpci.wedontsleep.org/job/devel/810/08:38
lifelessit could be a dependency skew, or a locale thing08:39
stubStevenK: bprc.path.path :-(08:40
stublifeless: yes, unicode_csv.txt passes locally08:40
StevenKunicode_csv.txt also fails in Jenkins08:41
stubAhh...08:41
lifelessdid the test environment change recently or something?08:41
lifelesslike, did someone make the VMs run with a UTF8 locale?08:41
wgrantHmm, it only just failed now.08:42
wgrant"Failing for the past 1 build"08:42
StevenKstub: Yes, bprc.path.path makes me sad08:42
lifelessstub got a failure 9 hours back from ec208:42
stuband 4 hours before that too!08:42
wgrantHm. Jenkins lies.08:42
wgrantIt failed in 809 too.08:42
stubAnyone else seeing issues with ec2 test/land though?08:43
stubMaybe I'm the only one trying to use it for db-devel?08:43
lifelessstub: so, this is clearly unreleated.08:43
lifelessstub: lp-land time.08:44
wgrantI guess it's probably related to sinzui's YUITestLayer thing.08:44
wgrantBut I'm not sure when it first appeared...08:44
wgrantA-ha.08:45
wgrantYes.08:45
wgrantThose three tests first failed in the build with the new YUITestLayer.08:45
jtvlifeless, can I trouble you for a review?  It's nice & short: https://code.launchpad.net/~jtv/launchpad/bug-394645/+merge/6478708:51
lifelesswgrant: do you have a feeling for Time to fix?08:51
wgrantlifeless: NFI08:51
wgrantI can't even start the test suite now.08:51
lifelesswgrant: roll it back then, if you would08:51
wgrantgi.RepositoryError: Requiring namespace 'Gtk' version '2.0', but '3.0' is already loaded08:51
lifelesswin?08:52
lifelesswgrant: are you on oneiric or natty ?08:52
wgrantNatty.08:52
lifelessor lucid?08:52
* lifeless hugs his dev vm08:52
adeuringgood morning08:52
* stub wonders if we should use a view to hide bprc.path.path as an implementation detail08:53
jtvhi adeuring!08:55
adeuringhi jtv!08:55
jtvand hi dpm as well :)08:55
dpmhey jtv :)08:57
jmlgood morning08:58
jtvgood morning jml08:58
jmlI thought huwshimi would be around.09:02
jtvjml: your wish, mylord..?09:04
jml:P09:04
jmlhuwshimi: http://www.timeanddate.com/worldclock/meetingtime.html?day=16&month=6&year=2011&p1=165&p2=240&p3=-1&p4=-109:12
jmlhuwshimi: https://dev.launchpad.net/Projects/Disclosure09:17
mrevellHello!09:28
=== almaisan-away is now known as al-maisan
jmlmrevell: hi09:41
mrevellHello jml09:41
lifelessjml: bug 797697 is an example of bugs not quite fitting our critical rules, which I think should jump queue ... what do you think ?09:42
_mup_Bug #797697: Creating a bug in a private project via email does not make the bug private <Launchpad itself:Triaged> < https://launchpad.net/bugs/797697 >09:42
jmllifeless: looking.09:44
jmllifeless: I think it's a bug that doesn't quite fit our critical rules that should jump queue09:45
jmllifeless: as a practical matter, it might be addressed by the Teal squad sooner than a maintenance squad.09:46
rvbawgrant: bigjools Do you have a moment to talk about the duplication of binary packages in my multi parent initialization branch?09:48
wgrantHi.09:49
rvbawgrant: Hi William!09:49
bigjoolswgrant: we'd like you to expand on the comment you made in the MP that is still unaddressed09:50
bigjoolsif only I could find the MP09:50
rvbahttps://code.launchpad.net/~rvb/launchpad/init-series-bug-789091-devel/+merge/6367609:50
rvbabigjools: ^09:50
bigjoolsthanks09:50
bigjools"It seems to me that there's no binary de-duplication at all"09:51
jmlbigjools: btw, did you see bryce's email to launchpad-dev@ about Derived distros worksheet?09:52
jmljelmer: hello09:52
bigjoolsjml: I havenow09:52
jelmerjml: 'morning09:53
jmljelmer: how do you wish to communicate, mortal?09:55
lifelesswgrant: how do I put something in teals queue?09:55
wgrantbigjools, rvba: no_duplicates prevents source conflicts. It doesn't prevent binary conflicts, AFAICT.09:55
wgrantlifeless: Poke sinzui, I guess.09:55
wgrantlifeless: You could probably throw something on the board.09:56
rvbawgrant: correct.09:56
wgrantBut that's not really happened before.09:56
jelmerjml: by some magic coincidence, mumble or skype both appear to work for me at the moment. I'm already on mumble09:56
wgrantrvba: That's Really Bad™09:56
bigjoolswgrant: oh where difference sources generate the same binary09:56
wgrantbigjools: Or even the same source, right?09:56
jmljelmer: mumble hangs for me. skype?09:56
lifelesswgrant: bug 79808109:57
_mup_Bug #798081: unicode tests failing since yuitest landing <build-infrastructure> <Launchpad itself:Triaged by sinzui> < https://launchpad.net/bugs/798081 >09:57
bigjoolswgrant: same source?09:57
wgrantbigjools: The dedup code is in _clone_source_packages.09:57
wgrantThat does not provide input to _clone_binary_packages, AFAICT.09:57
jelmerjml: Sure - I'm jvernooij09:57
bigjoolsah ISWYM09:58
wgrantWhat, "that there's no binary de-duplication at all"? :)09:59
bigjoolsno, I was wondering about the "from the same source" comment09:59
bigjoolshaving not looked at that code for a long time10:00
rvbaI suppose I could add the same kind of trick that I used in _clone_source_packages to  _clone_binary_packages to avoid duplicates ...10:02
rvbaSince the copies are done in sequence AFAIUI10:02
rvbaAre the db constraints enough to ensure all is well?10:03
wgrantrvba: No :(10:04
wgrantrvba: They would be huge slow multi-table triggers.10:04
lifelessrvba: db constraints never are - because you'd trigger an exception in the db10:05
lifelessrvba: (at best)10:05
jmljelmer: http://launchpad.leankitkanban.com/Boards/Show/1272055310:06
lifelesssinzui: I've assigned a bug to you - its a yuitestlayer regression :(10:06
lifelesssinzui: making ec2 & jenkons fail10:06
jmljelmer: https://dev.launchpad.net/PolicyAndProcess/FeatureDevelopment10:07
rvbalifeless: wgrant: I think you misunderstood me: what I meant was: can I just take a look at the constraints of the binary package table and enforce those in the code?10:07
stublifeless: Any objections to a bzr branch to maintain database patch numbers, or would a wiki page be better?10:08
jmljelmer: https://dev.launchpad.net/Projects10:08
lifelessstub: We could just use trunk :)10:08
stublp:~launchpad/+junk/dbpatches ?10:08
rvbaI was not even thinking about letting the db do the job :)10:08
lifelessstub: but I have no objections to $whatever-you-want-to-do10:08
lifelessstub: there is a number on the policy wiki page10:09
stublifeless: Which trunk? devel or db-devel?10:09
lifelessstub: its a bit fiddly to edit10:09
lifelessstub: {yes} (db- for -0, devel for -!0)10:10
stublifeless: Yes. I want something better that is shared, and can't be arsed retrieving my google docs password.10:10
wgrantrvba: No :(10:10
stublifeless: no, we are not splitting our documentation on what we plan to land into two.10:10
rvbawgrant: hum ... after taking a look at the table there is no constraint ...10:11
wgrantrvba: There are far more complex constraints that cannot be feasibly enforced in the DB.10:11
wgrantrvba: Right, because it's cross-table.10:11
rvbawgrant: Right ... so, what do you reckon should be enforced on the data during the copy? What kind of "uniqueness"?10:12
wgrantrvba: A very good question, and the reason I didn't provide a more concrete answer in the review.10:12
wgrantrvba: We should ensure that there are no duplicates within the copy. If it's not a new archive, we also need to ensure there are no file conflicts with anything in the archive. And we should also ensure that there are no orphaned binaries.10:13
rvbawgrant: ok, a distinct should take care of "no duplicates within the copy"10:14
wgrantrvba: Probably, yes.10:15
rvbawgrant: what do you mean exactly by "no file conflicts"?10:15
wgrantrvba: I can't have two different foo_1.2-3_i386.deb files in the same archive.10:15
rvbawgrant: no orphaned binaries: I'll see what can be done ... but unless I'm mistaken bigjools sayed this is Bad But Not Too Bad™ ... at least for now.10:16
rvbaarf s/sayed/said/10:16
wgrantrvba: We really want to avoid initialising an archive into a bad state, I think.10:16
wgrantIt's not fatal, unlike the other two.10:16
wgrantBut it's not good.10:16
rvbawgrant: Understood ... but I'm not sure it's easy to do with a simple sql query10:17
rvbawgrant: and the initialisation already takes ages ...10:17
bigjoolsdistinct on the (name, sha1) I think10:17
LPCIBotProject windmill-db-devel build #396: STILL FAILING in 1 hr 16 min: https://lpci.wedontsleep.org/job/windmill-db-devel/396/10:17
bigjoolsah yes StevenK, around?10:17
lifelessstub: anyhow, a +junk branch sounds fine, but I don't know if teams are permitted +junk10:19
stublifeless: It worked...10:19
lifelessstub: cool10:19
lifelessstub: can you subscribe me to the branch ?10:19
jelmerjml: One more quick question - do I keep the current LEP as is (since it's already approved), or can I remove the bits from there that I've moved to the new LEP?10:19
lifelessstub: also I had an idea10:19
jmljelmer: remove the bits. leave it as RTC10:19
lifelessstub: can we remove the INSERT INTO LaunchpadRevision ... line from patches ?10:19
lifelessstub: and have the applying wrapper supply it ?10:20
jelmerjml: thanks10:20
jmllifeless: teams are permitted junk.10:20
adeuringbigjools: ping10:21
rvbawgrant: bigjools I think I've enough to get going with this duplication thing ... thanks.10:23
bigjoolsadeuring: hello10:23
bigjoolsrvba: great10:23
adeuringbigjools: do you have to talk about bug 793630?10:23
stublifeless: Yes, but there were reasons I had it in there explicitly.10:23
_mup_Bug #793630: better cronscript setup: remove hard-coded paths from cronscripts/publishing/cron.base-ppa <Launchpad itself:Triaged> < https://launchpad.net/bugs/793630 >10:23
lifelessstub: do they still apply? Is the trade off still worth it?10:24
stublifeless: I like having it encoded in the content for when things get passed around or applied through means other than update.py10:24
stublifeless: Also, it is a bit of a checksum against typos and the version number is important.10:25
stubc/version/patch10:25
lifelessstub: it being important is why I'm wondering about removing the duplication10:25
StevenKbigjools?10:26
stubRemoving duplication means scope for error when it needs to be manually entered, such as when I'm applying a db patch live at 4am while drunk.10:26
stubc/when/if :-)10:27
lifelessstub: there seem to be a -raft- of issues in that proposition :010:27
stubSo I don't think the duplication solves anything, but I think it helps a little.10:28
stubAnd I don't think the overhead is bad and ensures any patch renumbering is done carefully.10:29
lifelessstub: does upgrade.py cross-check the patch number?10:30
stubyes10:30
lifelesskk10:30
stubIt was deliberately done this way, but I have no idea if my original reasoning matches my current reasoning.10:31
adeuringbigjools: ?10:31
bigjoolssorry had a call10:31
rvbabigjools: I see a sha1 field only in libraryfilecontent ... and I'm not really sure how to find those from binarypackagepublishinghistory ...  I suppose making sure (binarypackagename, version) of the related binarypackagerelease is another way to avoid this kind of duplicates ...?10:32
bigjoolsStevenK: I wanted to chat briefly about where the packagecloner could be going slow, I think you identified it as the slow bit in IDS right?10:32
bigjoolsadeuring: let me take a quick look10:32
StevenKbigjools: Yes, it's the package cloner. But I have no idea about its internals10:33
StevenKbigjools: Perhaps it's the .createMissingBuilds() calls10:33
bigjoolsStevenK: ok.  it's a job for a PG expert then :)10:33
bigjoolsStevenK: no, on DF I observed a VERY long INSERT10:34
wgrantStevenK: But IDS shouldn't be using createMissingBuilds10:34
wgrantDF SPPH (I think) inserts often take a long time.10:34
wgrantYou can see it in p-u too.10:34
wgrantCreating PENDING publication record.10:34
wgrant[... wait for a couple of minutes]10:34
StevenKThe PackageCloner calls .createMissingBuilds()10:34
wgrantBut it's possible cMB.10:34
bigjoolsit was BPPH10:34
bigjoolsrvba: one sec, the join is easy10:35
bigjoolswhat['s the normal way of scripts finding the root of the code tree?10:36
StevenKcanonical.config.root ? Or something?10:36
bigjoolsin a shell script10:36
bigjoolshmmm it comes from the crontab I think10:37
StevenKpwd?10:37
bigjoolsadeuring: so, in this case I think we need to shift the definition of LPCURRENT to something that comes from the crontab10:37
rvbabigjools: yeah, but if we can avoid joining too many tables it's all for the best so my question is: is the uniqueness of binarypackagerelease(binarypackagename, version) sufficient?10:37
bigjoolsrvba: no it's not10:38
adeuringbigjools: yeah, that's what wanted to ask: the regular config stuff would result in a hen/egg problem, wouldn't it?10:38
bigjoolsrvba: BPPH -> BPR -> BPF -> LFA10:38
rvbabigjools: ok, thanks!10:38
bigjoolsadeuring: LPCONFIG is already set in the crontab10:38
bigjoolsadeuring: unless you can get config.root out in bash?10:39
bigjoolsrvba: I hope hose abbreviations make sense :)10:39
rvbabigjools: I think it's going to be ok ;)10:39
adeuringbigjools: we could switch to a python script.10:40
StevenKstub: You said both columns in BPRC should be NOT NULL -- they're both in the primary key, so it shouldn't be needed?10:40
bigjoolsadeuring: yes, we already did that for the ubuntu wrapper10:40
bigjoolsadeuring: the base-ppa is sourced from less cronscripts/publishing/cron.publish-10:41
stubStevenK: Yes, but I like being explicit. We don't want to change the primary key constraint in the future and lose the implicit NOT NULL10:41
bigjoolsppa10:41
StevenKstub: Fair enough, I shall add it.10:41
bigjoolsadeuring: let me try that again!  it's sourced from cronscripts/publishing/cron.publish-ppa10:41
adeuringright10:42
adeuringand that's done in two scriptd.10:42
bigjoolsadeuring: which is a trivial bash script that calls three python scripts in turn10:42
stub(Not sure if it matters here - just consider it lint)10:42
adeuringbigjools: right, but there is no scriptactivity logging, at least for one of the scripts10:42
bigjoolsadeuring: the cron.daily-ppa does some cleanup10:42
adeuringso another reason to change to apython script10:42
bigjoolsadeuring: there is scriptactivity10:43
bigjoolsfrom the 3 python scripts10:43
bigjoolsthat's what matters10:43
adeuringin cron.daily-ppa?10:43
bigjoolsnot that one10:43
stublifeless: So 0mq looks really cool and reading the docs well worth while, even if it becomes clear it doesn't meet some of our existing use cases without development work.10:43
bigjoolsthat one's not critical10:43
adeuringok10:43
stublifeless: The authors also share some of my opinions on HA setups, and argue some points better than I do.10:44
adeuringbut still: If the wrong value of LPCURRENT was a problem, why not define it in the regular configuration?10:44
stublifeless: But if we want a queue with persistence that survives restarts, we would need to implement it in 0mq (they provide designs and most of an implementation in the docs), stick with rabbit, or go with kestrel or activemq or something.10:45
adeuringbigjools: can we talk on mumble about it?10:47
lifelessstub: yes, thats true10:48
lifelessstub: gavin seems to have some traction on rabbit10:48
stublifeless: Cool. If he has no luck next week, I'll implement a trivial messaging system with PG that we can swap out for something better later.10:50
lifelessstub: hmm, given our initial use cases don't need persistence, I'd suggest holding off10:50
lifelessstub: Its up to you, but I think there are other things more pressing for us10:51
stublifeless: I mean if we can't get rabbit stable in the test environment, I can throw together a simple high level API backed by PG that will work and allow us to do basic messaging while we work out the low level details.10:54
stubIt won't advertise itself as being reliable or persistent, because we may well swap the implementation for something unreliable and ephemeral.10:55
lifelessstub: sure, thats what I thought you meant10:55
stub0mq does look ideal for centralised logging though10:56
stubAnd centralised OOPS collecting10:56
stubLets us kill OOPS prefix too10:57
lifelesswe can kill the prefix by changing the naming to a hash of the oops file10:58
stubOr we can keep them short and have the id allocated by the OOPS collector10:58
lifelesswe need the name allocated on the server if we want to show the id to the user even if the collector is down10:58
stubWe can have multiple collectors10:59
lifelessstub: yes, but that won't help when the collector is 'down' due to network issues10:59
allenapOr use base64.urlsafe_b64encode(uuid.uuid1().bytes).rstrip("=") for the OOPS number.11:00
stubturtles all the way down11:00
lifelessstub: hah yes.11:00
stubIf the network is having issues bad enough to not submit an OOPS, I'd argue the OOPS is just noise.11:00
lifelessstub: I guess my basic thinking here is that its better to have fire-and-forget during error handling11:00
lifelessstub: actually I care a great deal about oopses at such times; short-transient-network glitches are hell to diagnose11:01
lifelessstub: lots of data is a big win11:01
allenapstub: I'm 90% confident that I've found the source of the Rabbit fixture problems we were having.11:01
stubOk. So we could fallback to using a UUID if the OOPS server can't reply immediately.11:01
lifelessstub: wouldn't it be simpler to just have one way of doing it that is reliable-by-approach  ?11:01
stuballenap: Yay :)11:01
stublifeless: I like short OOPS numbers. The ones we have are already too long. They are human readable codes.11:02
lifelessstub: Why does human readable matter?11:02
stubBecause we see them all the time in bug reports, we paste them into IRC sessions, we email them, we might even end up memorizing some of them.11:03
lifelessall of those are robustly copy-pastable11:03
bigjoolsallenap: yay!11:03
lifelessexcept memorising & speaking11:03
bigjoolslifeless: I really want us to sort out a MQ strategy because I intend to do the long poll stuff in Dublin11:04
stubAnd having to cut and paste is suckier than having the option of cutting and pasting, and a 40 character id is going to be less readable than a 6 character id when embedded into a bug report.11:04
=== allenap changed the topic of #launchpad-dev to: Performance Tuesday ! | https://dev.launchpad.net/ | On call reviewer: allenap | Critical bugs: 202 - 0:[######=_]:256
lifelessstub: when was the last time you spoke an OOPS ID ?11:04
lifelessbigjools: yes, I know :(.11:05
bigjoolslifeless: I am assuming it's going to be Rabbit11:05
stublifeless: Can't recall, but I'm sure I've had them read out in skype conversations.11:05
stubMaybe as I used to do standups with the QA team11:05
lifelessstub: a prefix match will support reading-out easily - just use the first 6 digits11:06
lifelessbigjools: well, as I said in prague, lets unblock and use it.11:06
lifelessbigjools: just not [for now] for persistent data; your use case doesn't need that.11:07
stubWhich is still suckier than just being able to read the whole code.11:07
lifelessstub: all things are tradeoffs11:07
stubWe can do client generated oops codes, but they are less usable than server allocated codes.11:07
bigjoolslifeless: exactly11:08
=== al-maisan is now known as almaisan-away
stubAnd usability matters as they are the interface between humans and our qa databases.11:08
stubI don't think we want to throw away that usability for pathological situations, given there will always be a more pathological situation we will never be able to cope with11:09
lifelessstub: I agree that usability matters; I am not at all convinced that modest length is an issue11:09
stub(oops... disk full... )11:09
lifelesswgrant: can you put a link to the damaged feed in https://bugs.launchpad.net/launchpad/+bug/78942 ?11:10
bigjoolsallenap: so what is the rabbit issue you found?11:10
bigjoolslifeless: why does the rabbit fixture double-fork?11:12
allenapbigjools: See my reply to "rabbit, where art thou?" in launchpad-dev. I think it's a race between rabbitmqctl and the rabbit server to create the cookie file.11:12
lifelessbigjools: thats how U1 do it11:12
bigjoolslifeless: why does U1 make the rabbit fixture double-fork? :)11:12
lifelessbigjools: I made the minimal changes on the assumption their code had reasons to be the way it was.11:12
bigjoolsit seems - odd11:12
wgrantlifeless: Their discontinuation was announced three weeks ago.11:12
bigjoolsand there's no comments11:12
lifelessbigjools: no tests and no docs make answering that hard.11:12
bigjoolsquite11:13
bigjoolshaving seen some other Python projects recently I really appreciate our coding standards11:13
lifelessstub: I've a few bugs that contributed to downtime post bugsummary; would you look at them for me?11:13
wgrantI questioned the double-fork when I semi-reviewed it. But decided it was better to get the code in and iterate.11:13
lifelessstub: and how would you like me to put them in your queue.11:13
bigjoolsallenap: ah ok, I am currently ploughing through 25 unread messages in that thread11:14
allenapwgrant: I have a branch that removes the double-fork and uses subprocess.11:14
wgrantallenap: Excellent.11:14
bigjoolsyay!11:15
wgrantallenap: Does it remove any of the other crapness?11:15
wgrantThis crapness may include bad style, and not working at all.11:15
bigjoolsyou'd think that U1 would get this race too11:15
allenapwgrant: I hope so... :)11:15
allenapwgrant: I'll get it landed, today hopefully, and I promise not to mind if you improve on that :)11:16
wgrantallenap: I fear the improvement will be to disable the test again, but I can hope I'm wrong :)11:17
allenapwgrant: Ah, I think I've figured out the cause of the problems.11:17
wgrantI saw that.11:17
lifelessbigjools: they probably do occasionally11:21
lifelesswgrant: which were discontinued?11:25
wgrantlifeless: http://feeds.ubuntu-nl.org/MaverickChanges11:27
lifelessok, so wontfix ?11:29
wgrantNo.11:29
wgrantNot necessarily.11:29
wgrantWell.11:29
wgrantThe redirects are still broken.11:29
wgrantI don't know of any remaining non-antique sources of those URLs.11:29
lifelessbut nothing outputs that url11:29
lifelessright11:29
lifelessI'm going to close it; if someone finds an active source we can reevaluate11:29
wgrantSounds good.11:29
lifelessstub: please ping when you are bakc11:32
stublifeless: back11:42
lifelesscatchup call ?11:43
stublifeless: Give 'em a tag (dba is fine), or assign them to me.11:43
lifelessstub: i've tagged em ops11:43
stublifeless: Sure, but needs to be quick. I need to go buy some UK power adapters.11:44
lifelessstub: there are 3; the fourth ops a maintenance squad will get11:44
lifelessstub: kk, skype?11:44
* stub boots his laptop11:44
lifelessclearly not 5 second boot :)11:46
bigjoolswgrant: can I borrow your brain and eyeballs for a bit please11:51
wgrantbigjools: Probably.11:51
bigjoolshttp://pastebin.ubuntu.com/627895/11:51
wgrantaaaaa11:51
bigjoolsI wrote that test for the SPR.getBuildByArch problem and it passes unexpectedly11:51
bigjoolsI've been staring at it too long to see why11:52
wgrantbigjools: You're sure that derived_series is in a new distribution?11:53
wgrantI mean, it looks like it should be, but still.11:53
wgrantOh.11:53
wgrantThe binary is published.11:53
wgrantThat would do it.11:53
bigjoolssorry, why?  I am feeling particularly slow today11:54
wgrantbigjools: IIRC getBuildByArch looks for anything published first.11:55
wgrantOtherwise copies would duplicate builds.11:55
wgrantLet me check.11:55
wgrantYes.11:56
wgrantIt queries for any binary publications, and returns the single build that produced them.11:56
wgrantOnly afterwards does it do the whole-archive match on (spr, archtag)11:57
bigjoolsmeh11:59
bigjoolsthanks.  I am blind11:59
=== henninge is now known as henninge-lunch
bigjoolswgrant: hmmm wait though12:01
bigjoolsit's looking for publications in the passed DAS12:02
wgrant:(12:02
wgrant do_copy(12:02
wgrant+            [parent_source_pub], derived_archive, dsp.derived_series,12:02
wgrant+            PackagePublishingPocket.RELEASE, include_binaries=True,12:02
wgrant+            check_permissions=False)12:02
wgrantYou copied binaries.12:02
wgrantThere are pubs :)12:02
bigjoolsyes the intention was to copy binaries12:03
bigjoolsto get the build from the parent12:03
wgrantYes.12:03
wgrant21:02:01 < bigjools> it's looking for publications in the passed DAS12:03
wgrantIs that a surprise?12:03
bigjoolsgah12:03
bigjoolsso none of this may be a problem at all12:04
wgrantWell.12:04
wgrantMaybe.12:04
bigjoolswtf would someone query for a build, passing in a context where it's not published12:04
wgrantWell.12:05
bigjoolswell :)12:05
wgrantThis works to get a failed build from the source of a copy.12:05
wgrantI'm not sure it's ever used for that.12:05
bigjoolsI think I am going to invalidate this bug because the scenario I was concerned about is not a problem12:06
bigjoolsI might keep my test though :)12:06
wgrantA good plan.12:07
* bigjools sighs at the headset volume control STILL controlling the speak volume12:08
bigjoolsspeaker*12:08
LPCIBotProject windmill-devel build #233: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-devel/233/12:17
* bigjools grumbles at patch 7512:29
=== almaisan-away is now known as al-maisan
wgrantbigjools: Is that the bugsummary expansion?12:33
bigjoolsyeah12:34
bigjoolsdf is going to be busy for a while12:34
=== henninge-lunch is now known as henninge
LPCIBotProject db-devel build #640: STILL FAILING in 6 hr 20 min: https://lpci.wedontsleep.org/job/db-devel/640/12:50
wgrantjelmer: Your fix QAed fine. Thanks for the quick work.12:58
LPCIBotProject windmill-devel build #234: STILL FAILING in 41 min: https://lpci.wedontsleep.org/job/windmill-devel/234/12:59
jelmerwgrant: awesome - thanks for pinging me about it12:59
* bigjools holds on to desk while overflying Chinook shakes the office to bits13:00
jelmerwgrant: is there any way to easily notice that a new revision has been deployed on staging?13:00
wgrantjelmer: If the rev needs QA its bugs will be tagged qa-needstesting once it's on (qa)staging.13:00
wgrantjelmer: But rollback= revs don't need QA, so that didn't happen here.13:01
jelmerwgrant: I knew about qastaging, but do deployments to staging happen at the same time?13:01
wgrantAnd this can only be QAed on staging, because qastaging has no importds yet :(13:01
wgrantNo.13:01
wgrantIt's separate.13:01
wgrantBut it normally happens within a couple of hours of db-stable tip changing.13:01
jelmerwgrant: That's useful to know - thanks13:02
jtvHas anybody else been seeing failures on the unicode tests in PQM that don't happen locally?13:06
wgrantjtv: Yes.13:07
wgrantThere are three. Ignore them for now. sinzui's YUITestLayer changes somehow break them.13:07
jtvThanks!13:07
wgrant(but not on buildbot, and not locally)13:08
lifelesshmm, bugsummary 2 isn't on staging yet ;(13:09
wgrantrenamed: lib/lp/bugs/stories/bugs/xx-bug-personal-subscriptions.txt => lib/lp/bugs/stories/bugs/xx-bug-personal-subscriptions.txt.THIS13:13
wgrantdanilos: ^^13:13
wgrantr1324313:13
daniloswgrant, :/13:13
daniloswgrant, I'll land a fix for that (it's supposed to be removed)13:13
wgrantAlso, 12k-line unflagged changes on fragile code upset me.13:13
wgrantBut OK.13:13
daniloswgrant, what do you mean with "unflagged"?13:14
StevenKNon-feature flagged13:14
danilosah13:14
wgrantSo there is no escape.13:14
daniloswell, I am not disagreeing with that, but 4k of those lines are removals, and another 3k are the actual feature flag removal13:14
wgrantBranches are cool :)13:15
daniloswgrant, yeah, it was all spread out in like 8-9 branches, but for easier "escape", we did it as one branch13:16
daniloswe landed it as one branch13:16
daniloswgrant, btw, are you reverting that revision or should I?13:19
wgrantdanilos: I'd prefer not to fix that move.13:19
wgrantIt is late here.13:20
daniloswgrant, it seems there's a bunch of PackageCopyJob failures, not sure what they are about13:20
daniloswgrant, right, just checking, thanks13:20
wgrantOh.13:20
wgrantWhat?13:20
wgrantPackageCopyJob failures? Where?13:20
wgrantHuh.13:20
daniloswgrant, buildbot run that's just ending for my rev: https://lpbuildbot.canonical.com/builders/lucid_lp/builds/1048/steps/shell_6/logs/summary13:20
danilostests, not production :)13:20
daniloswtf, "NameError: global name 'ISourcePackageNameSet' is not defined"13:21
wgrantThis is why we don't land 12000 line revisions.13:21
wgrantThey are unreviewable.13:21
wgrantAnd un-QAable.13:21
wgrantAnd... they do that.13:22
wgrant:)13:22
daniloswgrant, well, these same tests fail for me in devel13:22
danilosnot sure how it got through ec2 :/13:22
spivLand 13000 line revisions instead.  13k is a lucky number!13:22
danilosspiv, good point, thanks13:22
wgrantdanilos: Yes, there was a merge issue somewhere. :(13:23
wgrantThey are less bad if you review every diff before you land them. Or if people are watching diffs as they land. Which is a bit impossible when they are so huge :/13:23
daniloswgrant, yeah, I'll have to revert and look into it13:23
wgrantThanks.13:24
wgrantAlso, one of the MPs that was merged was rejected, which is somewhat concerning.13:24
wgrantI'm not sure you merged what you thought you did.13:24
daniloswgrant, was it? which one was that?13:25
wgrantdanilos: You can't land the FF removal first?13:25
wgranthttps://code.launchpad.net/~benji/launchpad/bug-784575-message/+merge/6215713:25
wgrantSomething like that landed on db-devel last month.13:25
daniloswgrant, well, that seems to have been included in a different branch from Benji then13:25
danilosI am guessing the problem with packagecopyjob merge is that someone reverted something using patch instead of bzr merge13:27
wgrantdanilos: Reversions are just patches.13:28
wgrantdanilos: Since they are cherrypicks, which aren't tracked in the DAG.13:28
daniloswgrant, doesn't bzr track them (I've had bzr nicely recognize a reverted *revision* before and not worry about it, so I thought it was smarter than that)13:28
wgrantdanilos: No.13:28
daniloswgrant, that's surprising13:28
wgrantA little.13:29
wgrantBut it normally works fine.13:29
spivWell, a commit of a revert is a "rich patch" if you like, in that it copes with renames and deletes a little better than a raw diff/patch.13:31
wgrantTrue.13:31
spivBut there's no record kept in the revision graph to indicate the fact that a particular revision has been undone.  But as you say mostly things work fine without explicitly tracking that.13:32
=== Ursinha-zzz is now known as Ursinha
LPCIBotProject windmill-devel build #235: STILL FAILING in 40 min: https://lpci.wedontsleep.org/job/windmill-devel/235/13:40
danilosspiv, oh, and I thought "bzr merge" (and especially "-r" option) did more than that13:40
spivdanilos: usually it does13:42
danilosspiv, but specifically not for "-rREVNO..REVNO-1"?13:42
spivdanilos: but giving it a reversed revision range is a cherrypick13:42
danilosspiv, right, understood13:42
spivdanilos: at a low-level each revision has a field to record a sequence of one or more parent revisions13:43
spivdanilos: and that's all the data kept for the revision graph13:43
jtvallenap: got time for a quick review?13:43
spivSo there's no way to represent "oh actually I took revisions 3 and 4 back out" in that structure.13:43
jtvIt's something I'm hoping to polish off very soon.13:43
spiv(and similarly no way to represent a cherrypick in general.  Just a statement that revision X includes Y and Z, and so transitively all the ancestry of Y and Z)13:45
danilosspiv, right, that's a shame, but if it mostly works fine, I guess it's no big deal13:45
spivOr if you like, if 'bzr qlog' can't plot it that relationship, bzr can't record it ;)13:45
danilosspiv, I generally attributed "smart" behaviour to it recording more data, but I guess it's intrinsic to the merge algorithm (i.e. if I land a branch which includes a "reverted" change, that change generally is not re-applied on the landing; so, now I know to be a bit more wary of these things :)13:47
spivRight, because after all if someone commits a revert you probably want that change preserved :)13:52
daniloshum, I keep getting the test failures in my devel copy for PackageCopyJob tests, anyone else can confirm/dispute that?13:58
wgrantdanilos: Even after you've reverted it?14:01
daniloswgrant, well, I definitely had it earlier, but not with the revert now (I had it before I refreshed my devel to include r13243)14:02
jtvallenap: I've got a review I'm hoping to polish off very quickly before I leave… got time for it?  It's not big: https://code.launchpad.net/~jtv/launchpad/bug-798179/+merge/6481314:02
allenapjtv: Yes indeed.14:03
jtvGreat!14:03
wgrantdanilos: 13243 was clearly the cause. It removed the import.14:03
daniloswgrant, right, but I had it even without it, so it seems some of my devel merges have gotten that in (I, naturally, haven't touched the file)14:04
danilosthough, I was exclusively merging stable14:04
jtvso... you ran into that one as well?14:05
danilosjtv, so I am not the only one?14:05
jtvNope.  Missing ISourcePackageNameSet?14:05
jtvIn packagecopyjob.py?14:05
danilosjtv, or are you perhaps hitting it because of my recent landing earlier today?14:06
jtvNo idea… I thought I'd caused it but couldn't find where I'd done it.14:06
allenapjtv: Why do you need to call view.setupQueueList() explicitly in the test?14:06
danilosjtv, hum, my branch landed on r13243, can you please check if you have that in your revision history?14:06
jtvallenap: that initializes the batch navigator… is the call redundant?14:07
jtvdanilos: I do have the revision14:07
jtvotherwise I wouldn't have known we were hitting the same thing.  :)14:07
danilosjtv, heh, well, what I am asking is if you had that problem prior to that revision as well :)14:07
jtvOh.  I don't _think_ I did; I've been branching a lot these past few days and only hit it today.14:08
allenapjtv: Maybe not. I would assume that happens when you call the view. I mean, it *has* to happen IRL, outside of a test case, but perhaps there's something missing that means it's needed in the test.14:08
danilosjtv, that revision has obviously caused it, but I got it into my branches somehow without ever touching the file (so due to some weird merging, I gues)14:08
jtvallenap: why don't I just try it?  :)14:08
allenapOkay :)14:09
jtvdanilos: as if the revision that added it maybe got lost?14:09
danilosyeah14:09
jtvFrightening.14:10
jtvallenap: you're right — renders fine without.14:10
jtvPushing change.14:10
allenapjtv: Cool. r=me.14:11
jtvthanks!14:11
=== jcsackett changed the topic of #launchpad-dev to: Performance Tuesday ! | https://dev.launchpad.net/ | On call reviewer: allenap, jcsackett | Critical bugs: 202 - 0:[######=_]:256
jtvgood morning jcsackett14:13
jcsackettgood morning jtv.14:13
danilosit gets even better, I checked the branches I landed and *none* of them have changes in packagecopyjob.py file that my branch supposedly modifies14:21
wgrantdanilos: No warnings of criss-cross merges as you merge them?14:22
daniloswgrant, no, but some of them have been live for a few weeks already and they've been merged by other people14:23
daniloswell, had devel merged in by other people14:23
LPCIBotProject windmill-devel build #236: STILL FAILING in 44 min: https://lpci.wedontsleep.org/job/windmill-devel/236/14:24
danilosspiv, so, now that I reverted one change, if I want to land it and keep the revision graph, is there a way to do that? (considering it's a 12k line change, I'd like to keep actual revision log in the history)14:28
jtvallenap, jcsackett: I have one more candidate for review, but I'm afraid I can't stay around to answer questions.  It's a large-scale removal of an obsolete method: https://code.launchpad.net/~jtv/launchpad/post-394645/+merge/6482914:38
allenapjtv: I'll take it.14:39
jtvwonderful, thanks14:39
jtvallenap: I'm afraid I have no idea what to do about the pre-existing lint that I didn't remove.14:39
jtvI did land 7—8K of lint cleanup for those tests earlier though.14:39
jtv7—8K *lines of diff*, that is.14:40
allenapjtv: No worries, I'll ignore lint.14:40
jtvHmmm.  :)14:40
allenapBlimey.14:40
jtvYes, I've really been pushing it.14:40
jtvLazily continuing to let the tech debt pile up on soyuz didn't seem like the right thing to do somehow.  :-)14:41
spivdanilos: I'm not sure what you mean exactly by keep the revision graph14:41
allenapjtv: Agreed :)14:42
danilosspiv, well, "bzr log -n" should show the actual revisions14:42
jtvallenap: Anyway, I'll be off then.  Thanks again.14:42
spivRevisions are only added, not taken away14:42
allenapCheerio jtv.14:42
spiv(Unless you forcibly uncommit or push/pull --overwrite with an older revision)14:42
spivSo if you add a commit, you are strictly adding to history, not removing any of it.14:43
danilosspiv, well, if I try to "stupidly" remerge my branch into trunk (which now has a reverted change), my changes are ignored; basically, these revisions are already in the graph for the previous commit, so I guess bzr can't internally link to it either?14:43
spivRight, those revisions are already present.14:44
danilosspiv, and there is no way to indicate that revision I am committing includes changes from that revision? so basically, it'll be a simple "patch" again?14:44
spivIf/when you want to revert the revert, you can do just that: bzr merge -r REVERT_REV..REVERT_REV-114:45
danilosspiv, right, that's what I am doing, and losing all the subrevision history that the original commit had14:45
spivWhat does "it" in "it'll be a simple..." refer to?  The revision you are about to commit, or some other revision?14:46
danilosspiv, revision I am about to commit14:46
danilosspiv, ideally, it'd be a revision listing previously reverted revision as the parent, at least imho :)14:47
spivIn general: if "bzr st" shows "pending merges:", then the tips of those merges will be included as parents in the new commit.14:47
danilosspiv, (just wondering if that'd be at all possible and whether it makes sense, not a big deal)14:47
spivIt would be technically possible to have revision where one of the extra parents is in the ancestry of the left-hand (a.k.a. mainline) parent.14:49
spivI'm not sure if you can easily convince the CLI to create that situation, though.14:49
spivBasically, the short answer is: just say what you're reverting or unreverting in the commit message :)14:51
spivThat's probably going to be good enough :)14:51
danilosspiv, heh, right enough, so in theory it should be possible to create a cyclic revision graph in bzr? :))14:52
danilosspiv, anyway, sure thing, I'll be detailed enough in the commit message14:52
spivNo, I don't see how that allows cycles?14:53
spivA cycle would require a situation where you somehow make an older commit point to the new commit14:54
spivWhich I'm pretty sure is impossible with the CLI :)14:54
spivYou could of course construct all sorts of invalid data by hand.14:55
spiv(Or by abusing sufficiently low-level parts of bzrlib)14:56
LPCIBotProject windmill-devel build #237: STILL FAILING in 39 min: https://lpci.wedontsleep.org/job/windmill-devel/237/15:04
timrcjcsackett, hey I re-submitted my merge proposal[1] -- the original change I made broke Storm expressions using Archive.private, so I had to address that15:17
timrc[1] https://code.launchpad.net/~timrchavez/launchpad/set_ppa_private_from_api_724740-4/+merge/6484015:17
jcsacketttimrc: cool. i will look at it in just a moment.15:18
timrcjcsackett, cool, I spot checked some of the tests that were failing yesterday afternoon and am now running the full test suite right now15:20
rvbaallenap: jcsackett(hi!) Could you have a look at https://code.launchpad.net/~rvb/launchpad/initseries-no-arch-bug-795396/+merge/64843 ?15:23
allenapI'm doing a big review for jtv, going to be a while longer.15:24
allenapBut I can do it after that unless jcsackett has got to it :)15:24
rvbaGreat! (it's a tiny MP)15:25
bigjoolstimrc: ah you found your bug then?15:25
timrcbigjools, yah, abentley helped me out there... turns out using Python getter/setters breaks Storm expressions that use the attribute (e.g. Archive.private) -- I'm not entirely sure why, to be honest15:26
bigjoolsha!15:26
bigjoolsyeah it makes sense15:27
bigjoolsI didn't spot that.... doh15:27
bigjoolsgood job that one unrelated test caught that15:27
abentleytimrc: It's because Archive.private is a reference to the BoolCol class, but if you change it into a property, it's not.15:27
timrcwell there were a few failures and one error and that was the common thread15:28
timrcabentley, ah okay, yeah that makes sense15:28
timrcabentley, which is why using the Archive._private satisfies Storm15:29
abentleytimrc: right.15:29
jcsacketttimrc: only changes between this and the last version is the updates from using .private to ._private, yeah?15:35
timrcjcsackett, yeah15:39
adeuringallenap: fancy a review with a tiny diff? https://code.launchpad.net/~adeuring/launchpad/bug-793630/+merge/6484715:39
timrcjcsackett, I believe I caught all the instances where the change was needed, testing should confirm that (should)15:39
jcsacketttimrc: dig.15:40
jcsacketttimrc: this looks good; i've approved the mp.15:40
jcsackettyou said the full suite is running now?15:40
timrcjcsackett, great, thanks... yes full suite running15:40
jcsacketttimrc: sounds good.15:40
timrcjcsackett, will we have to re-test to land?15:40
jcsacketttimrc: generally i'm loathe to land without ec2 landing. how long have you had the suite running?15:41
timrcjcsackett, not very long, 20-30 minutes15:41
jcsacketttimrc: if you want to kill the current test run, i can send your branch out via ec2 to land now.15:42
timrcjcsackett, okay, sounds good15:42
jcsacketttimrc: cool. i'll send it out momentarily then. :-)15:42
allenapadeuring: Looks good.15:42
adeuringallenap: thanks!15:42
cody-somervilletimrc, terminating ec2 test15:43
timrcjcsackett, doh, you'll be mad at me... the merge proposal did not include the "note" explaining the lint's failure to recognize the correctness of the way I implemented the getter/setter... what shall we do? http://paste.ubuntu.com/628006/15:52
jcsacketttimrc: if you want to push that change up, it's fine. i've had to do a quick update and link your branch to the bug it's fixing, so i'm just now at issuing the land command.15:54
jcsackettpush up the change with the comment, and then i'll send it out.15:54
timrcok, doing so now15:56
LPCIBotProject windmill-devel build #238: STILL FAILING in 40 min: https://lpci.wedontsleep.org/job/windmill-devel/238/15:56
timrcjcsackett, okay, think everything is there now -- thanks for your patience!16:03
jcsacketttimrc: looks good. sending it off now.16:09
jcsackettshould it fail, you'll get the traditional email telling you things are broken. :-)16:09
timrcjcsackett, sounds good, thanks16:09
jcsackettrvba: i'm looking at your branch now.16:15
rvbajcsackett: thanks!16:16
flacosteallenap, jcsackett: https://code.launchpad.net/~flacoste/launchpad/bug-797917/+merge/6485216:27
flacosteshould be a quick review16:27
flacostepretty please :-)16:27
allenapflacoste: Okay, you ask so nicely :)16:27
flacostethanks allenap16:28
=== al-maisan is now known as almaisan-away
allenapflacoste: r=me16:34
flacosteallenap: thanks!16:39
flacosteany vim users who integrated make lint output? (so that I can use cn to go to all of them?16:40
=== salgado is now known as salgado-lunch
=== allenap changed the topic of #launchpad-dev to: Performance Tuesday ! | https://dev.launchpad.net/ | On call reviewer: jcsackett | Critical bugs: 202 - 0:[######=_]:256
=== NCommand1r is now known as NCommander
jmlI have to head off.17:03
jmlsee you all tomorrow17:03
maxbflacoste: Hello. What is the landing status of ~flacoste/launchpad/bug-797088 ? Thanks17:08
flacostemaxb: running through EC217:09
flacostemaxb: EC2 didn't love me yesterday, all my attemps failed in stalled bzr17:10
LPCIBotProject devel build #811: STILL FAILING in 5 hr 46 min: https://lpci.wedontsleep.org/job/devel/811/17:10
maxbAh, I did notice some conversation about that17:10
jcsackettrvba: comments on your diff; i think you can cut down the query count you boosted.17:10
rvbajcsackett: great, thanks. I'll have a look.17:10
flacostemaxb: with luck it will be deployed before tomorrow, otherwise, it will probably go to Sunday (antepodeans Monday)17:11
flacostemaxb: i could fix the Debian issue immediately though17:11
flacosteas this only requires chaning the maintainer team17:11
maxbI think most of the problems are SRUs wanting to create their natty-updates branches17:11
flacostethat requires my branch17:12
maxbRight - so no need to hurry on fixing just debian17:12
timrcI forgot to pay Amazon $10 for 2 or so years and now they are mad at me17:22
timrcneed to take it out to dinner and buy it flowers, I think17:22
timrcs/forgot/neglected/17:23
sinzuiflacoste, ping17:23
rvbajcsackett: thanks for your suggestion, I've fixed the branch.17:28
jcsackettrvba: r=me.17:30
jcsackettand i concur that ordinarily is_empty is better. :-)17:31
rvbathanks!17:31
sinzuihands up who knows how to set/force the default encoding in python. My use of sys.setdefaultencoding('ascii') does not seem to work.17:47
=== salgado-lunch is now known as salgado
LPCIBotProject db-devel build #641: STILL FAILING in 5 hr 27 min: https://lpci.wedontsleep.org/job/db-devel/641/18:18
flacostehi sinzui18:28
sinzuiflacoste, I was struggling with an import issue. importing gtk sets python's default encoding to utf-8. barry has been helping me.18:29
sinzuiflacoste, I am going to trying reload(sys), the only known way to correct the corruption18:30
sinzuimy next choice is to make lucid run modern gtk18:30
flacosteis this related to the the UnicodeEncodeError test failures?18:33
sinzuiflacoste, yes it it. I updated https://bugs.launchpad.net/launchpad/+bug/798081 to report my findings18:39
_mup_Bug #798081: unicode tests failing since yuitest landing <build-infrastructure> <Launchpad itself:Triaged by sinzui> < https://launchpad.net/bugs/798081 >18:39
flacostesinzui: that would explains the error i got back from ec2test18:40
flacostesinzui: but it doesn't seem to tbe a problem from buildbot though?18:40
sinzuiflacoste, It wont be cause my rt is not closed18:40
flacostedid somebody took care of the buildbot failure that happened earlier?18:41
flacostei see a testfix and a remerge from danilo18:41
flacosteis that it?18:41
flacostesinzui: ah, ok18:41
flacostesinzui: so it's only a problem for ec2test18:41
flacostewhich means i can safely submit my branch18:41
sinzuiI can remove my ami so that the import is not used18:41
sinzuiflacoste, you certainly can submit18:44
derycksinzui, hi.  I get seg fault running YUI layer tests.  About 6-7 tests into the run.18:50
derycksinzui, anyone else reported this?18:50
bachi flacoste, i've got some questions about the fix for bug 77643718:53
_mup_Bug #776437: Enable ARM builders for PPA via API <api> <escalated> <not-pie-critical> <oem-services> <ppa> <Launchpad itself:In Progress by bac> < https://launchpad.net/bugs/776437 >18:53
sinzuideryck, I have never seen this19:03
derycksinzui, hmm, I wonder what's happening for me then.  I updated developer deps.  Anything else required?19:04
sinzuino19:04
sinzuibut maybe I borked the deps19:04
sinzuideryck, are you on maverick?19:05
sinzuisorry natty?19:05
derycksinzui, natty, yes19:05
flacostebac: shoot, irc or voice?19:07
bacskype?19:07
sinzuideryck, does dpkg-query -s python-html5-browser libwebkitgtk-1.0-019:07
sinzuiversion: 0.0.3-0~15-6 for html5browser and19:08
sinzuiversion: 1.4.1-0ubuntu1 for webkitgtk19:08
derycksinzui, hmmm, no, I get 1.3.13-0ubuntu2 for webkitgtk.19:10
cr3is rabbitmq used for anything other than testing in launchpad?19:10
derycksinzui, but the html5browser is right.19:10
sinzuideryck, that looks fine. I updated to oneiric so I am on a higher rev od webkit19:11
deryckah, ok19:11
sinzuideryck, my tree is a day old19:11
sinzuideryck, which is the last test you see run?19:12
sinzuideryck, test_subscription.html is test 7 in my list19:14
derycksinzui, it's always the 7th test, regardless of which test is run 7th.  test_filebug_dupfinder.html or test_subscription.html usually.19:16
derycksinzui, they don't seem to be run in the same order to me.19:16
deryckhmmm, yeah, a few runs here now confirm the order isn't the same, and the 7th test always dies.19:16
* sinzui runs tests with current tree19:16
sinzuideryck, can you pastebin the fault?19:17
deryckI didn't update today. this is update from yesterday.  wifi is very spotty here at velocity.19:17
derycksinzui, I'll try.  if pastebin will load.19:17
sinzuiI see test_lp_names timesout19:18
sinzuiso does test_bug_subscription_portlet19:19
sinzuiI expected the latter since it is a massive mosule19:19
sinzuimodule19:19
derycksinzui, here's a couple runs:  http://pastebin.ubuntu.com/628105/19:22
sinzuideryck, test_lp_names.js is in the old format. It never signals that the test is compelte19:22
sinzuiand  test_bug_subscription_portlet was reverted to the old format I think19:24
sinzuiSo the two failures I see are bad tests19:24
sinzuideryck, your failure is quite cryptic19:24
deryckah, ok.19:24
deryckthey run fine by themselves.19:24
deryckbut that should be easy enough to fix up, if they're old format.19:25
sinzuideryck, your tests always die in /bugs I see19:25
sinzuideryck, actually the test dies in the first bugs test each time19:25
sinzuiso maybe there is a teardown issue in the previous test suite (/app) or in bugs itself19:26
deryckah, interesting.  that makes sense.19:27
sinzuideryck, can you confirm this package is installed dpkg-query -s gir1.2-webkit-1.019:27
sinzuiI am also working on a fix for lucid's import for gtk from pygtk. I want to be certain you are getting the gir version of Gtk19:28
derycksinzui, yup, I have that installed.19:28
sinzuideryck, I am going to fix the lucid ec2 image first, then look at your segfault.19:29
abentleysinzui: Also, when html5browser is imported, it tries to inisialize gtk, and if that fails, it raises a RunTimeError, which breaks some of the TwistedJobRunner tests.  I'm moving the import to YUIUnitTestCase so we don't start gtk when we don't need it.19:30
derycksinzui, ok, thanks.  not meaning to create work for you.  just trying to work out what's up.19:31
sinzuideryck, this isn't a distraction. I really want this test framework to rock19:32
sinzuiabentley, thanks19:38
sinzuiI was pondering the same to solve the encoding breakage in gtk. This is not an issue with modern code that  imports from git.19:39
=== almaisan-away is now known as al-maisan
sinzuimaybe I should send another day trying to make lucid use gir properly19:39
abentleysinzui: we solved it the old-fashioned way in bzr-gtk.19:42
abentleysinzui: reload(sys); sys.setdefaultencoding()19:43
sinzuiabentley, that is what I added to lucid's import of gtk19:44
sinzuiabentley, gtk is only used in two Browser() methods. would moving the import into those mthods make eveyone happy?19:45
abentleysinzui: That would make me happy, but I suspect it would not fix the unicode issues.19:45
sinzuiabentley, the unicode fix is separate19:46
sinzuithe unicode issue is only lucid19:46
sinzuiI think the issue you bring up affects natty/oneiric19:46
abentleysinzui: It only affects systems where html5browser is installed, at least.19:47
sinzuiabentley, bzr-gtk does not work with gtk3.19:47
sinzuiI will learn more about how bzr-gtk solved the issue soon since I am creating a gtk3 branch19:48
sinzuiabentley, I do not see anything special about importing gtk in bzr-gtk20:01
sinzuiabentley, what twisted thing can I run in Lp to see the issue?20:01
abentleysinzui: bin/test -t test_timeout_short20:01
sinzuithanks20:02
abentleysinzui: the bzr-gtk code is wrapped around the test suite in /__init__.py20:02
sinzuihmm, natty does not use pygtk20:04
sinzuioh, I love the segfault though20:04
=== matsubara is now known as matsubara-lunch
sinzuiabentley, moving the import of html5browser into the one testcase that uses it is much easier than changing html5browser. importing anything form gir seems  to cause the problem20:32
LPCIBotProject windmill-devel build #239: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-devel/239/20:32
lifelessmorning20:33
abentleysinzui: I agree.  Hate modules with side effects on import.20:33
abentleylifeless: morning.20:33
lifelesssinzui: perhaps we should rollback the yui layer until these issues are fixed on a branch ?20:34
lifelesssinzui: ah, catching up with mail; I see its not run but is an import side effect20:36
lifelessflacoste: hi20:39
flacostehi lifeless20:39
lifelessflacoste: reviews: reducing inventory, OCR drive-to-zero thread: I'd like your opinion on us adding 'drive nearly-there non-paid-launchpad-hacker patches to zero by helping' to the CHR collection-of-duties; and 'please put things which are "tweaks" into state approved, and things which need rework into "WIP"20:41
lifeless(the last two items being for reviewers)20:41
flacostelifeless: -1 to adding to CHR20:42
lifelessflacoste: oh, and OCR to officially drive the 'needs-review' collection to zero20:42
flacosteOCR focus makes sense though20:42
flacostei can reply to the thread20:42
lifelessflacoste: so the reason I suggest the rotating squads get the helping aspect is because OCR is perhaps too short a turnaround20:43
flacostei see20:43
lifelessflacoste: 5 hour test run + followup : there will be lots of person-helping-churn if we ask OCR to do it.20:43
flacosteindeed20:43
lifelessflacoste: I would *like* to ask OCR to do it, but not -yet-20:43
flacostei'm still -0 on adding maintenance rotation responsibility20:44
flacostewe should ditch some if we want to add some20:44
lifelessflacoste: so instead asking a squad thats on for a week to do it would at least allow for continuity.20:44
lifelessflacoste: this is something we kindof have as a 'we should be doing' but its not structured well [because of the churn issue]20:44
lifelessflacoste: so I'd argue we are reducing churn on an existing todo item, not adding a whole new item.20:46
flacostemaybe, but i'm not sure that how it would be perceived20:46
flacostewe are adding a line item to their responsibility list20:46
flacostenow, the todo item is diffuse across the team20:46
lifeless(and doesn't happen)20:47
lifelessflacoste: ok, so concretely - we have 4 social things I think need to happen if we want to reach a 'merge proposals are reviewed quickly' state of nirvana; there are technical things we can do to change those social things but thats going to take longer to bring about.20:51
lifelessflacoste:  we need to make both approved and needs review lists in the lp-project/+activereviews page get driven to zero without it being frustrating for the folk doing the driving (2 items)20:52
lifelessflacoste: we need to move things that don't need another review when the next OCR starts to either WIP or approved or rejected (1 item)20:52
lifelessflacoste: ok so 3 things :).20:53
lifelessflacoste: how do we move forward with this ?20:55
lifeless(by which I mean resolve the bugs in the current process one way or another)20:55
flacostethe weekly reviewer meeting was the forum where these were resolved previously20:55
flacostewe could call one to discuss this20:56
=== al-maisan is now known as almaisan-away
flacostebac: ^^^20:56
* bac reads20:57
sinzuilifeless, I have a fix the the YUITestlLayer21:00
lifelesssinzui: great21:00
sinzuilifeless, I was hoping to make everything perfect, but that is not one branch :(21:00
sinzuilifeless,  the issue is only in the latest image. I will delete my lucid image in a few minutes, and make another one.21:01
lifelessgreat21:01
baclifeless, flacoste: we can have a reviewers meeting next week to discuss this.  i'm -1 on it becoming another CHR task.  point #3 is trivially done, just ensuring we remind people to do it.21:09
baci like the patch pilot idea but would like to see OCRs try to tackle it at the beginning of their day.  set a goal of trying to get one of the branches landed and see if we can drive it to zero21:09
flacostebac: we could also do this live in Dublin21:10
lifelessbac: That seems like it ignores the friction around landing things21:10
baclifeless:  perhaps we ask the OCRs on maintenance to claim at least one during their shift and see it through over the next couple of days.21:11
lifelessbac: we could; that is in tension with 'do project work' though21:12
lifelessbac: and we have a lot of experience that says that project work really crowds out, well, just about everything else.21:12
lifelessbac: I'd like us to learn from that experience21:12
bacflacoste: if we can keep the discussion focused doing it in dublin would make sense.  i don't want another ramble-ass discussion on reviewing.21:12
flacostebac: agreed, we can have a 1h reviewers meeting with an agenda21:13
lifelessflacoste: bac: I won't be there in Dublin; I will just raise these angles on the list thread and suggest we keep discussing it there.21:13
flacosteok21:13
baclifeless: ok.  thanks for bringing it up.21:14
lifelessbac: its my job :)21:14
LPCIBotProject parallel-test build #43: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/parallel-test/43/21:19
=== matsubara-lunch is now known as matsubara
LPCIBotProject windmill-db-devel build #397: STILL FAILING in 1 hr 5 min: https://lpci.wedontsleep.org/job/windmill-db-devel/397/21:38
allenapsinzui: I've recently started getting http://pastebin.ubuntu.com/628166/ when I try to use bin/ec2 land. It references your ec2 image (516). Any ideas?21:40
sinzuiallenap, I deleted that image 30 minutes ago21:40
allenapsinzui: Interesting! bin/ec2 images still reports that it's there.21:41
sinzuiallenap, That image has a version of html5browser that was changing the default encoding21:41
sinzuiallenap, okay, I deregistered the name21:42
sinzuiI think it is fixed now21:42
allenapsinzui: Yes, bin/ec2 images is happy. Thanks :)21:42
* flacoste concurs21:44
sinzuijcsackett, mumble?22:25
jelmermwhudson, hi22:29
mwhudsonjelmer: hey22:29
mwhudsondid i just leave the channel?  my machine was in a strange state when i got in to the office this morning...22:29
jelmeryou quit and rejoined twice, once because of "Remote host closed the connection", second time "Changing host"22:29
=== salgado is now known as salgado-afk
LPCIBotProject devel build #812: STILL FAILING in 5 hr 24 min: https://lpci.wedontsleep.org/job/devel/812/22:34
jelmermwhudson: I made some progress on the svn import thing today, hopefully will have a fix up tomorrow22:35
jelmermwhudson, I was also looking at some of the workermonitor code22:35
mwhudsonok so i guess x was running but just not displaying anything then :)22:35
mwhudsonjelmer: woo22:35
mwhudsonjelmer: does the problem have a simple description?22:35
jelmermwhudson, for the tags code?22:36
mwhudsonyeah22:36
jelmermwhudson: bzr-svn has a simple way to discover tags - it just looks at a portion of the log and keeps track of when tags were created and when they were added22:37
jelmermwhudson: usually it only does this for the fraction of the log related to the piece of history you're importing. So, about 5000 revisions22:37
mwhudsonah, but if you haven't imported tags before, it chews over everything?22:38
=== matsubara is now known as matsubara-afk
jelmerIt's now look at the entire history to discover tags, probably because of the way we look at the tags before actually fetching anything now22:38
jelmerthe tag discovery also uses way more memory than it needs to, which never was much of an issue but we can very well notice it now.22:40
jelmermwhudson, some of the values in CodeImportResultStatus don't appear to be used. Do you know if they ever were?22:43
mwhudsonjelmer: no, i think that was a big dose of big design up front22:44
mwhudsonin some ways it would still be nice to distinguish if e.g. it's the pull from escudero that's failing22:45
mwhudsonbut it's probably not worth the effort22:45
jelmermwhudson: I'll leave them in, I was just curious22:48
jelmermwhudson, I'm adding FAILURE_UNSUPPORTED_FEATURE and FAILURE_INVALID22:48
mwhudsonif you're looking for things to rip out, please remove CodeImport.updateFromData22:48
mwhudsonthat was definitely a mistake :)22:49
mwhudsonjelmer: ah right, signalled via different exit codes?22:49
jelmermwhudson, yep, exactly22:49
mwhudsoncool22:49
jelmerand determined by the exception classes22:49
mwhudsonwhat will failure_invalid mean?  connection refused, authentication required, that sort of thing?22:50
jelmermwhudson, yeah - ConnectionError, NotBranchError, PermissionDenied22:52
mwhudsonjelmer: something i've talked about before is that the review_status kinda represents two things: sort of an intention and a result22:52
mwhudsoni.e. reviewed == we think this should be imported22:52
jelmermwhudson: yeah22:53
mwhudsonfailed == we can't22:53
mwhudsonso really, FAILURE_UNSUPPORTED_FEATURE in particular should result in some kind of reviewed/failed combo22:53
jelmeryep22:53
jelmerHopefully that's the next step22:53
LPCIBotProject windmill-devel build #240: STILL FAILING in 1 hr 8 min: https://lpci.wedontsleep.org/job/windmill-devel/240/22:54
sinzuideryck, I would like to know if you still get segfaults when the changes I landed in devel.22:55
derycksinzui, sure.  are they in devel now?22:55
sinzuiyes22:55
jelmermwhudson: I would also really like to get rid of notion of what VCS you're importing from (and whether it's foreign or a mirror), that seems harder to fix though.22:56
derycksinzui, ok, let me see if I can get an update here.22:56
mwhudsonjelmer: yeah22:56
lifelessjelmer: welcome back to lp :)22:56
mwhudsonjelmer: really, the fact that Branch has columns to do with mirroring is wrong22:57
mwhudson(but very understandable, given history)22:57
lifelessIIRC it didn't use to; it got refactored to have them. IMBW22:57
jelmerlifeless: :)22:58
mwhudsonbefore my time then23:00
derycksinzui, so I get further now.  12 tests in.  re-running to see if it's consistent.23:02
maxbIf someone has a moment, could you check whether devel r13249 is likely to become deployable before the weekend?23:04
sinzuideryck, Since you get a segfault, is is still at the start of an new testcasde, such as bugs23:05
derycksinzui, no, it's a few test into bugs now.  and 12 does seems the consistent number, if 4 runs can be trusted.23:06
sinzuideryck, what of layer=BugsYUI23:07
* deryck tries....23:07
derycksinzui, that doesn't run any tests.  I thought you went with a single YUI layer anyway?23:07
lifelesssinzui: its probably fork() related23:08
sinzuioh yes, that was the testcase name :)23:08
lifelesssinzui: gui libraries and fork tend to have a hate-hate relationship23:08
sinzuiwhat for we fork?23:09
sinzuiWhy do not not see it?23:09
lifelesszope.testrunner forks whenever a layer that cannot be torn down finishes23:09
lifelessthe CA layer cannot be torn down23:10
lifelessmaxb: probability 023:10
lifelessmaxb: its not through BB yet23:10
sinzuimaxb, I think It could happen, I so not think we will have more than 5 things that need qa23:10
sinzuilifeless, is there no hope that matsubara-afk or Ursinha could do a release?23:11
lifelessRevision 13240 can not be deployed: needstesting, Revision 13243 can not be deployed: needstesting, Revision 13244 can not be deployed: needstesting, Revision 13248 can not be deployed: needstesting23:11
=== Ursinha is now known as Ursula
lifelesssinzui: doing a deploy on friday afternoon means we have no safety net23:12
sinzuiunderstood23:12
lifelesssinzui: we'd be deploying 30 revisions - a lot of work.23:12
maxbRight, thanks, that was what I was wondering - there's enough QA already pending before it that I shouldn't expect anything23:12
lifelesssinzui: which increases the likelyhood of needing the safety net23:12
lifelesssinzui: if we can get it done in the next couple of hours it should be fine - that would leave nearly 24 hours of losa coverage before EOW23:13
derycksinzui, so I got the bugs tests with -- ./bin/test -cvv --layer=YUI -m bugs -- and still get the seg fault.23:13
sinzuiI think qaing bug 772754 is a lot of work23:14
_mup_Bug #772754: After better-bug-notification changes, list of bug subscribers is confusing <qa-needstesting> <story-better-bug-notification> <Launchpad itself:Fix Committed by gary> < https://launchpad.net/bugs/772754 >23:14
lifelesssinzui: yes23:14
sinzuideryck, thanks. I think I need to add something brutal to the layer. deryck I suspect the issue may related to timeouts. Those tests are really slow23:15
derycksinzui, yeah, I was wondering that, too.  My new branch speeds them up, but maybe not enough.23:15
sinzuideryck, The test case does handle the 30 second timeout, but something else might be deciding hat the test is taking too long to rrin23:16
deryckall that dom redrawing is super slow.23:16
sinzuideryck, all tests passed for my in 43 seconds 30 minutes ago23:16
sinzuiBut I can see that the subscription tests are monsterd23:16
sinzuimonsters23:16
deryckyeah, they're pretty fast for me, too.  I was just trying to make them even faster.  cleaning up some of that waits stuff.23:17
sinzuirock23:17
deryckthe subscriptions tests are slow because of all the dom manipulation.23:17
deryckthat is slow and ugly for users too.23:17
sinzuiThere are a lot of testcase in those modules too.23:18
deryckyeah, agreed.  they are long tests.23:18
deryckok, back soon.  break time and changing session rooms.23:20
jelmerHmm, are those OOPSes for code imports still actually generated (and thus Critical bug worthy) ?23:23
mwhudsonbah, my login to devpad has been disabled again23:25

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