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

lifelessbah00:00
lifelessI selected a component of main00:00
lifelessstatus new00:00
lifeless5.53 seconds00:00
wgrantmain is tiny.00:00
wgrantDoesn't count.00:00
LPCIBotProject devel build #518: FAILURE in 4 hr 48 min: https://hudson.wedontsleep.org/job/devel/518/00:00
lifelessok00:00
lifelessuniverse works00:00
lifelessand its the - guess what - spph join thats the problem00:03
wallyworldsinzui: if you are still online, can you tell me how to construct a PrettyOverlay but with a different BOUNDING_TEMPLATE. I'm not sure how to override the default one00:03
sinzuioh.00:04
sinzuiThat just went over my head. I think I got a nose bleed thinking about it00:04
wallyworldsorry :-)00:04
wallyworldi want to replace the close (x) with a pair of (tick) (cross) buttons00:05
wallyworldsince the user needs to be able to poke some widgets on the overlay and then either accept or cancel00:05
wallyworldi could get the close div after construction and insert a new node00:06
wallyworldthat would do it00:06
lifelesswgrant: whats silly is that we get back no packages00:07
wgrantgetBuildRecords is a mess :(00:07
wgrantlifeless: ... oh?00:08
lifelesswgrant: see actual time=0.011..0.011 rows=0 loops=1276160)00:09
lifelessperhaps thats just misleading00:09
lifelesswe do get 76 bugs00:09
=== Ursinha-afk is now known as Ursinha
wgrantUrsinha: Hi.00:10
Ursinhahi00:11
Ursinhait's carnaval, so this might be an automated response :P00:11
wgranthaha, OK.00:11
Ursinhawgrant, what's going on?00:12
thumperwallyworld: I'll take a look00:12
wallyworldthumper: ta00:12
wgrantUrsinha: I was just wondering what sends the daily error reports these days. launchpad-errors-yesterday in lp:oops-tools seems to be out of date.00:12
* Ursinha checks lpqateam's crontab00:13
lifelessUrsinha: is matsubara_ around ?00:13
Ursinhalifeless, unlikely, 9pm of a carnaval's tuesday night00:14
lifelessheh, ok :)00:14
Ursinhawgrant, so, it's a script called report (heh)00:15
Ursinhagenerated automatically by oops-tools00:16
Ursinhawgrant, why?00:16
Ursinhalifeless, do you need something specific?00:16
lifelessUrsinha: I have a oops tool merge proposal, hadn't heard anything in a few days00:17
wgrantUrsinha: I want to change a prefix.00:17
wgrantWas hoping to change it there too.00:17
Ursinhawgrant, hm, prefixes now are changed using an admin django page00:17
wgrantAh, handy.00:17
Ursinhaprefixes are loaded dynamically from oops-tools database00:17
UrsinhaI'm sure there's a wiki page explaining that00:18
* Ursinha looks00:18
lifelessthere is00:18
lifelessmatsubara mailed it to me :)00:18
Ursinhawgrant, https://dev.launchpad.net/Foundations/QA/OopsToolsSetup00:18
wgrantUrsinha: Thanks.00:20
wgrantWho has access to add a new prefix to a report?00:20
lifelessok, got that down to 800ms.00:24
lifelessnice00:24
wgrantNice.00:24
wgrantWhat did you change?00:24
wgrantHm, build breakage.00:25
wgrantSame one us hudson.00:25
wgrantIntriguing.00:25
wgrantBecause that's a spurious failure.00:25
wgrantMust be time-based.00:25
lifelesshttps://bugs.launchpad.net/launchpad/+bug/731679/comments/300:25
_mup_Bug #731679: distribution:+bugs timeout searching for bugs by component <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/731679 >00:25
wgrantI've seen this happen before, but dismissed it as coincidence :/00:25
lifelesstime to dig into storm, I just wish it was more pleasant00:26
wgrantlifeless: Can't you easily word that as a subselect?00:27
lifelesswgrant: you'd think so00:28
wgrantDoes it break the plan?00:28
thumpersinzui: still around?00:31
sinzuiI am00:31
thumperI'm just encoding that video :)00:31
sinzuithumper: I was just about to have dinner. I will return in about an hour.00:33
thumpersinzui: ack00:33
wgrantwtf00:55
lifeless???00:56
wgrantThis test failure.00:56
wgrantIt is real.00:56
wgrantBut completely unrelated.00:56
wgrant12555 must have changed test order somehow.00:56
wgrant'bin/test -m lp.services.job.tests.test_runner -1cvvt TestTwistedJobRunner.test_timeout' reproduces the failure even before then. Dropping the -m works fine. So it needs some test module loaded before it will work.00:57
wgrantHmm, ampoule can't import _pythonpath.00:58
lifelessmtaylor: does mysql 5.1 support 'with foo as (...) select ... where my.id in (select thing from foo)' ?01:07
wgrantGnrgh.01:31
lifeless?01:32
wgrantThis test. A subprocess fails if lp.testing imports anything from canonical.testing.layers.01:33
wgrantMust be a circular import, I guess, but Twisted is good at swallowing details.01:33
lifelesseugh01:34
lifeless\o/ 176 /    0  LanguageSet:CollectionResource:#languages02:08
lifeless58 /  155  BugTask:+index02:08
mtaylorlifeless: I have never seen 'with foo as (...)' - but I could of course have just missed it02:11
lifelessmtaylor: thanks, I will write this as a postgresql only tested feature then :)02:12
mtaylorlifeless: my pleasure!02:13
wgrantExcellent, the top 50 exceptions now encompass all with multiple occurrences.02:17
lifelesshttps://bugs.launchpad.net/storm/+bug/73173902:27
_mup_Bug #731739: with foo as (select...) SELECT ... not supported <Storm:New> < https://launchpad.net/bugs/731739 >02:27
lifelessnow to figure out how to do a snapshot of storm02:29
wgrantYou've done it already?02:30
lifelessyes02:30
lifelesssufficient for our needs anyhow02:30
lifelesshttps://code.launchpad.net/~lifeless/storm/with/+merge/5263002:32
StevenKlifeless: You linked to the Postgres 9.0 docs, it's supported earlier?02:47
=== StevenK changed the topic of #launchpad-dev to: Performance Tuesday! | https://dev.launchpad.net/ | firefighting: - | On call reviewer: StevenK | https://code.launchpad.net/launchpad-project/+activereviews
wgrantStevenK: It's new in 8.4.02:50
StevenKThat's probably okay, then.02:51
lifelessStevenK: its supported wherever lp is supported02:53
thumperI seem to be getting  lp.services.job.tests.test_runner.TestTwistedJobRunner.test_timeout failing every time on EC202:53
lifelesswgrant is working on that02:53
wgrantthumper: Yes, I'm looking at that.02:53
thumperothers getting this?02:53
thumperwgrant: awesome, thanks02:53
wgrantAbout to give up and just work around it, though.02:53
StevenKJenkins is to02:53
wgrantAmpoule is almost more evil than I am willing to deal with.02:53
thumperwgrant: want to talk through it?02:53
wgrantthumper: That test breaks with an unknown subprocess failure if lib/lp/testing/__init__.py imports anything from canonical.testing.layers (r12555 introduces one such import).02:54
wgrantthumper: The test also fails when run on its own with -m lp.services.job.tests.test_runner, even before r12555.02:55
thumperhmm...02:55
wgrantBut with a slightly different failure.02:55
thumperit was failing intermittantly02:55
wgrantIt always has, yes.02:55
thumperand there is a bug for that02:55
wgrantThere is.02:55
wgrantBug #50591302:55
_mup_Bug #505913: TestTwistedJobRunner.test_timeout fails intermittently <lp-foundations> <spurious-test-failure> <Launchpad itself:In Progress by wgrant> < https://launchpad.net/bugs/505913 >02:55
thumperhow are you working around it?02:56
wgrantRemoving the import.02:56
wgrantRunning with -m causes ampoule to fail to import _pythonpath. If I stop it from attempting to use _pythonpath, we get the same error that r12555 introduces.02:57
wgrantAny useful diagnostic information is swalled by Twisted, though.02:57
wgrant+ow02:57
thumperhmm...02:57
wgrantIt also still happens if I stop the tests from running in a subprocess.02:58
=== lifeless changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: StevenK | https://code.launchpad.net/launchpad-project/+activereviews
wallyworldthumper: it seems one is not allowed to modify a CollectionField attribute via the web service? i get a "You tried to modify a collection attribute" error03:00
wgrantThat's right.03:00
wgrantYou might want a List instead.03:00
wgranteg. IBug['tags']03:01
wallyworldwgrant: thanks. will have a look03:01
wgrantwallyworld: Modifying CollectionFields is hard... what does it mean to remove an object from a resultset?03:02
thumperwallyworld: hmm03:02
thumperwallyworld: I'm sure leonardr suggested to me that we'd need add and remove methods to post to.03:02
thumperwallyworld: or perhaps an update?03:02
thumperwallyworld: you're one of the first attempting this03:02
wallyworldwgrant: i thought a collectionfield attribute were like lists03:02
thumperwallyworld: so you get to blaze the way03:03
wallyworldthumper: i'm replacing the entire field's value so i may as well change it to a List03:03
wgrantwallyworld: Note that it changes the representation significantly; it becomes inline instead of a link.03:04
wgrantThis has performance implications.03:04
wallyworldwgrant: i'm not familiar with the terminology in this context - inline vs link03:05
thumperwallyworld: I think you want an update method for the API03:05
wallyworldthumper: so leave it as CollectionField and use an update method? if List fields are mutable, given the size of the list is small (<20), does it make sense just to go with that for this case?03:06
wgrantIs this for SourcePackageRecipe.distroseries?03:07
thumperwgrant: it is for recipe build series03:08
wgrantRight.03:08
wgrantList is probably not appropriate there.03:08
wgrantI would have (add|remove)Series named ops, I think.03:08
wallyworldhmm. seems like overkill given the size of the collection and the fact that we really just replace one version with another03:09
wallyworldby version i should say value03:09
wallyworldadd/remove is typically more suited to larger collection sizes03:10
thumperI think updateSeries should be sufficient03:10
StevenK    Store.find(LibraryFileAlias).set(content=None)03:10
StevenKTypeError: unbound method find() must be called with Store instance as first argument (got SQLObjectMeta instance instead)03:10
* StevenK grumbles more03:10
thumperStevenK: Store.of(something).find03:10
wgrantStevenK: IStore(LibraryFileAlias)03:10
wgrantOr that.03:10
StevenKwgrant: I've reverted to getCandidates returns ids03:11
wgrantwallyworld: Hmm, a collection can have custom named operations.03:12
wgrantPossibly not collection fields, though... hmmm.03:12
wallyworldwgrant: i'm grepping the code as we speak to figure out how to do it :-)03:13
wallyworldi'll do  a named_post03:13
wallyworldSPR.updateseries() or something03:13
wgrantwallyworld: Right, that's easy enough, but from looking at lazr.restful it seems like it might be possible to do something on the collection itself.03:14
wgrantBut updateSeries() is probably simpler.03:14
wallyworldi'll have a poke around. i'm generally against fine grained collection updates03:15
wallyworldespecially when the semantics of this is a complete replacement03:15
wallyworldof the collection's values03:15
wgrantRight.03:16
wallyworldwhere it would make sense for example is adding/removing a single person from a team03:16
lifelesswgrant: not only done, done and working.03:18
wgrantlifeless: Excellent!03:18
lifelessI can has reviewer? https://code.launchpad.net/~lifeless/launchpad/bug-731679/+merge/5263103:23
* StevenK looks03:23
StevenKNo reviewer for you. Come back when you have a diff03:24
StevenK:-P03:24
lifelessdon't blame me03:24
StevenKlifeless: Does it require the storm changes, or are those seperate?03:25
lifelessrequires em03:25
lifelessI've a snapshot ready to commit to the downloadcache03:25
lifelessStevenK: it has a diff03:26
StevenKYes, I'm reading it03:27
lifelessthanks!03:27
StevenKlifeless: orig_store, and then you call orig_store.with_(with_clause) when you'd already set store = store.with_(with_clause)?03:27
wgrantThat version number looks like a lie.03:27
lifelessStevenK: different with_clause03:27
StevenKAnd yes, I'd prefer that the storm changes get approved and landed first03:28
lifelessStevenK: note the for loop03:28
lifelessStevenK: not going to happen03:28
lifelessStevenK: storm is basically stalled.03:28
lifelessStevenK: I've 0 intention of letting us stall just because its stalled.03:28
StevenKOrsum03:28
lifelessfeel free to review my storm changes though03:30
StevenKthumper: https://code.launchpad.net/~lifeless/launchpad/bug-731679/+merge/52631 when you have a tick03:30
lifelessbut its an odd coding style there03:31
StevenKlifeless: I glanced at them, but I'm not comfortable reviewing03:31
* thumper has two ticks03:31
lifelessthumper: thanks03:31
thumperlifeless: what was the concern addressed on irc?03:32
lifelessthumper: which concern?03:32
wgrantI still think that version number is wrong.03:32
thumperlifeless: the one that StevenK says in the code review03:32
StevenKthumper: I'd prefer the changes to Storm landed03:32
StevenK[14:28] < lifeless> StevenK: storm is basically stalled.03:32
StevenKErgo ...03:33
wgrantI don't care if they land, but that 0.18.0.99 is deceptive.03:33
lifelesswgrant: pick a version, I'll roll with it03:33
lifelesswgrant: note that it does string algebra03:33
lifelesswgrant: so 0.18.0.0r14 will be stupidly painful to make03:34
wgrantlifeless: We normally use a suffix like -lp-r123403:34
lifelesswgrant: -how-03:34
wgrantlifeless: How are you building it?03:34
lifelesswgrant: like I say, storms setup.py / __init__ do algebra on a constant03:34
lifelesswgrant: setup.py sdist03:34
StevenKStore.of(LibraryFileAlias).find().set(content=None)03:36
wgrantAll our previous custom Storms have had a good suffix.03:36
StevenKThat doesn't work either, am I doing it wrong?03:36
wgrantStevenK: find(LibraryFileALias)03:36
wgrantlifeless: What about 'setup.py egg_info -b-lp-r1234 sdist'?03:37
lifelesswgrant: that worked, I'll use it03:37
StevenKwgrant: Still ends up with AttributeError: 'NoneType' object has no attribute 'find'03:40
lifelessStevenK: IStore(LibraryFileAlias)...03:40
wgrantAh, didn't bother to look further than the find()03:41
lifelessStevenK: Store.of() only applies to instances that have either come from a store or been added to a store.03:41
wgrantStore.of(someobject)03:41
wgrantIStore(someclass)03:41
StevenKAhh03:42
lifelessStevenK: this was the only thing wrong with your example I think03:42
lifelessStevenK: also, when something doesn't work, show how :)03:42
lifelessthumper: thanks03:42
StevenKIStore(LibraryFileAlias).find(LibraryFileAlias).set(content=None) results in:03:43
StevenKCompileError: Don't know how to compile type Reference of <storm.references.Reference object at 0x6a30450>03:43
lifelessStevenK: don't use reference columns03:44
lifelesscontentID03:44
wgrantHuh, that should work.03:44
* wgrant blames the SQLObject layer.03:45
StevenKTrying contentID03:45
lifelessreference columns are basically broken in storm and upstream are not receptive03:45
lifelesswgrant: no, its not sqlobject layer03:45
* wgrant gives up.03:48
StevenKwgrant: Oh?03:48
wgrantThe ampoule thing.03:49
* wgrant is testfixing.03:49
StevenKRargh, how can setting content == NULL for every LFA *still* have SPRs being processed!03:50
lifelessclearly something doesn't do what you expect03:51
StevenKI'm tempted to blindly ignore 'has no DSC' and continue03:51
lifelesswgrant: is 681770 a dupe?03:55
wgrantlifeless: Already done.03:55
lifelesscool03:56
StevenKwgrant: Any thoughts?04:00
wgrantStevenK: Can you push up your latest changes?04:00
StevenKwgrant: Done.04:03
wgrantStevenK: https://code.launchpad.net/~wgrant/launchpad/testfix/+merge/5263204:04
wgrantLooking at yours.04:04
StevenKSame04:05
StevenKthumper: https://code.launchpad.net/~wgrant/launchpad/testfix/+merge/5263204:06
* StevenK nails jtv to the Internet04:14
wgrantlifeless: Thanks.04:14
StevenKIt probably won't help, though.04:14
jtvStevenK: no, but at least you got some fun out of it04:15
lifelesswth is this exposed  TemporaryStorageManager:CollectionResource:#temporary_blobs04:15
wgrantPossibly only so apport can upload to it.04:17
wgrantI can't think why an API client would want to read the collection.04:17
wgrantStevenK: Is it only test_hourly_script failing for you?04:18
StevenKwgrant: Yes.04:18
wgrantStevenK: Are you killing the LFAs there?04:18
wgrantAh, yes.04:18
lifelesswgrant: and yet, they are04:20
wgrantlifeless: Grep logs and strangle them?04:21
wgrantStevenK: I wonder if LaunchpadScriptLayer might not use the right DB.04:24
lifelesswgrant: Revision 12550 can not be deployed: needstesting04:31
lifelessPreload BinaryPackageNames before listing successful copies' displaynames.04:31
wgrantlifeless: Fixed.04:32
StevenKwgrant: I wonder if using IMasterStore would make any difference. I suspect not.04:35
lifelesssigh04:36
lifelessoverengineering04:36
lifelesshttps://code.launchpad.net/~gmb/launchpad/processapportblobjob-api-bug-513191/+merge/2020904:36
wgrantStevenK: I doubt it.04:36
wgrantlifeless: Ah, of course. That doesn't need a listable collection, though.04:37
wgrantStevenK: Check the name of the DB that each uses.04:37
lifelesswgrant: precisely.04:37
StevenKwgrant: How can I do that?04:38
lifelessStevenK: wgrant: tests that use IMasterStore need to use it consistently or they will break04:38
lifelessyou can't use IStore in any helper :)04:38
lifelessditto ISlaveStore04:38
wgrantlifeless: This one runs a script.04:39
lifelesswgrant: I also particularly love the 'last 50' statement which is a total lie.04:39
wgrantlifeless: Ah, it's not actually a security hole, because the blobs don't have launchpad.View.04:39
wgrantSo the list is empty.04:39
lifelesswgrant: but are filtered in the appserver04:40
wgrantlifeless: Sure, so it's slow. But my main concern is that we aren't leaking them.04:40
lifelesswgrant: sure, thats a concern too04:40
lifelessjust noting04:40
lifelessthis is basically utter crack04:40
wgrantWhat happens if you remove the collection_default_content?04:41
lifelesswgrant: look at the end of lib/canonical/launchpad/database/temporaryblobstorage.py04:41
wgrantOr does export_webservice_collection require it?04:41
lifelesswgrant: needs it AFAIK04:41
lifelessI've a faster query04:41
wgrantlifeless: Don't use it.04:41
wgrantReturn an empty list instead.04:41
mwhudsonwgrant: wow, r12557 is >:(04:41
wgrantmwhudson: YES.04:42
mwhudsondid you annotate for great justice?04:42
wgrantWhich bit?04:42
mwhudsonwho added the flamingly incorrect comment04:42
wgrantThe circular import one?04:42
wgrantThat was added in the problematic revision.04:43
mwhudsonah ok04:43
mwhudsonanyway, i have a bbq to get to, better than being frustrated by software04:43
lifelesswgrant: you've checked you don't see the blobs04:43
wgrantSo, I spent a couple of hours trying to work out what was up, but I only ended up finding out that buildout, Twisted and Ampoule all need to DIE.04:43
lifelesswgrant: right ?04:43
wgrantlifeless: Yes.04:43
lifelesswgrant: but - how does the 'is blob X processed' work then ?04:43
wgrantlifeless: lazr.restful always checks for launchpad.View.04:44
wgrantRegardless of what the security adapters say.04:44
wgrantAnyone can view a blob, if they know its UUID.04:44
lifelesswgrant: but does't htat also check for View ?04:44
wgrant    <allow04:45
wgrant      interface="canonical.launchpad.interfaces.temporaryblobstorage.ITemporaryBlobStorage" />04:45
wgrantSo, no.04:45
lifelessglue the dots together gfor me04:46
wgrantlazr.restful always checks for launchpad.View. But the security declarations can make anything publicly available.04:46
wgrantlazr.restful checks for launchpad.View before it shows an object in a collection representation, that is.04:46
wgrantFor returning a single entry resoruce it will respect the security proxies.04:47
lifelessah04:47
lifelessso collections are spethial04:47
wgrantYeth.04:47
* lifeless considers lp-landing this04:49
* wgrant defers getBuildRecords until tomorrow, and instead fixes a couple of quick checkwatches OOPSes, since even checkwatches is likely to incite less violence than getBuildRecords and test_timeout.04:49
wgrantlifeless: What have you changed?04:49
lifelesswgrant: lp:~lifeless/launchpad/bug-73173604:50
LPCIBotProject devel build #519: STILL FAILING in 4 hr 49 min: https://hudson.wedontsleep.org/job/devel/519/04:50
lifelesshttps://code.launchpad.net/~lifeless/launchpad/bug-731736/+merge/5263404:51
wgrantlifeless: As long as nothing else uses that property, and all the blob webservice tests pass. doit.04:52
lifelesswgrant: I've changed one test which psases and the default collection method which there are no other references to outside of the webservice definition and implementation04:52
wgrantRight.04:52
wgrantJust checked the diff in LH04:52
lifelessand there are no other hits for the webservice collection name either04:52
wgrantYou have my codestar.04:53
lifelessheh04:53
lifelessI was just self reviewing :) - thanks though04:53
wgrantThat works too.04:54
lifelesssounds like bsg (codestar)04:54
wgrantThat was the feel I was going for.04:54
lifelessso top timoeuts 1, 2, 3, all have patches pending deploy04:55
wgrantAnd 1 and 3 are actually fixed.04:55
wgrant2 maybe not.04:55
lifelesstime to look at 4 again04:56
lifelessbah04:56
lifelessno oops in the report04:56
StevenKwgrant: Grabbing the DB name in garbo-hourly is launchpad-main-master05:02
lifelesshah05:02
lifelessthey missed a status05:02
lifelessfield.status: [u'NEW', u'INCOMPLETE_WITH_RESPONSE', u'INCOMPLETE_WITHOUT_RESPONSE', u'INVALID', u'WONTFIX', u'EXPIRED', u'CONFIRMED', u'TRIAGED', u'INPROGRESS', u'FIXCOMMITTED', u'FIXRELEASED']05:02
wgrantStevenK: The postgres DB name is the interesting one. That's the store name.05:02
wgrantlifeless: Just opinion missing?05:03
StevenKwgrant: Did you miss my question of how to actually get it, then?05:03
lifelesswgrant: yeah05:03
lifelesswgrant: this is a /bugs/ search.05:03
lifelesshttps://bugs.launchpad.net/launchpad/+bug/71677405:03
_mup_Bug #716774: Timeout on MaloneApplication:+bugs <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/716774 >05:03
wgrantStevenK: Well, you could check the postgres log.05:03
wgrantRather than adding debug prints everywhere.05:04
StevenK/var/log/postgresql/postgresql-8.4-main.log is fairly useless05:04
wgrantAh, you don't have statement logging on?05:04
StevenKDoubtful05:05
wgrantlog_statement='all' in postgresql.conf05:05
wgrantIt's very handy.05:05
StevenKwgrant: If that logs into the main log, I can't see it05:10
wgrant/var/log/postgresql/postgresql-8.4-main.log05:11
StevenKwgrant: Doesn't seem to work for me. :-(05:16
wgrantStevenK: You put it at the bottom of /etc/postgresql/8.4/main/postgresql.conf, and it doesn't have any other log_statement lines?05:17
StevenKRargh, there's two!05:17
wgrantHeh.05:18
StevenKNow to distill the log05:21
StevenKLooks to use the correct DB name05:22
wgrantBoth of them?05:22
StevenKwgrant: They all use launchpad_ftest_2332505:23
thumperStevenK: sorry was at guitar lesson, thanks lifeless for approving05:23
wgrant:(05:23
wgrantCan you see the LFA UPDATES?05:23
StevenKYes05:24
lifelessand you commit ?05:24
StevenKYes05:24
wgrantThere is a transaction.commit()05:24
wgrantBut can you see it in the log?05:24
wgrantSome layers might not have the transaction manager configured properly.05:24
wgrantBut it still fails on LaunchpadZopelessLayer :/05:24
StevenK[2011-03-09 16:19:28 EST] launchpad_main@launchpad_ftest_23325 LOG:  statement: UPDATE LibraryFileAlias SET content=NULL05:24
StevenK[2011-03-09 16:19:28 EST] launchpad_main@launchpad_ftest_23325 LOG:  statement: COMMIT05:24
wgrantThat seems pretty definitive.05:24
StevenKThe next bits are all garbo_hourly, so that's the script running05:25
wgrantOh.05:26
wgrantHa ha ha.05:26
wgrantHa ha ha ha ha.05:26
wgrantI bet those SPRs have *no files at all*.05:26
wgrantFuck sampledata, seriously.05:26
StevenKwgrant: 0 rows for id 17, for instance, so agreed05:27
wgrantLooks like I need a sharper desk still.05:27
StevenKI wonder if we can fix the query to ignore SPRs with no rows in SPRF05:27
wgrantDifficult. Just set changelog=1 for all of the SPRs.05:28
wgrantMuch easier.05:28
* StevenK tries that.05:30
* StevenK attempts to not put "# <wgrant> Fuck sampledata, seriously." as the comment05:30
StevenKwgrant: Thanks, changed pushed.05:35
wgrantGreat.05:36
StevenKwgrant: Now approve it, damn it. :-(05:37
wgrantlifeless: Could you mentor https://code.launchpad.net/~stevenk/launchpad/populate-spr-changelogs/+merge/52363?05:46
StevenKwgrant: Sure, let me fix the comment.05:50
wgrantStevenK: Thanks.05:50
StevenKwgrant: http://pastebin.ubuntu.com/577696/05:51
wgrantStevenK: Say something about why we can't expire the LFAs.05:52
wgrantThat's the really confusing bit.05:52
StevenKwgrant: http://pastebin.ubuntu.com/577697/05:53
wgrantStevenK: +105:54
StevenKwgrant: Changes pushed, thanks.05:55
huwshimiNight people.06:47
wgrantNight huwshimi.06:51
=== StevenK changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
=== almaisan-away is now known as al-maisan
jamI thought there was a way to do an ssh tunnel to get direct psql access to the staging db. I was hoping to find the instructions to see if I could do something similar for loganberry's tuolumne db. Anyone have a link?08:41
jammy google fu is weak (and it may be private docs)08:41
wgrantjam: TLs can access the staging DB from devpad.08:43
wgrantBut I doubt !IS has access to loganberry.08:44
wgrantGiven that it's a prod machine.08:44
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
=== Ursinha is now known as Ursinha-afk
adeuringgood morning09:00
mrevellHallo09:03
henningemrevell: Hallo09:07
henningeMoin adeuring ;)09:07
stubjam: It is just standard port forwarding a local port to port 5432 on the target machine. Connect to it locally with 'psql --port=55432 prod_db'09:07
jamstub: right. I thought so, but I wanted to check that you have to have a valid ssh login on the target machine.09:10
jamAnd I was curious why local psql is better than just running it on the target machine09:10
jamsince you have a valid login already09:11
jammore-interactive typing ?09:11
stubjam: Yes, you need an account on the target machine or machine that can get past ipfilter to port 5432 on the target machine09:17
lifeless+ ident or similar auth permissions09:17
stubjam: Using local psql makes it interactive. Typing into remote shells from the other side of the planet sucks big time.09:17
wgrantjam is right next to the DC :(09:18
stubSo no benefit whatsoever :)09:18
jamstub: well, it confirms what I thought, thanks09:18
jami agree that when you have 200+ms latency, typing is rather cumbersome09:19
=== adeuring1 is now known as adeuring
LPCIBotYippie, build fixed!09:41
LPCIBotProject devel build #520: FIXED in 4 hr 50 min: https://hudson.wedontsleep.org/job/devel/520/09:41
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: jtv | https://code.launchpad.net/launchpad-project/+activereviews
bigjoolsye09:45
bigjoolsgads09:45
bigjools4h 50m09:45
StevenK20 minutes of that is check-out09:48
StevenKWhich is just *orsum*09:48
jmlgood morning Launchpadders.09:58
lifelessjml: I forgot two things to chat about the other day09:58
lifelessjml: do you have 15?09:58
jmllifeless: not immediately. I'll need a few minutes.09:59
lifelessjml: is that few ~=5 or few ~=30 ?09:59
jml~1010:00
lifelessok, cool, I'll hang for that10:00
rvbalifeless: Hi ... I'm trying to ec2 test on a very small branch of mine and I'm getting an error in a test bzr annotate told me you wrote.Julian thinks it might be spurious (and it certainly looks like it when I look at the test) but advised me to ask you anyway. Would you take a look:10:09
rvbaThe whole log file http://dl.free.fr/pMlVoHAN610:09
rvbaThe only place where it seems there is a failure https://pastebin.canonical.com/44450/10:09
wgrantThat one is know to be spurious.10:17
wgrantIf it was the only failure, the branch is fine.10:17
wgrantrvba: ^^10:17
wgrantIt shows up rarely enough that it's difficult to debug :/10:17
rvbawgrant: ok10:18
rvbaI'll launch ec2 land (again) then10:18
rvbathx10:18
wgrantNo point running it through ec2 again.10:18
wgrantJust 'bzr lp-land' it.10:18
wgrantThat submits it directly to PQM.10:18
rvbaok10:18
lifelessgnight all10:29
bigjoolslifeless: review? :)10:57
=== al-maisan is now known as almaisan-away
gmbWell, that's a new one: "TypeError: Result of expression 'protonode' [null] is not an object."11:43
* gmb goes grepping11:43
bigjoolsrvba: did you lp-land your branch ok?11:46
rvbabigjools: I relaunched the test suite to make sure I'll receive and email all right11:47
rvbas/and/an/g11:47
bigjoolsrvba: fair enough11:47
rvbabigjools: I'm working on 727632. Reading though the schema change docs.11:50
bigjoolsrvba: great11:50
maxbHmm, odd. Launchpad appears to no longer be notifying me of recipe build failures11:54
maxbOr rather, it's not notifying me about recipe build failures due to depwait11:55
=== henninge_ is now known as henninge
henningeadeuring: http://people.canonical.com/~henninge/mockups/11:59
henningeadeuring: see also my mail11:59
* henninge lunces11:59
henningelunches, even11:59
=== henninge is now known as heninge-lunch
heninge-lunchHi deryck!11:59
deryckMorning, heninge-lunch12:00
heninge-lunchderyck: http://people.canonical.com/~henninge/mockups/12:00
heninge-lunchderyck: see also my mail12:00
deryckheninge-lunch, ok, looking at it all now.  Thanks!12:00
=== almaisan-away is now known as al-maisan
jmlderyck: is there an ACL for Fix Released like there is for wontfix etc?12:43
deryckjml, yes.  Only bug supervisor, or the original reporter, IIRC.12:44
maxbI have a pending application to ~loggerhead-team, who should I talk to to get a yay or nay?12:44
jmlderyck: what does it take to set it up12:45
jmlderyck: or is it enabled by default?12:45
deryckjml, I think defining a bug supervisor is enough.  I'd have to look at code to remember for sure. ;)12:48
jmlderyck: that's fine.12:49
jmlderyck: thanks very much.12:49
deryckjml, so I just looked to be sure, and it's just a check in canTransitionToStatus.  So nothing required.12:51
deryckwanted to remember clearly anyway :-)12:52
jmlderyck: not even defining a bug supervisor?12:52
deryckjml, no, not required.12:53
=== heninge-lunch is now known as henninge
jamI'm trying to qa bug #726985 but I'm unable to get any requests to succeed at "http://bazaar.qastaging.launchpad.net/"13:16
_mup_Bug #726985: codebrowse OOPSes with GeneratorExit when connection closed early <qa-needstesting> <Launchpad itself:Fix Committed by jameinel> < https://launchpad.net/bugs/726985 >13:16
jamWhen I go to: http://bazaar.qastaging.launchpad.net/~jameinel/+junk/foo/changes13:17
jamIt just issues a permanent redirect, *to the same URL*13:17
deryckhenninge, adeuring -- let's spend the standup talking about these mockups and come to some conclusion about them.13:21
adeuringsure13:22
jamjelmer: I tried to approve your change, but you deleted the merge proposal13:23
jelmerjam: It was an uncontroversial one-liner so I just submitted it.13:24
jamjelmer: well, maybe I'll just take back my approval then :)13:24
jelmerjam: heh13:24
jelmerjam: Sorry for the noise :)13:24
henningederyck: great idea13:27
wgrantjam: qastaging codebrowse was never set up properly.13:28
jamwgrant: good enough for me, I guess13:28
jamI'm not really sure how to qa the "doesn't oops anymore" anyway13:28
jamcan we just set the bug to qa-ok?13:28
wgrantjam: I QA'd the last one by poking around from some internal hosts, but for this I don't think it's worth it.13:29
wgrantqa-untestable13:29
jamfine by me13:29
wgrantjtv: Any luck with QAing the DSD script?13:34
jtvwgrant: I filed an RT.  I gather the losas are rather busy.13:34
wgrantjtv: Can we qa-untestable it, given that it presumably won't be run unless you ask for it?13:34
jtvwgrant: yes, come to think of it that does make sense now13:35
jtvDone.13:37
wgrantThanks.13:40
=== matsubara_ is now known as matsubara
deryckadeuring, henninge -- let's delay the standup by 15 minutes, to give abentley time to see the mockups when he comes on.13:57
adeuringok13:57
allenapRunning `make JSFLAGS="--filetype=debug"` seems to invoke the correct bin/jsbuild command line, but it still uses "min" files. Does anyone know how I get it to DTRT?13:59
deryckallenap, it should work for lp js code.  but utilities/yui-deps.py hard codes the min version.14:00
deryckso yui code is still minified, but lp code is not.14:00
deryckallenap, also, I've been doing filetype=raw, too.  not sure if that matters.14:03
deryckand you can save time doing "jsbuild", i.e. make jsbuild JSFLAGS='--filetype=raw'14:03
allenapderyck: Does this end up in lib/canonical/launchpad/icing/build/launchpad.js?14:05
deryckallenap, yes14:05
allenapderyck: It's still using the min files. I must be doing something stupid.14:07
deryckallenap, make clean_js ?  maybe it's being dumb and doing nothing?14:07
bigjoolsrvba: congratulations, your branch landed14:08
deryckhenninge, we can standup when you're ready.14:09
rvbabigjools: well, one of them14:09
=== jtv changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: - | https://code.launchpad.net/launchpad-project/+activereviews
rvbabigjools: the other one triggered an error sending the email14:10
rvbahttps://pastebin.canonical.com/44466/14:10
rvbathe strange thing is that the email conf should be the same for this branch and the one which landed14:11
bigjoolsno idea then :/14:11
bigjoolsuse bzr lp-land for now14:11
rvbabigjools: yes14:11
allenapderyck: It doesn't seem to want to play.14:15
allenapAny other ideas?14:15
bigjoolsbenji: yo14:30
benjibigjools: yo14:30
bigjoolsbenji: the MP of mine that you approved the other day was targeted to devel instead of db-devel, can you do me a favour and tick off the newer MP please? https://code.launchpad.net/~julian-edwards/launchpad/publisher-config-db-schema/+merge/5253014:31
benjisure14:31
bigjoolsbenji: I added some code that you might want to look at, there were no security declarations in the old branch :)14:31
benjik14:31
benjibigjools: done14:37
bigjoolsbenji: cheers14:37
bigjoolsbenji: good catch with the zcml14:38
allenapderyck: Ah, I've found the culprit. utilities/lp-deps.py force minifies the lp code too. Btw, thank you for your help earlier.14:48
deryckallenap, cool.  sorry on call now.  I really thought it used to work for me.14:54
=== abentley changed the topic of #launchpad-dev to: https://dev.launchpad.net/ | firefighting: - | On call reviewer: abentley | https://code.launchpad.net/launchpad-project/+activereviews
deryckabentley, hey.  How about bottom of the hour for a chat?  roughly 12-13 minutes from now?15:17
abentleyderyck: sure.15:18
deryckabentley, ok, cool.  meet you in mumble then.15:18
deryckjml, I'd like to book 15 minutes with you tomorrow, if possible.15:24
deryckjml, for some voice chat time about how/when to turn of this translations story for your review.15:24
bigjoolsjml: thanks for triaging my bug, I didn't mean to be lazy but I am a forgetful bastard15:25
jmlbigjools: that's OK. I actually thought there was a dupe (there wasn't), and have been using this as an opportunity to make sure all the ec2test bugs are tagged up15:26
jmlfound a couple that have already been fixed15:26
jmlinspired to go on a bug fixing rampage later on15:26
jmlin my copious free time15:26
jmlspeaking of which...15:26
jmlderyck: that'd be great15:26
jmlderyck: just put something on my calendar15:27
deryckjml, ok, great.  thanks!15:27
bigjoolsjml: what is this free time of which you speak?15:30
bigjoolsis it somehow associated with the weird bright glowing ball I see in the sky sometimes?15:31
jmlbigjools: I think the medical term is insomnia15:31
jml(or, more honestly, being naughty and doing something I want to do instead of something I should be doing)15:32
abentleyderyck: http://pastebin.ubuntu.com/577884/15:33
abentleyderyck: http://pastebin.ubuntu.com/577886/15:35
=== Ursinha-afk is now known as Ursinha
rvbasinzui: I've started to work on bug 727632. I've worked on the first part of the bug we talked about yesterday: fixing distro's owner usage.15:55
_mup_Bug #727632: distro and distro series pages do not specify their owner <derivation> <distributions> <series> <Launchpad itself:In Progress by rvb> < https://launchpad.net/bugs/727632 >15:55
rvbasinzui: This is still in the works (no tests yet etc.) but I'd be happy if you could quickly review my branch and give me feedback (lp:~rvb/launchpad/distro-add-registrant).15:55
sinzuirvba: okay. I will now15:55
deryckabentley, so here's a bit on why we do namespacing the way we do:  https://dev.launchpad.net/JavaScriptReviewNotes#Naming%20Javascript%20Modules%20and%20Namespaces15:56
=== salgado is now known as salgado-lunch
deryckabentley, I think the "do this so you only have to change it in one place" comment is the best reason.  some of the rest seems suspect to me.15:56
deryckabentley, YUI's way is to create the namespace and then address it directly:  http://developer.yahoo.com/yui/3/yui/#yuiadd15:58
abentleyderyck: are modules and namespaces orthagonal?15:59
deryckabentley, by that you mean that what I name it in the add constructor has nothing to do with initialziing the namespace in said module?16:00
abentleyderyck: yes.  (except that we have a convention connecting them)16:01
deryckabentley, yes.  you could have a single module that creates two different namespaces, for example.16:02
abentleyderyck: the UI docs you point at, the module is named 'mymodules-mod1' and the namespace is "Y.mynamespace".16:02
abentleys/UI/YUI16:02
deryckabentley, right.  we only it do it by convention, as you noted.16:02
leonardrabentley, i have an exciting branch for your review: https://code.launchpad.net/~leonardr/lazr.restful/must-specify-version/+merge/5270516:02
abentleyderyck: okay, that explains why we specify the same string twice, then.16:03
abentleyleonardr: ack16:03
rvbasinzui: thx for the review. I'll go on with my branch then and fix the -almost- same problem for distro series.16:19
sinzuiokay16:19
rvbasinzui: one question though. When I 'make lint' I've got a warning about the fact that database/sampledata/lintdata.sql differs from database/sampledata/current.sql ... and indeed I had to modify current.sql ...16:25
rvbathe warning print also a few shell commands ... that will take me to erase my modifications if I follow them :-)16:26
sinzuirvba: we do not edit those files for schema changes, though I realsied you did16:26
rvbasinzui: oh I get it, they are supposed to be migrated I guess ...16:27
sinzuirvba: after you` make schema`, run `make newsampledata`, then rename the new files to the old files16:27
rvbasinzui: ok I get it. thx16:27
sinzuirvba: I am certain you will see more than your changes. Lp engineers rarely reconcile their schema changes to sampledata16:28
rvbasinzui: indeed, I saw a small difference.16:28
abentleyleonardr: does zope.Cleanup do something that testtools.TestCase.addCleanup can't do?16:33
abentleyleonardr: as_of is a nice improvement over current syntax, but did you consider allowing the default version to be 'devel'?16:38
=== al-maisan is now known as almaisan-away
leonardrabentley: we'd still need as_of (since the existing syntax is ugly), it just wouldn't be required16:48
abentleyleonardr: agreed.16:48
leonardri'm pretty sure we explored that possibility and rejected it, but i don't remember the reasoning16:49
leonardri will say that with this implementation it's a lot easier to patch our existing code16:49
leonardrthan with an implementation in which our existing code will change meaning (rather than fail) if we forget to patch something16:50
abentleyleonardr: True, but we could generate before-and-after wadls to ensure the interface stayed the same.16:50
leonardrabentley: i think there's not a whole lot of difference between these implementations, and this is the one lifeless prefers, so i'm going with it16:52
abentleyleonardr: okay.  Just seems like extra typing for no benefit.16:52
abentleyleonardr: Now, about zope.Cleanup.  Does that do something similar to testtools.addCleanup?16:53
leonardrabentley: there's no net decrease in typing. if the default is devel, you're going to have to do the typing when you decide to cut a new release16:53
leonardri don't know what zope.Cleanup does. i'll check16:53
abentleyleonardr: Oh, so that was from a contributor?16:54
leonardrabentley: i didn't write that code, if that's what you're saying. i just refactored it16:54
leonardrand i remember what the problem was. zope.Cleanup takes care of the current interaction16:54
abentleyleonardr: There is a net increase in typing, because first you set export_as='devel', and then afterward you change export_as to '1.1'.16:54
lifelessgmb: hi - qa plox - 1255116:55
leonardrfair enough. i'd say that's worth it because you can grep for 'devel', see everything that hasn't been changed, and make a decision based on that16:55
leonardrif there is something exported with no version specified, there's no way to know whether it's in devel or whether someone just made a mistake16:56
=== beuno is now known as beuno-lunch
abentleyleonardr: okay.  That takes care of the real issues.16:57
gmblifeless: done16:57
jcsacketti'm trying to use bzr pipeline, and i think i might have screwed something up. when i try to test a particular pipe via ec2 i get a NotABranch error.16:59
jcsackettanyone have any thoughts?16:59
abentleyleonardr: you have some extra blank lines at 679 and 669.  It would also be nice if you documented every test.16:59
abentleyleonardr: But r=me.16:59
leonardrok16:59
=== salgado-lunch is now known as salgado
leonardrsinzui: i am getting totally random test failures when i try to land the branch we worked on yesterday17:09
leonardrInternalError: current transaction is aborted, commands ignored until end of transaction block17:09
leonardrthis has happened twice, so i doubt it's spurious17:09
leonardris it possible that adding the validation for duplicate bugtasks could cause that error?17:10
leonardroh, and i'm getting the error locally, so it's not an ec2 problem17:11
leonardrsinzui: http://pastebin.ubuntu.com/577933/17:13
leonardrthat's the source of the problem, but i don't know why it wouldn't have permission17:14
sinzuileonardr: this looks like a db issue something related to security.cfg17:14
leonardris process_email running as a different database user?17:15
sinzuileonardr: yes it is17:15
sinzuileonardr: we just need to find the user and add the tables to the section.17:16
sinzuiI think we only need insert17:16
leonardri think we only need select, right?17:16
sinzuioh, yes, select. you are right.17:17
leonardrprocessmail user?17:18
sinzuiI think so17:18
leonardrsinzui: the obvious thing doesn't help: http://pastebin.ubuntu.com/577935/17:21
leonardrany ideas?17:21
leonardrperhaps that's the wrong user??17:22
lifelessabentley: trying to get as complete a deploy tonight as possible - can you qa Revision 12555 ?17:22
sinzuileonardr: You had the identical error after making schema?17:22
abentleylifeless: in the middle of doing so.17:23
lifelessabentley: cool!17:23
lifelesshenninge: ping17:23
henningelifeless: pong17:23
henninge;)17:23
lifelesshenninge: if you're still around, and can qa https://bugs.launchpad.net/launchpad/+bug/705176 we should be able to include it in the deploy tonight17:24
_mup_Bug #705176: Improve sharing information on translation pages <qa-needstesting> <upstream-translations-sharing> <Launchpad itself:Fix Committed by henninge> < https://launchpad.net/bugs/705176 >17:24
henningelifeless: I was just looking at it. something might be wrong but it is behind a feature flag anyway. so qa-ok17:24
lifelesshenninge: nice! thanks17:25
leonardrah, make schema17:25
leonardrthe missing ingredient?17:25
sinzuileonardr: yes, after after the schema is setup, security.cfg is parsed and the users are setup17:25
=== deryck is now known as deryck[lunch]
* jml heading back home & thus offline17:28
leonardrsinzui: unfortunately, yes, make schema doesn't stop the error17:28
lifelessmatsubara: hi17:33
lifelessmatsubara: you've probably got a tonne of mail17:33
lifelessmatsubara: but I've got a oops-tools branch you may not have seen17:33
lifelessmatsubara: which I'd love a hand with - test suite doesn't want to play for me17:33
leonardroh, wait, it's slightly different! binarypackage*name*17:36
leonardrgreat, i just have to make schema over and over until i run out of errors. sinzui, is there a better way?17:37
lifelesswhat is going wrong?17:37
leonardrlifeless: i have a branch that adds some error checking to bugtask creation. the problem is that this requires bugtask creation to access database tables it formerly did not access17:39
leonardrso when it happens, eg., over email, the database user doesn't have permission to run the checks17:39
sinzuileonardr: I have not learned of a better way17:39
lifelessah checkwatches17:39
lifelesssecurity.py can update that17:39
lifelessyou need to point it at the ftest *template* db17:39
matsubaralifeless, yep, saw that one. I'll review it today and investigate the test suite failure17:39
lifelessmatsubara: thank you!17:40
lifelessmatsubara: if you can take it over, that would be awesome.17:40
leonardrlifeless: i'm intrigued. this is a substitute for 'make schema'? what's the name of the ftest template db?17:41
lifelesslaunchpad_ftest_template17:42
lifelessmake schema builds that db17:42
lifelessand as part of building it invokes security.py pointed at that template17:42
leonardrthat should speed up the process considerably, thanks17:43
lifelessI don't know the magic runes to make that happen later, but it should be amenable to a little bit of spelunking in database/17:43
leonardryes, this is making it go faster17:45
lifelessit might be nice to have a make target to do this to the ftest template, as a convenience for other developers17:47
lifelessgary_poster: my first patch to lp using 'with' has test failures, I'll be working through those today.17:49
jamanyone else running LP in a VM rather than raw on their system?17:49
jamI managed to get it all set up17:49
jambut realized I'd really like to access it from the container17:49
jamso have it serve in the VM's public address17:49
jamnot just on the loopback17:50
lifelessgary_poster: one of them is in the subscription code - http://pastebin.com/bHJgS6DG - wondering why that is an exact check rather than a LessThan17:50
lifelessjam: I am17:50
abentleylifeless: I see a broken link on qastaging that I don't see on production.17:50
lifelessjam: https://dev.launchpad.net/Running/VirtualMachine17:50
lifelessabentley: on what page?17:50
abentleylifeless: the "Set up sharing" on https://translations.qastaging.launchpad.net/bzrtools/trunk17:51
abentleylifeless: this was not introduced by my code.  So far my code is qa-ok.17:51
jamlifeless: right, I got that part working17:52
lifelessabentley: I can't see +sharing-details on production either17:52
jamI just want to be able to access it from the host17:52
jamrather than eg having to run Firefox in the VM17:52
abentleylifeless: Yes, but the link isn't present on production.17:52
lifelessabentley: ok17:52
lifelessabentley: is it a feature flag hidden thing, or will everyone see it ?17:52
abentleylifeless: I believe everyone will see it.  It looks like it was introduced in r1255917:53
lifelessabentley: translations.sharing_information.enabled is set on qastaging17:53
lifelessabentley: in the template, I see 'tal:condition="features/translations.sharing_information.enabled'17:54
abentleylifeless: Okay.  I probably misunderstood henninge.17:54
lifelessabentley: so it won't show up on prod at all until that flag is enabled17:54
lifelesss/it/the link that is broken will be hidden/17:56
lifelessjam: right, I thought I put notes on that on the wiki page17:57
jamlifeless: there is a small link to an email thread, perhaps in there17:57
lifelessapparently not17:59
lifelessjam: so, copy the new stuff from /etc/hosts to your host os17:59
maxbI have a pending application for ~loggerhead-team, who should I talk to to get a yay or nay?18:03
abentleylifeless: qa-ok.18:03
leonardrsinzui: good news is i've got the tests running again. bad news is we have more tests that try to create bad bugtasks18:05
sinzuiwe suck18:05
lifelessabentley: cool, thank you18:06
sinzuileonardr: I favour deleting any test that possibly duplicates what is done in a lower level test. This is an opportunity to make the test suite faster18:06
=== beuno-lunch is now known as beuno
leonardrsinzui: i like this plan but i don't trust my ability to quickly determine that one test duplicates another. let me get the big list of failures up and we can go through it18:07
lifelessmaxb: what do you need that for ?18:07
sinzuileonardr: that is a good plan18:07
lifelessmaxb: or better phrased: what are you trying to do that you can't today, that ~loggerhead-team membership will let you do18:07
maxbI would like to help out with getting some of the changes moved to the experimental branch re-landed. One of the convenient ways to do that would be to re-open merge proposals for stuff that has been un-landed.18:08
lifelessmaxb: you don't need any special privilege to do that18:08
maxbI can't edit the status of merge proposals for other peoples landings on lp:loggerhead - being in ~loggerhead-team would enable this18:08
lifelessmaxb: oh, I see what you're thinking. That won't do the right thing *anyway*18:09
maxbit wouldn't?18:09
leonardrsinzui: http://pastebin.ubuntu.com/577955/ is the full list, i'll trim it down to just the initial errors18:09
lifelessI don't think so18:09
maxbDoesn't being in the team owning the target branch of a MP entitle you to edit it?18:10
lifelessmaxb: I think it would be better to make a branch containing a specific thing merged out of experimental - probably oldest-first is easy (can avoid cherrypicks)18:10
lifelessmaxb: the problem is the source branch: unless the mp is /perfect already/ it will need further changes18:11
maxbRight.... I'd hope to convince the original submitter to do them, then :-)18:11
lifelessmaxb: and you can't push to e.g. mkanat's branches18:11
leonardrsinzui: http://pastebin.ubuntu.com/577957/18:11
lifelessmaxb: so a number of the changes were done on contract to Canonical18:11
leonardrnot too bad, only 4 failures, and one of them is clearly my fault (somehow)18:12
sinzuiI have got the files open18:12
lifelessmaxb: and the contract is over. Its up to 'us' - folk interested in those changes - to pick them up and polish/revisit/land18:12
leonardrsinzui: i'm looking at the first one. would you take a look at the other 3?18:13
sinzuileonardr: 30-nominate-bug-for-distrorelease needs history like I added to another test. maybe...18:13
leonardri'll push my changes18:13
maxbalright - not all the MPs I was thinking of were mkanat's, but I could opt for emailing people asking them to reopen their own MPs18:13
lifelessmaxb: Personally, I would just make a new one18:14
lifelessmaxb: we took on the burden of re-reviewing and assessing and fixing those changes when we pivoted the trunks arounds18:14
leonardrsinzui: lp:~leonardr/launchpad/bug-106338 is up to date18:14
lifelessmaxb: I don't think its all that fair to push back to folk whom we have told their change is done with.18:14
=== deryck[lunch] is now known as deryck
maxbok18:15
lifelessmaxb: if you need bug triage permissions, or are going to get involved in code review & qa, I'd be delighted to talk loggerhead-team membership18:17
lifelessit is however the project committers team, so I think the usual 'get involved, be involved, ok heres the membership' process should apply18:17
maxbalright, I'll re-raise at an appropriate time18:18
sinzuileonardr: I think I have 4 fixed. 3 fails trying to show it will fail. The test is bad, but we might have a case where the use can oops the UI18:27
leonardrno luck on 1 so far18:27
lifelesssinzui: is there any way on e.g. https://launchpad.net/~loggerhead-team/+editproposedmembers to discuss with the applier why they are applying ?18:28
sinzuiNo18:29
sinzuiThat is a long requested feature18:29
lifelesssinzui: is there a bug complaining about same?18:29
jamlifeless: https://dev.launchpad.net/Running/RemoteAccess looks like it has what I was looking for18:34
sinzuilifeless: bug 497618:35
_mup_Bug #4976: When trying to join a team, user should be able to give comment <feature> <lp-registry> <registry> <Launchpad itself:Triaged> < https://launchpad.net/bugs/4976 >18:35
jamI added it to the page18:36
lifelesssinzui: sigh, thats like 3 difference features rolled into one :(18:36
lifelesssinzui: so many things from users are like that18:37
sinzuileonardr: I been to build a pristine tree to test it will be a moment: this is what I have done: http://pastebin.ubuntu.com/577973/18:40
leonardrok18:41
leonardrsinzui: the problem with #1 is that the productseries bugtask created by the factory is not conjoined to the bugtask for that productseries' product18:50
leonardrdoes that make sense? i'm not sure why it does happen18:51
sinzuileonardr: it does if the productseries is not the product's development_focus18:52
leonardrbut it is18:52
leonardrconjoined_bugtask = self.factory.makeBugTask(bug=bug, target=product.development_focus)18:52
leonardrgetConjoinedMaster has the right bugtask in its shortlist but for some reason decides that's not it...18:55
leonardrsinzui: the bugtask (whose target is a ProductSeries) does not have either IDistroBugTask or IUpstreamBugTask18:56
leonardrie. doesn't provide18:56
leonardrshould it be providing IDistroBugTask? that doesn't seem right18:56
leonardrbut that's the only way it can have a conjoined master18:57
sinzuileonardr: we are testing the IUpstreamBugTask.providedBy condition18:57
leonardrok, i get that now. any idea why this task doesn't provide that?18:58
sinzuileonardr: it doesn't18:59
leonardri guess because its .product is none? it's got a productseries but no .product?18:59
sinzuiproduct==upstream there is even a bug report to rename IUpstreamBugTask to IProductBugTask19:00
sinzuiwhat!19:00
sinzuithat is F'd up19:00
leonardrok, probably a problem with createBugTask19:00
leonardror, maybe in the factory19:01
sinzuiis it I would have thought it was makeBugTask() which I know was making invalid series last year19:01
lifelessthats normal19:01
lifeless count19:01
lifeless-------19:01
lifeless  770319:01
lifeless(1 row19:01
gary_posterlifeless, pastebin you gave me doesn't work anymore.  can look if you like19:01
lifelesssinzui: launchpad_qastaging=> select count(*) from bugtask where product is null and productseries is not null;19:02
lifeless-> 770319:02
lifelesssinzui: product is accessed via productseries.product19:02
sinzuileonardr: last year the factory was creating products without series, which is invalid. I fixed that. I think we just found the reverse is true19:02
leonardrsinzui: the product and series both _exist_19:02
leonardrbut, the bug task is created with a series and no product, and nobody says 'wait, that's wrong'19:03
lifelessleonardr: thats how it should be19:03
lifelessgary_poster: http://pastebin.com/21LHXw6D19:03
sinzuilifeless: I think I need to put my hands over my ears and hum very loudly. I do not want to hear about how messed up production data is. It took me 4 months to clean up milestones without a series19:03
lifelesssinzui: this is not messed up19:04
lifelesssinzui: its /correct/19:04
lifelessWHEN product IS NOT NULL THEN productseries IS NULL AND distribution IS NULL AND distroseries IS NULL AND sourcepackagename IS NULL19:04
lifelesssinzui: I think you have an invalid assumption about how it should be, and you're wrong.19:04
sinzuiHow do I access a product series that has no product?19:05
leonardrsinzui: the product series has a product19:05
lifelesssinzui: thats not what leonardr is saying.19:05
leonardrthe *bug task* has a .productseries but does not have a .product19:05
lifelessleonardr: thats normal.19:05
leonardrand the check for conjoined master only looks at .product19:05
lifelessleonardr: and thats also normal19:05
lifelessleonardr: the conjoined master is the *nonseries* task19:06
sinzuilifeless: we are looking at this19:06
sinzui        product = self.factory.makeProduct()19:06
sinzui        bug = self.factory.makeBug(product=product)19:06
sinzui        conjoined_bugtask = self.factory.makeBugTask(19:06
sinzui            bug=bug, target=product.development_focus)19:06
sinzui^ I think there should be a bugtask with .product and a bugtask with .productseries19:07
gary_posterlifeless no idea on the face of it.  AFAIK I haven't/yellow hasn't touched that particular bit.  I encountered something somewhat like that before and investigated to discover that the difference in query count was in fact indicative of a problem, but that's certainly not the ideal way to show it. ...I'm sorry I can't offer more.19:07
lifelesssinzui: no, thats not possible.19:07
lifelessgary_poster: no worries, thanks for peeking19:07
lifelesssinzui: bugtask links to only one of (product, productseries, ...)19:07
leonardrlifeless: my only goal in this is to create something that launchpad will treat as a conjoined bugtask, so that i can test its behavior. what do you recommend?19:08
lifelessupstream or distro19:08
sinzuilifeless that are 2 bug tasks. how would you setup a conjoined condition in a test. the are not examples in factory as far as I can see19:08
fjlacostelifeless: catch-up call?19:09
=== fjlacoste is now known as flacoste
lifelessflacoste: yes, but give me 2 minutes to unblock sinzui and leonardr19:09
lifelessleonardr: upstream or distro ?19:09
sinzuilifeless: leonardr, I am mistaken, there is a test and it does what we are doing in the broken test19:10
lifelesstask = factory.makeBugTask()19:10
lifelessconjoined = factory.makeBugTask(bug=task.bug, target=factory.makeProductSeries(product=task.product)19:11
lifelesssinzui: ^ those two lines will make a conjoined master for upstream19:11
lifelesserm, not quite19:12
lifelessconjoined = factory.makeBugTask(bug=task.bug, target=task.product.devel_focus)19:12
lifelesssinzui: ^ that will do it19:12
sinzuiI am looking at a test that does this:19:12
sinzui    self.factory.makeBugTask(19:12
sinzui                bug=bug, target=self.product.development_focus)19:12
lifelessfollowing the definition of 'a conjoined master is a series task on the development focus of a project'19:12
lifelesswhat we should do is drop product bugs altogether.19:13
sinzuiwhich identical to: self.factory.makeBugTask(19:13
sinzui            bug=bug, target=product.development_focus)19:13
lifelesssinzui: if your product is the same product19:13
sinzuiyes, we make the bug with the same product, I pasted the lines19:14
sinzui        product = self.factory.makeProduct()19:14
sinzui        bug = self.factory.makeBug(product=product)19:14
sinzui        conjoined_bugtask = self.factory.makeBugTask(19:14
sinzui            bug=bug, target=product.development_focus)19:14
lifelesscool19:14
sinzuiwe could19:14
sinzui        product = self.factory.makeProduct()19:14
sinzui        bug = self.factory.makeBug()19:14
sinzui        conjoined_bugtask = self.factory.makeBugTask(19:14
sinzui            bug=bug, target=product.development_focus)19:14
sinzui^ disregard that19:14
lifelessso, the quest is19:14
sinzuilifeless: but the issue is that the test fails19:15
lifelesswhat is the default_bugtask19:15
lifelessI think you should not call makeBug19:15
lifelessbut call makeBugTask twice, because you *do care* about the target.19:15
lifelessthat shouldn't affect the validity though19:16
lifelesssinzui: have you looked at what ends up in the db ?19:16
lifelesssomething I do in this sort of situation is put a import pdb;pdb.set_trace() call at the point of failure, and then go sniffing19:16
lifelesssinzui: I'll chat to flacoste and come back to help you in a bit19:17
sinzuithat was what I was thinking. leonardr. we might need a IStore(conjoined_bugtas).flush()19:17
leonardrsinzui: in createBugTask?19:17
sinzuiafter the test created conjoined_bugtask, we can explicitly flush the state to the db for the query that is test a few lines later19:18
leonardri see19:18
leonardrsinzui: does it change your suggestion to know that conjoined_bugtask.conjoined_master is None immediately after it's created?19:19
sinzuino, that is a sql query19:20
leonardrok19:20
leonardri disagree--i don't think it gets to the sql, but i'll try it19:20
leonardrsinzui: after the flush, conjoined_bugtask.conjoined_master is still None and I can still set that bugtask's status to Invalid without raising an exception19:23
=== matsubara is now known as matsubara-lunch
sinzuileonardr: your line of code does not make sense. I think you are confused again. the series task is the master, the product/distro is the slave so  conjoined_bugtask.conjoined_master should always be None19:24
sinzuiconjoined_bugtask.conjoined_slave == product19:24
leonardrso i am editing the wrong task?19:25
sinzuimaybe product==slave, series==master19:25
sinzuiconjoined bugs are like X servers. The relationship is reversed. It is like the odd fact that seahorse males give birth, not femals19:27
leonardryes, that was the problem19:29
leonardrman19:29
sinzuileonardr: I just confirmed that 30-nominate-bug-for-distrorelease.txt is fixed by my change. I need to rethink 10-bug-requestdistrofix.txt.19:29
leonardrok, we're getting there19:29
sinzuileonardr: I had to restore this line in sourcepackagerecipe.py to get the tests to run19:30
sinzuifrom lp.registry.interfaces.pocket import PackagePublishingPocket19:30
lifelessflacoste: grab devpad:~mthaddon/banana.html19:35
sinzuileonardr: #3 is a duplicate of bugtask editing tests. I will remove the redundant parts and hope for a pass19:39
lifelessflacoste:     WHEN productseries IS NOT NULL THEN distribution IS NULL AND distroseries IS NULL AND sourcepackagename IS NULL19:44
leonardrsinzui: ok, my side is committed and pushed19:45
lifelessflacoste: https://lpstats.canonical.com/graphs/AppServerRequestLpnet/19:45
sinzuileonardr: did you apply my changes to 30-... from http://pastebin.ubuntu.com/577973/19:46
leonardrsinzui: no, doing that now19:46
lifelessflacoste: http://www.mongodb.org/display/DOCS/Replication19:52
leonardrsinzui: for some reason my bin/test is not finding 30-nominate-bug19:57
leonardrbut, i have applied your change19:57
sinzuileonardr: the test runner does not let you run tests our of sequence19:57
sinzuileonardr: you need to test the whole directory19:58
sinzuiwe were smoking a lot of crack in 2005 and 200619:58
leonardrah, i see. i was wondering how that test was run earlier, but earlier i'd run the whole directory19:58
leonardrok, your test fixes it20:00
mwhudsoni wonder how hard it would be to remove that sequential test feature20:00
mwhudsonprobably not hard, just very annoying20:00
sinzuileonardr: my effort to fix 10-... broke 20-... so I am fixing that too :(20:02
leonardrok, don't be discouraged20:02
jcsackettsinzui: skipping our 1to1, based on how busy you seem to be?20:05
sinzuijcsackett: yes, we can try in an hour20:05
jcsackettsinzui: sure.20:05
jcsackettlifeless: any chance you would be available to talk a bit about bug 716786?20:06
_mup_Bug #716786: Product:+filebug-show-similar timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/716786 >20:06
lifelesssure20:06
lifelessin a little bit20:06
jcsackettcool.20:06
leonardrsinzui: argh, looking at the failure message more closely i see that i neglected failures in unit tests20:14
sinzui:(20:14
=== matsubara-lunch is now known as matsubara
sinzuileonardr: my branch that increments lazr.restful to 0.17.4 passed, but was bounced because we are in rc mode. I think my branch will land before yours. maybe you should say your branch requests the same version before you submit it again20:34
leonardrsinzui: makes sense20:35
sinzuileonardr: I got rid of the duplicate parts in the 10-* test. There is still an error. I believe that bugalsoaffect.BugTaskCreationStep is not validating before creating the bugtask! We need to fix this in this branch20:39
leonardrsinzui: ok, give me a pastebin and i'll try to figure out what you mean20:40
sinzuileonardr: I mutated by test, but you can see it in your own paste. #2 and #3 are the same error. The view assumes the selected target is sane: http://pastebin.ubuntu.com/577957/20:41
leonardrsinzui: what would it mean to validate before creating the bugtask? we would call validate_new_distrotask/valid_upstreamtask and catch the exception?20:49
leonardrwhat would happen if createBugtask just threw a WidgetError? (that's what should happe nnow)20:51
thumperanyone know what happened to the builders?20:52
thumperthey both seem to have failed mid test20:52
thumperwith what looks like a missing database20:52
sinzuileonardr: I think we are too far into the view to raise an error. The field value (a distro in the test I am reading) is invalid. I do not think we should have entered the method. I expect something to set fieldError()20:55
leonardrsinzui: in that case... we have a lot of error checking code in createTask (determining the order of precedence). should we create a method that takes similar arguments to createTask and makes the check? then the view can catch the error and set fieldError20:57
sinzuioh, leonardr: I think DistroBugTaskCreationStep.validateStep() is at fault20:57
leonardryeah, something like that. except that code doesn't know about the precedence order we decided on? is that hte problem?20:58
lifelessjcsackett: hi21:00
jcsackettlifeless: hi.21:00
jcsacketti think there may be a conflict in times to talk, unless sinzui is still too busy for 1-to-1, or is good with doing it tomorrow.21:00
sinzuijcsackett: we can talk tomorrow21:01
* sinzui is free all dat21:01
sinzuiday21:01
jcsackettokay, lifeless, no conflict after all. :-)21:01
thumperleonardr: mumble ping21:01
lifelessjcsackett: I can wait for you to talk with sinzui21:01
leonardrk21:01
jcsackettlifeless: sinzui and i can chat tomorrow--it's not a pressing thing, just  a regular checkin.21:02
lifelessok21:02
lifelessso how can I help you21:02
sinzuilifeless: leonardr and I want to land this branch and never speak of it again21:02
* jcsackett wants them to land the branch as well.21:02
jcsackettso, lifeless, i'm looking at bug 71678621:03
_mup_Bug #716786: Product:+filebug-show-similar timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/716786 >21:03
jcsackettthe one about timeouts with insane fti strings.21:03
lifelessright21:03
leonardrjcsackett: actually you're in good shape, you just need the new version of lazr.restful, which will be installed anyway when _sinzui's_ branch lands21:03
jcsackettleonardr: oh, cool.21:03
leonardrmy problem is that i pulled on a thread that turned out to be the tail of a dragon21:03
jcsackettlifeless: my naive thought, based on a comment by stub on a related bug, is that maybe we just need to kick out any super long bug titles?21:04
jcsackettbut a) i'm not sure that's best and b) i'm not sure what the cap should be if it is.21:04
lifelessjcsackett: why does it do this search at all ?21:04
jcsackettshow similar is using an fti search to find any bugs similar to the one you might be reporting.21:05
jcsackettso you can say "oh, yeah, that's the issue" rather than filing a new bug.21:05
sinzuileonardr: I am uncertain what happened in the two examples. I see DistroBugTaskCreationStep.validateStep() and it does validate_new_distrotask. either we skipped that line, or multistep() never called validateStep().21:05
leonardrsinzui: on call, 1 min21:05
lifelessjcsackett: oh, its not actually on the bug filing21:06
lifelessits in the prepatory workflow ?21:06
jcsackettno, though bug 722787, which you filed against +filebug, is the from the same thing.21:06
_mup_Bug #722787: Product:+filebug timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/722787 >21:06
lifelessso title=%5Barmel%5D%20mawk%20testsuite%20fails%20(-fif-conversion2%20problem) is the sesarch string21:06
lifelessso title=%5Barmel%5D%20mawk%20testsuite%20fails%20(-fif-conversion2%20problem) is the sesarch string21:06
lifelessjcsackett: that sample query runs in 800ms on qastaging21:07
lifelessjcsackett: this may not need code changes21:07
jcsackettlifeless: i lost a bit there; accidentally closed the channel.21:07
lifelessjcsackett: I repasted21:07
jcsackettah.21:07
jcsackettso, the problem in fti is that whatever you search on, gets redone N ways, where N is number of tokens in your search string left over.21:08
lifelessyes, I put that together as a compromise21:08
lifelesswe used to do some very expensive preprocessing to filter out common terms21:08
* jcsackett nods.21:08
jcsackettso, you think this may not need code changes?21:09
jcsackettis our full text index just not up to snuff?21:09
* jcsackett confesses fair amount of ignorance on tsearch2 and the like.21:09
lifelessjcsackett: I think its db layer, stub bounced it as crazy, but I want to talk through it with him21:10
jcsackettfair. i'll mosey on to something else then. :-)21:10
lifelesswe may need to do a context-term document frequency index21:11
lifelessto permit getting back what we had21:11
lifeless-or-21:11
lifelesswe need to move ahead on the lucene thing21:11
jcsackettlucene is pretty hot. we used it at my last job.21:11
jcsackettwe were using mysql full text prior, so *huge* improvement.21:11
sinzuileonardr: I am still stepping through. We are validating, and I can see that we did a sane validation, so I now looking at the base class to see it if is creating the bugtask without the sourcepackage (which is what was validated)21:15
leonardrk21:16
lifelessjcsackett: may I humbly suggest bug 72702321:16
_mup_Bug #727023: Cve:+index timeouts <timeout> <Launchpad itself:Triaged> < https://launchpad.net/bugs/727023 >21:16
lifelessjcsackett: 20 timeouts a day21:17
lifelessjcsackett: needs eager loading21:17
jcsackettlifeless: sure, i'll take a look at that.21:17
leonardrsinzui: off the phone21:19
thumpersinzui: I'm getting google service problems21:19
thumperRuntimeError: Socket poll time exceeded.21:19
thumperstarting the google service layer21:19
thumperWTF?21:19
* thumper tries to rebuild21:20
thumperyeah, rebuild fixed it21:23
=== salgado is now known as salgado-afk
sinzuithumper: is it because you branch still says it changed something in lp.services.googlesearch21:25
thumpersinzui: no, this is the other branch :)21:25
sinzuithumper: you may need to do bin/buildout if you merged the change from from canonical or the rename from .search to .googlesearch21:27
thumpersinzui: yeah, the make fixed that21:27
sinzuileonardr: the data passed to validateStep and main_action is different. We validated spn=alsa-utils, but the action is working with spn=mozilla-firefox21:29
* sinzui now wonders if there is a very old and deep bug in the code21:30
leonardrsinzui: remind me which test file you are in?21:30
sinzuixx-duplicate-bugwatches.txt, the first test21:30
sinzuileonardr: we are on mozilla-firefox, but we are adding alsa-utils21:31
sinzuiWe validate alsa-utils, but the main_action thinks we working with mozilla-firefox21:31
leonardrsinzui: ok, and which class has the main_action?21:33
sinzuileonardr: It was DistroBugTaskCreationStep.main_action. I am stepping though it again and I see everything right so far21:35
lifelesssinzui: leonardr: would you like me to look as well? if so whats the branch21:40
leonardrlifeless: knock yourself out. lp:~leonardr/launchpad/bug-10633821:40
leonardri'll forward you the failure message21:40
leonardrwe've fixed all but one error in the pagetests, so it's just the unit test failures after shis21:40
lifelessleonardr: if its under control I'll leave it with you guys; if you need a hand I'll pull the branch and have a look21:41
leonardrsinzui: how much longer can you spend on this?21:42
sinzuileonardr: we get a LaunchpadValidationError creating a task for debian alsa-utils. This causes the view to attempt to recover (maybe by backing up a step) and it rebuilds the data from the existing context.21:44
leonardrsinzui: so instead we should set a field error and let it go?21:45
sinzuileonardr: so I need to see know why the call to validate passed, but the call to create failed21:45
leonardrsinzui: probably because the call to validate was much simpler than the equivalent validation code in create21:45
leonardrremember the complicated order-of-operations code i wrote yesterday?21:45
leonardrthat calls validate_new_distrotask in two places and calls valid_upstreamtask if neither of those was triggered?21:46
leonardri bet the validate() only calls valid_upstreamtask21:46
leonardrwell, we only call validate_new_distrotask21:47
leonardrhowever, a casual glance shows that in this case, createTask should be running the same code as validateStep()21:48
StevenKlifeless: I was having trouble working out the bug you said was in the temp directory handling, but first I wanted to get a pointer or two on fixtures, since I've not used them before.21:50
lifelessStevenK: from fixtures import TempDir21:51
lifelesswith TempDir() as dir:21:51
lifeless    cwd = dir.path21:51
lifeless   ...21:51
lifelessStevenK: fixtures implement the context manager protocol21:52
StevenKlifeless: So, just replace the outside try: with that, and it will create the directory and remove it when it falls out of scope?21:52
lifelessStevenK: the bug is that you make a directory and may not clean it up because you don't have a try: finally:21:52
lifelessStevenK: yes.21:52
StevenKlifeless: Er, I do have a try: finally:. I might not in the test, but I do in the code21:53
lifelessStevenK: whats the mp again ?21:54
leonardrsinzui: let me throw this out there. the problem is that validate_new_distrotask is called twice, once for the source package and once for the distribution21:54
leonardrit should only be called for the source package21:54
leonardrthat's what i'm seeing, anyway21:54
StevenKlifeless: https://code.launchpad.net/~stevenk/launchpad/populate-spr-changelogs/+merge/5236321:55
wgrantDo WIP MPs send mail still?21:55
lifelessStevenK: ok, so your test is definitely buggy21:55
lifelessStevenK: and your try:finally: is ok  but would be improved by using the fixture I think21:56
StevenKlifeless: Agreed. I'll look at them, thanks for the pointer and the help.21:56
lifelessStevenK: anytime21:57
sinzuileonardr: sorry, unity went belly up. validate_new_distrotas()k and bugtask.createTask() disagree about debian/alsa-utils21:58
thumperwallyworld: can you update your cards on the kanban board?21:59
leonardrsinzui: i got it21:59
leonardrthe _reason_ it was trying again with firefox was that createTask was checking alsa-utils and then debia22:00
leonardrit shouldn't have been checking debian22:00
leonardrsinzui: see if this makes sense to you: http://pastebin.ubuntu.com/578052/22:01
* leonardr hopefully checks to see if that fixed other bugs, even though it's unlikely22:03
sinzuileonardr: I think that may do the trick. I am in the condition that your paste is trying to stop22:04
leonardryeah, not really fixing other bugs, oh well22:04
sinzuileonardr: does that fix xx-duplicate-bugwatches?22:04
leonardrsinzui: yes22:05
leonardrbut not, apparently, anything else22:05
sinzuileonardr: yes. I think the first chunk I remove from the the 10.* test was needed. I will try your changes with mine22:06
leonardrok, then we can spend a little time on the unit test failures22:06
wallyworldthumper: will do22:08
leonardri think these test failures need a call to factory.makeDistroSeries22:09
leonardrsinzui: ok, i know what's going on for one of these tests, but i'm not sure what to do22:17
* sinzui listens22:18
leonardrthe test is calling self.factory.makeBugTask(sourcepackage)22:18
leonardrthis code runs in makeBugTask22:18
leonardr        if ISourcePackage.providedBy(target):22:18
leonardr            # We can't have a series task without a distribution task.22:18
leonardr            prerequisite_target = target.distribution.getSourcePackage(22:18
leonardr                target.sourcepackagename)22:18
leonardrthat gives us a DistributionSourcePackage22:18
leonardrthen we create a task for that DistributionSourcePackage, and that raises an error22:19
leonardrLaunchpadValidationError: u'Package generic-string927887 not published in Distribution927888'22:19
sinzuileonardr: I reverted my changes to 10-*. bug-also-affects passed with your change. So I think the doctests are now addressed.22:19
leonardrhow can we get that error when prerequisite_target *is* the package generic-string... as published in Distribution...?22:20
leonardrthat's why i said maybe we need to call makeSourcePackagePublishingHistory22:20
leonardrbut i'm not sure how, or if that will really help22:20
sinzuileonardr: makeSourcePackagePublishingHistory() will fix that22:20
leonardrok, 1) how do i call it, 2) what if there already is a publishing history?22:21
sinzuimakeSourcePackagePublishingHistory(series=series, sourcepackagename=dsp.sourcepackagename)22:21
leonardrwhat is 'series' here?22:22
leonardrtarget?22:22
sinzuileonardr: a distroseries possibly the development_focus of the distro22:22
sinzuileonardr: since sample data has bugger all for SPPH, there is little chance we can collide. since SPPH is a record of changes, adding publishing records jut means a new version was released22:23
wgrantthumper: Do we send email for WIP MPs still?22:24
thumperwgrant: not on creation22:24
lifelesswgrant: not when creaeted WIP IIRC. possibly not on changes either.22:24
wgrantGreat, thanks.22:24
thumperwgrant: there are a few nitty bits around commenting on WIP22:24
thumperif you change the description or commit message, it doesn't send email22:24
lifelessjcsackett: why is bug 731841 critical?22:25
_mup_Bug #731841: rosetta-admins team cannot change project translation settings <Launchpad itself:Triaged> < https://launchpad.net/bugs/731841 >22:25
thumperif you request reviews, it "shouldn't", I'm not sure if it odes22:25
jcsackettlifeless: i misread it earlier, thought they were getting an OOPS, not just a "you're not allowed here"22:25
lifelessfixing22:26
leonardrok, that got rid of a lot of the errors22:26
jcsackettdig.22:26
leonardrsinzui: http://pastebin.ubuntu.com/578065/22:27
sinzuileonardr: that looks good22:28
leonardrok, on to the next one22:28
leonardrwe have this code:22:28
leonardr               bug = self.factory.makeBug(22:28
leonardr                    distribution=self.searchtarget.distribution)22:28
leonardr                bugtask = self.factory.makeBugTask(22:28
leonardr                    bug=bug, target=self.searchtarget)22:28
leonardrthat gives this error, i think correctly:22:29
leonardrThis bug is already open on Distribution360034 with no package specified. You should fill in a package name for the existing bug.22:29
sinzuileonardr: I think the test is bad.22:30
sinzuiwe should provide a package or makeup a new distro22:30
leonardrself.searchtarget is a DistributionSourcePackage22:30
leonardrit has a .sourcepackagename22:30
leonardrso maybe it's not a bad test?22:31
leonardrsinzui: that error is given by validate_new_distrotask(bug, distribution, sourcepackagename) when sourcepackagename is not None22:34
leonardri would only expect it when sourcepackagename is None22:34
leonardrARGH22:35
leonardrnow i understand the error message22:35
leonardrit's saying "you shouldn't be filing this bug"22:35
=== matsubara is now known as matsubara-afk
thumperleonardr: hi, how to I stop exporting an attribute in devel?22:35
leonardrthumper: pass in ('devel', dict(exported=False)) right after the field object22:35
thumperleonardr: no need22:36
leonardrk22:36
thumperleonardr: it is only exported in devel22:36
thumpernot in the others22:36
thumperso I can just kill it22:36
leonardryup22:36
leonardrsinzui: so, yes, i think the test is wrong. what would be a better test?22:36
sinzuileonardr: yes, the test is wrong, not the code22:36
leonardri don't think "provide a package or make up a new distro" makes sense here, but i could be wrong22:36
sinzuiwe can create a new dsp22:36
leonardrsinzui: for context, this is test_bugtask_search.py line 32722:37
wgrantsinzui: I hear you... but I'm muted, and Unity is not showing Mumble's notification area icon.22:37
wgrantsinzui: Any hints?22:38
leonardrsinzui, i am eod and then some. i've pushed my changes. did i give you the list of unit tests that failed?22:46
sinzuileonardr: no you did not. I have few hours left in my day22:46
leonardrok, let me give you the master list and you can chip away at it. i think there are only 2 or 3 distinct bugs, despite the huge number of failure22:47
leonardrs22:47
leonardrsinzui: http://pastebin.ubuntu.com/578071/22:47
lifelessugh23:09
lifelessdid something break date formatting recently?23:09
lifeless----------------------------------------------------------------------23:09
lifelessFile "lib/lp/registry/tests/../stories/webservice/xx-project-registry.txt", line 932, in xx-project-registry.txt23:09
lifelessFailed example:23:09
lifeless    print milestone['date_targeted']23:09
lifelessDifferences (ndiff with -expected +actual):23:09
lifeless    - 2005-06-06T00:00:0023:09
lifeless    + 2005-06-0623:09
lifelessStevenK: wgrant: you guys watch CI like hawks - seen anything like that recently ?23:10
StevenKlifeless: I can't recall anything23:11
StevenKr12561 on Jenkins had no failures.23:11
wgrantlifeless: I've never seen that before.23:12
wgrantThat field was changed a few months ago.23:12
lifeless    for milestone in firefox.milestones:23:12
lifeless        print '%-7s %s' % (milestone.name, milestone.dateexpected)23:12
lifelessDifferences (ndiff with -expected +actual):23:12
lifeless    - 1.0     2056-10-16 18:31:44.29344823:12
lifeless    + 1.0     2056-10-1623:12
lifeless      1.0-rc1 2018-10-0123:12
wgrantMaybe lazr.restful has changed?23:12
leonardrthe changes to it haven't landed recently, and there weren't any changes like that...23:13
wgrantlifeless: Where are you seeing this failure?23:13
bachi sinzui, quick JS test question?23:14
sinzuiI hope I know the answer23:14
lifelesswgrant: my storm branch23:15
lifelesswgrant: my with branch, I mean23:15
wgrantMaybe Storm has started returning proper dates...23:15
lifelessoh that would be just typical23:16
wgrant386. Merged datetime-in-datevariable23:16
wgrantLast rev on lp:storm23:16
lifelessyeah23:16
lifelessI'll generate a storm tarball without it23:17
wgrantPlease also push up a branch with it backed out...23:17
lifelessyes23:17
lifelessthats what I'm doing23:17
wgrantGreat.23:17
lifelessafter I confirm it, of course23:18
lifelessI've also got this weird thing with subscription tests23:20
lifelessone less query than expected23:20
wgrantHah23:20
wgrantReduce the number of queries issued when retrieving an object with23:21
wgrantStore.get() for which we have an existing invalidated Python object23:21
wgrantavailable.23:21
StevenKAnd that's a problem?23:21
wgrantOh, that is awesome.23:21
wgrantMerge it merge it merge it.23:21
lifelessStevenK: it is when the tests are written with an exact match23:21
StevenKIt certainly got wgrant excited23:21
wgrantIt's going to make query tests not suck.23:21
lifelessyeah23:22
StevenKlifeless: http://pastebin.ubuntu.com/578091/23:25
lifelesswith TempDir as tmp_dir:23:27
lifelessshould be23:27
lifelesswith TempDir() as tmp_dir:23:27
lifelessand23:27
lifeless+                    tmp_dir, 'extracted')],23:28
lifelessshould be23:28
lifeless+                    tmp_dir.path, 'extracted')],23:28
lifelessditto on its other uses23:28
lifelessStevenK: the fixture isn't a path itself, its an object with the path on .path23:29
StevenKRight23:29
StevenKlifeless: Then http://pastebin.ubuntu.com/578092/ should be good23:29
lifelesslooks good23:30
lifelesstests will tell you23:30
StevenKSure, I just wanted to hear your thoughts23:30
lifelesssure :) just saying my built in interpreter is an imperfect oracle :)23:31
lifelessas for my branch23:31
lifelessdown to just a checkwatches fail23:31
lifelesswgrant:23:32
lifeless    - ...SELECT 1 FROM BugTracker WHERE BugTracker.id = ...23:32
lifeless    - ...Transaction completed, status: Active...23:32
* StevenK waits for the car alarm to SHUT UP23:32
lifelesswgrant: i don't see that subselect23:33
lifelessand the last line of the timeline is23:33
lifeless    + 00016-00016@SQL-nostore Transaction completed, status: Committed23:33
StevenKRARGH, need to run make schema before tests, HULK SMASH23:36
lifelesswgrant: for future reference https://code.launchpad.net/~lifeless/storm/with-without-datetime23:39
lifelesswgrant: lp:~lifeless/launchpad/bug-731679 is all go except this checkwatches change now.23:41
lifelesswgrant: I'm nagging you cause the test looks like one you did :)23:43
wgrantlifeless: Back, sorry.23:47
wgrantlifeless: Do you have a full paste of that error?23:47
lifelesscan do23:47
wgrantI think just dropping the SELECT 1 statement is probably best, but I'll check.23:48
lifelesshttp://pastebin.com/MV3yQfrt23:48
wgrantStevenK: Does loganberry have a memcache set up?23:48
wgrantIt might not.23:49
wgrantCheck the configs.23:49
wgrantlifeless: Replace the "...SELECT 1 [...]" line with "...SELECT BugTracker...", I guess. That test will hopefully die next week, but we might as well keep it mildly useful until then.23:50
lifelesswhat happened to the SELECT 123:50
wgrantThe Storm revision eliminates that.23:50
lifelessrighto23:51
wgrantOn an invalidated object it used to do a SELECT 1 to check its existence, then select its data when it was used.23:51
wgrantNow it just grabs the data in the first query.23:51
wgrantOn a related matter, what is your opinion on LessThan vs Equals for query test?23:52
wgrant+s23:52
wgrantI think Equals is probably better, as it ensures we are never regressing.23:53
lifelessdepends on the test23:53
lifelessso23:53
lifelessit would be sad to have to change 5K tests when we fix traversal to be better23:54
wgrantTrue.23:55
lifelessok, pqmed23:57
lifelesswgrant: I think things that are really isolated and specific should be specific23:57
wgrantRight.23:57
lifelesswgrant: things that are not really isolated and depend on the behaviour of many subcomponets should be less sensitive23:57
lifelesswgrant: while still providing a solid backstop23:57
StevenKwgrant: Can you recall if there a bug for older SPRs not having .changelog?23:58
wgrantStevenK: I don't think so, but I don't know for sure.23:58
StevenKMeh, filing one23:58

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