[00:29] <maxb> Can anyone disclose acceptably public bits of OOPS-1792H33, pertaining to the current conversation in #launchpad ?
[00:40] <wallyworld__> maxb: what do you need to know?
[00:41] <wallyworld__> maxb: looks like it was having a problem rendering the comments associated with a mp
[00:45] <wgrant> jelmer: You say in bug #681974 that you flush, but you need to commit before any other process can see it.
[00:45] <_mup_> Bug #681974: build processed with uploadprocessor while it is still set to BUILDING <Soyuz:Triaged by jelmer> <https://launchpad.net/bugs/681974>
[00:51] <maxb> wallyworld__: Can you pastebin the traceback, unless you suspect there's private info there?
[00:52] <wgrant> lifeless: Ugh, that ec2 run might have hung.
[00:52] <wallyworld__> maxb: i'll have a look
[00:52] <wgrant> canonical-config.txt in my local run exploded and hung, and the 600s timeout didn't operate.
[00:52] <wgrant> Although it passes fine on its own... sigh.
[00:54] <wallyworld__> maxb: https://pastebin.canonical.com/40201/
[03:47] <lifeless> wgrant: no, it genuinely failed
[03:48] <wgrant> lifeless: Huh. Around canonical-config.txt?
[03:49] <wgrant> Ah, got it.
[03:49] <wgrant> lifeless: It did hang.
[03:49] <lifeless> wgrant:  ok
[03:49] <wgrant> It just also had some proper failures.
[03:49] <lifeless> wgrant: I didn't look :)
[03:49] <lifeless> wgrant: I meant 'I got mail'
[03:49] <wgrant> Thanks.
[03:50] <wgrant> I'm rerunning it locally after fixing canonical-config.txt.
[03:51] <lifeless> bah, sqlalchemy mappers don't do what I want :(
[03:52] <lifeless> These class attributes exist as Python descriptors, and define instrumentation for the mapped class. The functionality of this instrumentation is very rich and includes the ability to track modifications and automatically load new data from the database when needed.
[03:58] <lifeless> [03:58] <lifeless>     Hard / Soft  Page ID
[03:58] <lifeless>       99 / 4871  Archive:+index
[03:58] <lifeless>       75 /  256  BugTask:+index
[03:58] <lifeless>       13 /  302  Distribution:+bugs
[03:58] <lifeless>       10 /  347  Distribution:+bugtarget-portlet-bugfilters-stats
[03:58] <lifeless>        8 /  122  ProjectGroupSet:CollectionResource:#project_groups
[03:58] <lifeless>        7 /  156  POFile:+translate
[03:58] <lifeless>        5 /   96  Question:+index
[03:58] <lifeless>        5 /   14  DistroSeriesLanguage:+index
[03:58] <lifeless>        5 /    5  ProjectGroup:+milestones
[03:58] <lifeless>        5 /    0  DistributionSourcePackage:+filebug-show-similar
[04:08] <lifeless> wgrant: tell me when to pull :P
[05:01] <lifeless> wgrant: so, how did you go?
[05:01] <wgrant> lifeless: Rerunning the test suite, found a couple more failures.
[05:01] <wgrant> Still going.
[05:02] <wgrant> Just installed a VM in which to run the test suite, so I can develop in parallel.
[05:02] <wgrant> Yay for now having lots of RAM.;
[05:02] <lifeless> wgrant: and with this, you can run tests in parallel ;)
[05:02] <lifeless> how many GB of memory do yiou have?
[05:06] <wgrant> lifeless: Well, yes, that's why I'm now so interested in this stuff :P
[05:06] <wgrant> 8GiB.
[05:06] <lifeless> cool
[05:20] <wgrant> lifeless: Quite a few test failures have shown up now that canonical-config.txt is fixed to not obliterate the config. :(
[05:21] <wgrant> Most seem to be script-related, though.
[05:22] <lifeless> thank you for pulling on tihs
[05:25] <wgrant> No more testrunner explosions, so it looks like it was only canonical-config.txt that was being really bad.
[05:28] <wgrant> I guess once this is fixed, the librarian stuff should mostly fall into place.
[05:28] <lifeless> wgrant: well, I hope so :)
[05:28] <lifeless> wgrant: I'm not aware of any actual bugs in the librarian branch
[05:28] <wgrant> Well, all the scripts will be using the right config.
[07:57] <lifeless> wgrant: any luck?
[08:02] <wgrant> lifeless: Been doing other stuff, but looking at various isolation issues now.
[08:02] <lifeless> if you want to bounce them around feel free
[09:08] <afuentes> Is there a page in launchpad with stats about launchpad?
[09:09] <afuentes> like more active projects?
[17:35] <lifeless> jml: lp.testing.monkey_patchs looks redundant with testtools patch to me
[17:35] <lifeless> jml: does it to you?
[19:39] <jml> lifeless_: maybe. will look into it soon.
[19:39]  * jml gotta run
[20:01] <lifeless> wallyworld: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html - you've worked with this in detail, right ?
[20:50]  * wgrant stabs Windmill.
[20:51] <lifeless> good morning to you too
[20:51] <wgrant> Morning.
[20:51] <wgrant> A few test runs later, I've fixed another couple of issues, seem to be down to fourish real failures. But Windmill hung overnight so I don't know for sure.
[20:52] <wgrant> And now the testrunner won't wake up.
[20:52] <lifeless> :(
[20:53] <wgrant> lifeless: What was your intention with BaseLayer.appserver_config? In some places it's used as a method, in others an attribute. In some it needs to contain a ConfigFixture, in others a CanonicalConfig.
[20:54] <wgrant> For now I've moved the fixture to appserver_config_fixture, and things seem to work a bit better.
[20:54] <lifeless> mm
[20:56] <lifeless> wgrant: its meant ot be a fixture and never a CanonicalConfig
[20:56] <lifeless> wgrant: I think you're confused by LayerProcessController
[20:56] <lifeless> oh.. I see
[20:57] <wgrant> Yes... the method creates a CanonicalConfig.
[20:57] <wgrant> And appserver_root_url assumes that it is.
[20:57] <lifeless> this is a conflict with devel
[20:57] <wgrant> Ahh.
[20:57] <lifeless> devel added appserver_config incompatibly.
[20:57] <lifeless> I would move the appserver_config method out of the way
[20:58] <lifeless> or do config -> config_fixture
[20:58] <lifeless> as well as appserver_config -> appserver_config_fixture
[20:58] <lifeless> they are paralleled
[20:58] <wgrant> Right, I failed to check the origin of the method. Probably should have.
[20:58] <wgrant> I've already renamed it to appserver_config_fixture, so I'll do it for config_fixture.
[20:58] <wgrant> Thanks.
[20:59] <lifeless> note the helper methods that set attributes
[21:01] <wgrant> I'm currently setting appserver_config_name whenever the fixture is set. Is that necessary, do you think?
[21:03] <lifeless> wgrant: thats what make_config does
[21:04] <wgrant> lifeless: It sets the fixture, not the name.
[21:04] <lifeless> oh right
[21:04] <wgrant> The new method needs the name.
[21:04] <lifeless> seems reasonable offhand
[21:05] <lifeless> note that the config_name may be set without a config fixture for the persistent test helper case
[21:06] <wgrant> Right.
[21:06] <wgrant> Apart from occasioanl Windmill hangs, all the layers seem to start now.
[21:08] <lifeless> cool
[21:08] <lifeless> I'd love to remove the persistent helper case
[21:08] <lifeless> but I think things are still a little slow for that
[21:34] <wgrant> lifeless: Why'd you remove the DB setup from _runAppServer (r11743)? That causes AppServerLayer to explode when the test before its starting committed, because the DB doesn't exist.
[21:34] <wgrant> eg 'bin/test -1cvvvt blacklist_not_public -t TestBugScaling.test_messages_query_counts_constant'
[21:35] <lifeless> 'before it' ?
[21:35] <lifeless> the commit message makes sense to me
[21:35] <wgrant> lifeless: If a test commits, testTearDown drops the DB.
[21:35] <wgrant> lifeless: testSetUp will then set it up again.
[21:35] <lifeless> yes
[21:36] <wgrant> So if the last test in a layer commits, and AppServerLayer is started immediately afterwards, AppServerLayer will start an appserver without a DB.
[21:36] <lifeless> what layer are you in
[21:36] <lifeless> AppserverLayer.testSetUp should cater for that
[21:36] <wgrant> AppServerLayer.setUp starts the appserver.t
[21:36] <wgrant> testSetUp hasn't been called at that point.
[21:37] <lifeless> so
[21:37] <lifeless> to be clear
[21:37] <lifeless> a test outside the layer causes the db to go
[21:37] <lifeless> but the db layer is still 'live'
[21:37] <wgrant> Exactly.
[21:37] <lifeless> then the appserver layer is started
[21:38] <lifeless> but the invariant of its higher layer being valid is false
[21:38] <lifeless> sounds like a bug in the db layer
[21:38] <lifeless>  / in the layer design
[21:38] <wgrant> How can it know that a child is being set up?
[21:39] <lifeless> this can break any other layer where the layer setup wants to use the db
[21:39] <wgrant> (I've confirmed that calling testSetUp in the children's setUp fixes everything)
[21:40] <lifeless> the invariant I'd look for is 'between tests, the db is available, so that child layers can build on it'
[21:40] <wgrant> So perhaps testTearDown should recreate it. Hmm.
[21:41] <wgrant> Or testSetUp could be called on layer changes.
[21:43] <lifeless> so the reason I removed it is it was a layering violation
[21:43] <wgrant> Right.
[21:45] <lifeless> so
[21:46] <lifeless> testSetup is slightly different
[21:46] <lifeless> how about this
[21:46] <lifeless> http://pastebin.com/z6wZCc9M
[21:47] <lifeless> and then
[21:47] <lifeless> http://pastebin.com/y1daKate
[21:48] <lifeless> thats not quite right
[21:50] <lifeless> it will do setUp twice per test which we don't want
[21:51] <wgrant> Will it? How's it different from the case where it wasn't dropped in the first place?
[21:51] <lifeless> resetting sequences is non-zero time.
[21:53] <wgrant> Ah,t rue.
[21:54] <lifeless> Pushing this:
[21:54] <lifeless> http://pastebin.com/P2i1wbzc
[21:54] <wgrant> I've pushed a bit more to mine that you might want to merge.
[21:54] <lifeless> I haven't run the db layer tests yet. they may fail.
[21:54] <wgrant> k, will try.
[21:56] <lifeless> pushed lp:~lifeless/launchpad/databasefixture; whats your branch again ?
[21:56] <wgrant> s/lifeless/wgrant/
[21:57] <wgrant> Heh, you committed a syntax errorl
[21:57] <wgrant> Missing colon on 697.
[21:57] <lifeless> win
[21:57] <lifeless> uncommitting ;)
[21:57] <wgrant> pull my stuff and I'll get this working and commit.
[22:02] <lifeless> pushed
[23:18] <wgrant> Windmill tests are sloooooooooow.
[23:19] <lifeless> :(
[23:19] <wgrant> OTOH I think this run may be clean.
[23:19] <lifeless> is that 'page loads are slow' or 'it polls rather than events' or '...' ?
[23:19] <wgrant> Both.
[23:20] <wgrant>  lp.bugs.windmill.tests.test_bug_inline_subscriber.TestInlineSubscribing.test_inline_subscriberNo handlers could be found for logger "lazr.smtptest"
[23:20] <wgrant> That can't be right.
[23:20] <wgrant>  (166.994 s)
[23:22] <lifeless> one test ?
[23:22] <wgrant> It seems so.
[23:22] <lifeless> win
[23:23] <wgrant> There's a disturbing number of wats.sleep(5000)s in that test.
[23:24] <lifeless> frell
[23:29] <lifeless> LOL https://bugs.launchpad.net/launchpad-foundations/+bug/5814/comments/2
[23:29] <_mup_> Bug #5814: want to know breakdown of test run time by area of development <build-infrastructure> <Launchpad Foundations:Triaged by flacoste> <https://launchpad.net/bugs/5814>
[23:29] <wgrant> Ahahaha.
[23:30] <lifeless> yes, 9 minute test times being a problem.
[23:30] <wgrant> Well, that was only part of the suite.
[23:30] <lifeless> no
[23:30] <lifeless> it was everything - just not sourcecode/*
[23:31] <wgrant> Oh.
[23:47] <lifeless> wgrant: still, good news about the branch
[23:50] <wgrant> lifeless: 3/4 through the run, four failures which I've fixed. And your fix for the DB thing worked.
[23:50] <wgrant> So we may be good.
[23:50] <lifeless> wgrant: you're running everything ?
[23:51] <wgrant> lifeless: Yes.
[23:56] <wgrant> Hrmph.
[23:56] <wgrant> test_db_naming_LP_TEST_INSTANCE_set fails.
[23:57] <lifeless> bwah