/srv/irclogs.ubuntu.com/2015/01/09/#launchpad-dev.txt

wgrantblr: Hi00:05
blrhello!00:06
wgrantblr: Colin can't do his Monday evening next week, so how does your Wednesday morning work for a meeting?00:06
blrsure00:06
cjwatsonI think that works here.  Kirsten's sometimes out on Tuesdays which leaves me looking after the children, but if we're talking about something like 23:00 London then that would normally be OK, I think.00:21
cjwatsonOf course the difference shifts radically between winter and summer ...00:22
cjwatson2300 London is, what, 1000 for wgrant and 1200 for blr?00:23
wgrantI think so.00:23
wgrantI can easily do 3-4h earlier, but I suspect that makes it clashier for you.00:23
cjwatsonYeah, that's kind of pessimal here00:24
blr11 for me currently I think00:24
wgrant90 minutes ago, so midday for you.00:24
cjwatsonWe should probably replan in summer rather than trying to find something that has 2h of tolerance with no practical experience00:24
wgrantDefinitely.00:24
cjwatsonSilly planet00:24
cjwatsonWell, silly DST00:25
blrtimezones are such a nuisance.00:26
wgrantWe should all move to Queensland.00:26
* blr plays the NZ gigabit fibre trump card00:26
wgrantYeah yeah, you and your marginally less insane government.00:26
blr_marginally_00:27
StevenKGigabit fibre with a silly name00:28
blrwell cjwatson and wgrant, I can try to be flexible around times, tend to be up fairly early00:30
blrand happy to hop on a hangout late if that also works on the other side00:31
cjwatsonI think there's few enough of us that we can have a bit of slippage00:31
wgrantWe'll have more in APAC soon to swing it our way :P00:31
cjwatsonYeah, if anything I'm more likely to find it occasionally convenient to be later00:31
cjwatsonChances of having the children in bed before 10 < chances of Australia having a sane government00:32
blrhahah00:32
wgrantHeh00:32
cjwatsonBut we can see how it goes00:33
cjwatsonNight00:34
wgrantNight00:34
blrg'night00:34
wgrantHrm00:46
wgrantSo the librarian leak is not technically a leak at all. The HTTPConnection cycles are collectable, it's just that the GC doesn't run in time at a particular load level.00:47
wgrantLocally, 200rps is fine but 100rps eventually dies00:47
thomiohai03:41
blro/03:46
wgrantMorning.03:47
wgrantthomi: Your fix is on qastaging now, btw. Please check that it does what it says and doesn't break anything obvious, then change the bug tag from qa-needstesting to qa-ok.03:47
wgranthttp://lpqateam.canonical.com/qa-reports/deployment-stable.html will then be happy and green03:47
thomiwgrant: ok, stupid question... where is qastaging?03:48
wgrantthomi: The aptly named qastaging.launchpad.net03:48
wgrantIt's a snapshot of the prod DB that is updated when I get around to it, automatically running the latest tested code.03:48
thomiahh03:49
thomilatest _untested_ code?03:49
wgrantTested, but not manually QAed.03:49
thomigotchya03:49
wgrantWe land code to devel, http://lpbuildbot.canonical.com/waterfall runs the test suite over any new revisions.03:50
wgrantAssuming all the tests pass, a bot pulls devel into stable.03:50
wgrantqastaging polls stable every couple of minutes and updates whenever it changes.03:50
wgrantdeployment-stable.html lists anything that's on qastaging but not on production.03:50
thomicool03:51
thomiwgrant: I'm getting timeouts on qastaging. I sure hope that's not due to my code...03:51
wgrantthomi: No, qastaging's just on a much smaller DB server03:52
wgrantOnly 32GiB of RAM03:52
thomiok03:52
wgrantIt'll take a few refreshes for the bugs homepage to load, if it ever does.03:52
thomithat makes me a little bit sad on the inside03:52
wgrantYeah03:52
thomiI have like 8GiB or RAM sitting around, I'll mail them to you :D03:52
wgrantBut qastaging's resourcing can never quite be a valid match for prod, simply because it has very little load.03:52
wgrantSo even if it had 128GiB of RAM like prod, there'd be less contention so it would be implausibly fast.03:53
blrwgrant: would you have a moment to re-review the verbose-diff branch again next week, or did you have some concerns around unhandled edge cases still?03:53
wgrantblr: I think it's probably good, but I need to torture test it.03:54
wgrantI'll get to it on Monday unless the sky keeps falling :)03:55
wgrantThanks for working through the bzrlib etc. changes. I think we have a good solution now.03:55
blrok, it would just potentially be forgotten amoungst all the git work, so thought I would mention it :)03:55
wgrantI had planned to do it before you got back, but production burning down has had me unfortunately distracted.03:56
blrhah yes03:56
blrand what was the deal with the spam thing?03:57
wgrantJust a few incompetent spammers from Egypt trying to find gaps.03:57
wgrantThey really like advertising Arabs Got Talent.03:57
blrlaunchpad seems like an unlikely vector heh weird03:57
wgrantThough my Arabic isn't very good, so I may be misinterpreting.03:57
wgrantIt's a particularly odd vector for non-English spam, since the vast majority of the content is English and anything else is very detectable.03:58
blrthey should contribtute to translations as penance03:59
wgrantHeh03:59
thomiright - I'm off for the day.04:30
thomiWill be at LCA next week, so wgrant gets a week's respite from my annoying questions.04:31
thomisee y'all in the future!04:31
blryep, about to pass out myself. wgrant the routing in cornice/pyramid is a refreshing change from django :)04:41
stubwgrant: The explicit close branch should sort the need for garbage collection under load, assuming requests.Session.close() actually closes the sockets and doesn't leave that for the garbage collector...05:33
stubwgrant: the http_connection is set (if it doesn't already exist) for all actions afaics, not just on retries.05:34
stubwgrant: But maybe we are more confident with just bumping up the fd limit and not worrying about switching to an untested-by-us python-swiftclient at this stage?05:35
stubWe would need over 100 *errors* per second to trigger the issue, wouldn't we? I guess a pentest or something might generate that many 404s.05:42
wgrantstub: the explicit close branch doesn't reliably fix it locally. I'm not sure why.05:49
wgrantWhere do you get the 100 errors per second number?05:49
wgrantIt mostly depends on how often gc.collect() is invoked.05:49
stub<wgrant> 07:47:36> So the librarian leak is not technically a leak at all. The HTTPConnection cycles are collectable, it's just that the GC doesn't run in time at a particular load level.05:50
stub<wgrant> 07:47:49> Locally, 200rps is fine but 100rps eventually dies05:50
stubOh, right05:50
stubload is load05:50
stubIf the close() branch does nothing, I guess we want to drop it (at least for now) to avoid unnecessary changes.05:51
stubI'd rather not sabotage this Swift cutover unnecessarily05:52
stubWith the 404's going back to the pool, as they were supposed too, the other errors should be so infrequent that it won't matter if gc is slow.05:54
wgrantRight, that's my theory.05:54
stubCool. Then we are done if reality agrees, apart from landing a one line patch.05:55
wgrantI wonder if it's worth looking at the new swiftclient to see if we can use its internal multithreading support rather than creating hundreds of them.05:55
wgrantAnyway, this seems to work for now.05:55
stubWe should only ever create 10 of them, really05:56
stubI didn't know enough about twisted internals to be more clever. eg. are deferToThread threads reused forever or a limited number of times? If the latter, threading.locals will leak.05:58
cjwatsonwgrant: \o/ working split-out txpkgupload16:55
cjwatsonpasses all tests, successful ftp and sftp uploads16:56
cjwatsonauthenticating against local LP authserver16:56
cjwatsonshall I release lazr.sshserver 0.1 and proceed with removing that from the LP tree?16:57
cjwatsonlp:txpkgupload exists if you want to give it a once-over.16:57
cjwatsonI expect I'll tweak things a bit as I attempt to split it out of LP and think about deployment.17:02
cjwatsonThe only thing I've noticed so far is that I probably want to make twistd --logfile DTRT rather than requiring YAML log configuration.19:14
cjwatsonI think I have roughly suitable puppet branches for deploymgr config and for switching over globally.  Need to think about the best deployment ordering at some point when it isn't 7pm on a Friday.19:16
wgrantcjwatson: Oh, excellent.22:42
wgrantcjwatson: We should probably upgrade txlongpoll while we're looking at that sort of stuff. Prod's currently using the pre-YAML version.22:43
wgrantWhat tweaking do you envisage as you split it out of LP?22:44
wgrantI'd get that working before releasing lazr.sshserver, just because there's no real reason to release beforehand and it shouldn't take long.22:44
cjwatsonwgrant: I haven't noticed anything other than making the logging a bit more graceful so far (the mechanics for this changed when switching from TAC to plugins and there were a few ways I could have done it), but I haven't played with it very much yet as I only got it working pretty close to EOD.23:51
cjwatsonpre-YAML> useful to know, that means I can't look to it for advice ;-)23:51
cjwatsonI need to figure out where to put configs for different installations.  Possibly just different command-line options from the init script.23:52
wgrantYeah.23:54
wgranttxlongpoll is also packaged for use by MAAS, but I suspect it doesn't have its own initscript.23:55
cjwatson-rw-r--r-- root/root       404 2012-03-14 16:14 ./etc/init/txlongpoll.conf23:55
cjwatsonexec /usr/bin/twistd -n --pidfile=/run/txlongpoll.pid --logfile=/var/log/txlongpoll.log txlongpoll --config-file=/etc/txlongpoll.yaml23:56
cjwatsonI don't think it's worthwhile packaging this though23:57
wgrantNo, just mentioning it for possible inspiration in terms of config handling.23:57
cjwatsonMm.  I based txpkgupload's plugin pretty directly on it.23:58
cjwatsonBut I should check back for how their logging works, since I see --logfile there.23:58
cjwatsonShould be able to release to download-cache and PyPI on Monday, anyway.23:59
wgrantYeah, I'll look over them both on my Monday, but from what I've seen they're all good.23:59

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